Amazon EC2
Overview
Amazon EC2は、AWS上で仮想マシンを提供するサービス。
正式名称はElastic Compute Cloudで、頭文字を取ってEC2と呼ばれている。 Elasticは英語で”弾力のある、伸縮自在の”という意味を持つ言葉で、仮想マシンの性能や台数などをそのときどきの要求に応じて迅速かつ柔軟に拡張または縮小できるクラウドコンピューティングの特徴を表現している。
なお、仮想マシンの性能や台数を増減することをスケーリングと呼び、スケーリング方法に応じてそれぞれ以下のように表現します。
- 性能を高くするスケールアップ
- 性能を低くするスケールダウン
- 台数を増やすスケールアウト
- 台数を減らすスケールイン
さらに、EC2はLinux、Windows、Macなど主要なOSを幅広くサポートしており、要件に応じて必要なOSがインストールされたインスタンスを利用できる。
※別途ライセンスを購入する必要も、OSのインストール作業を行う必要もない
また、利用料金はOSのライセンス利用料金を含め、稼働時間単位で発生する従量課金制を採用しているため、初期費用は発生しない。
連携が容易
EC2のインスタンスタイプ
EC2インスタンスの購入オプション
EC2インスタンスには、利用目的に基づいてコストを最適化するために複数の購入オプションがある。
インスタンスが稼働するハードウェアを他AWSアカウントと共用するか否かで以下に区分される
- 共用ハードウェアを使用するインスタンス
- ハードウェアを専有するインスタンス
共有ハードウェアを使用するインスタンスの購入オプション
以下の購入オプションは他のAWSアカウントとハードウェアを共有して利用する。
- オンデマンドインスタンス
- インスタンスの起動時間に基づいた料金体系で、EC2インスタンスのデフォルトの購入オプション。開発環境など、利用が短期間のシステムに適している。
- リザーブドインスタンス
- 1年もしくは3年の長期契約を結ぶことによって、オンデマンドインスタンスよりも低価格で利用できる購入オプション。
- 1年以上にわたり継続して稼働するシステムに適しています
- 。リザーブドインスタンスは、1年契約より3年契約、前払い無しより前払い有りの方が割引率が高いです。
- リザーブドインスタンスには2つの種類があります。
- スタンダードリザーブドインスタンス(標準RI)
- 契約の途中でOSやインスタンスタイプを変更できない代わりに、コンバーティブルリザーブドインスタンスと比較して割引率がより高くなっています。
- コンバーティブルリザーブドインスタンス(コンバーティブルRI)
- スタンダードリザーブドインスタンスと比べて割引率が低い代わりに、条件が合えば契約の途中でOSやインスタンスタイプを変更できます。
- スタンダードリザーブドインスタンス(標準RI)
Savings Plans
1年もしくは3年の期間、一定のサービス使用量(1時間あたりの利用料金)を決めて契約することで、オンデマンドインスタンスよりも低価格になる購入オプションです。リザーブドインスタンスは購入時にOSやインスタンスタイプを指定する必要がありますがSavings Plansはそのような指定が不要で、契約途中に変更も可能。
また、Savings PlansはEC2に加えてLambda、Fargateにも割引を適用させるプランもあり、柔軟性の高いオプション。
スポットインスタンス
スポットインスタンスは、AWS内で使用されていないEC2インスタンスを低価格で利用で きる購入オプション。
EC2インスタンスの購入オプションの中で、もっとも割引率が高い。
スポットインスタンスの価格は、AZ内の各インスタンスタイプの需要と供給バランスに基づいて決定される。
インスタンスの需要が急増するか供給が不足する場合、インスタンスが中断されるリスクがある。
このため、インスタンスの中断が許容されるシステム(例:並列バッチ処理の一部のインスタンスなど)に向いています。
スポットインスタンスには複数のオプションがある。
その中の「スポットフリート」は必要なインスタンス数を指定することで、指定した数のスポットインスタンスが起動する。
スポットインスタンスが中断されて必要なインスタンス数を下回った場合、自動的にインスタンスを補充してインスタンス数を維持します。補充されるインスタンスにはオンデマンドインスタンスも含まれます。
スポットフリート
スポットフリートはスポットインスタンスのオプションのひとつ。
必要なインスタンス数を指定することで、指定した数のスポットインスタンスが起動する。
スポットインスタンスが中断されて必要なインスタンス数を下回った場合、自動的にインスタンスを補充してインスタンス数を維持する。
補充されるインスタンスにはオンデマンドインスタンスも含まれる。
ハードウェアを専有するインスタンスの購入オプション
以下の購入オプションは、AWSアカウント内でハードウェアを専有して利用します。
ハードウェア専有インスタンス
ハードウェア専有インスタンスは、他のAWSアカウントとは分離された専用ハードウェアでEC2インスタンスを利用できる購入オプションです。物理的なCPUソケット、コア数、ホストIDは確認できません。ハードウェア専有インスタンスは、同AWSアカウントのハードウェア専有インスタンスではないインスタンスと、ハードウェアを共有する可能性があります。
専有ホスト(Dedicated Hosts)
Dedicated Hosts(専有ホスト)は、他のEC2インスタンスとは分離された専用ハードウェアで利用できる購入オプションです。物理的なCPUソケット、コア数、ホストIDを確認できます。Dedicated Hostsのハードウェアには、ユーザーが指定したインスタンスのみ配置されます。
たとえば、CPUソケットや物理コア、仮想マシンごとに割り当てられたソフトウェアライセンスを保有している場合に、Dedicated Hosts契約のインスタンスを利用します。
Dedicated HostsはEC2インスタンスを利用する上で、もっとも購入価格が高いオプションです。
EC2のインスタンスを停止しても勝手に新しくインスタンスが起動すること
EC2のインスタンスを停止しても勝手に新しくインスタンスが作られて起動してしまうようになった。 調べていくとよくわからず設定していたAuto Scalingが原因
参考URL
EC2のデフォルトユーザについて
元々のec2-userは使うべきではない(アプリケーション用の新しいuserを作成する)
だが、以下の場合だとそのままでもいいかもしれない
そのままでもいいかもパターン
- sshで接続されるのが自分のみ
グループで使うパターン
- ユーザごとに分けるべき
EC2に別のパッケージマネージャーを入れる
ソフトウェアのコンパイルはすべての Amazon EC2 インスタンスで必要なタスクではないため、そのようなツールはデフォルトでインストールされていません。
ただし、「Development Tools」という名前のパッケージグループで利用でき、$ yum groupinstall
コマンドでインスタンスに簡単に追加されます。