Amazon EC2って何?
- AWS上に数分で作成できる仮想サーバを提供するサービス
- サーバの台数やスペックは自在に変更が可能
- 作成するサーバのOSはLinuxからWindowsまで、様々な種類が選択可能
参考・リンクまとめ
出題傾向
サーバの作成やインスタンスタイプの選択といったEC2の特性から、可用性の設計、購入オプション、AutoScalingといった設計や運用まで、非常に幅広い範囲の出題がなされます。
インスタンスタイプや購入オプションは一覧にして、それぞれどのような特徴があるのかを理解しておくといいでしょう。AutoScalingについては細かい設定値まで出題されますので、公式のドキュメントやハンズオンなども併用して体系的に理解しておきましょう。
出題ポイント
インスタンスタイプ
- インスタンスタイプとは、CPU、メモリ、ストレージ、ネットワークキャパシティーの組み合わせをユースケース毎に最適化したもの
参考・リンクまとめ
- AWS公式:「Amazon EC2 インスタンスタイプ」
このあたりが問われます!!
インスタンスタイプは覚えてない限り解けません。逆に覚えていれば、機械的に答えられますので、面倒ですがしっかり覚えましょう。
覚えるのは、頭文字だけでOKです。世代までは覚えなくても問題ありません。
絶対暗記!!
- 「インスタンスタイプ」は、「インスタンスファミリー」と「インスタンスサイズ」から構成されている。
種類 | 頭文字 |
---|---|
汎用 | A、T、M |
コンピューティング最適化 | C |
メモリ最適化 | R、X、ハイメモリ、z |
高速コンピューティング | P、Inf、G、F |
ストレージ最適化 | I、D、H |
インスタンス購入オプション
- オンデマンド、リザーブドインスタンス、スポットインスタンスや、Dedicated Host、ハードウェア専有インスタンス等、対象業務に最適かつ経済性のある購入プランを選択
参考・リンクまとめ
このあたりが問われます!!
オンデマンド、リザーブドインスタンス、スポットインスタンスのいずれかから、最適な購入形態を選択できるのは、EC2のみならず、RDS、Redshift、ElasticCache、ElasticSearch、DynamoDBでも同様です(ただし、RedshiftとElasticCacheでは「リザーブドノード」という言い方になります。)。従い、EC2だけの話として、考えるのではなく、どのような業務・システム要件の場合に、それぞれの購入形態が選択されるのかについては、理解する必要があります。
また、コストの観点からは、オンデマンド > リザーブドインスタンスとなりますので(スポットインスタンスは、その時点での需要と供給によって金額が変わりますが、一般的に、リザーブドインスタンスよりもさらに安いです。)、可能な限り、「オンデマンドで買わないようにすること」がコストを安く抑えるコツです。ただ、リザーブドインスタンスには、「使う時間を予め約束しなければならない」という弱点が、スポットインスタンスには「購入できるかわからない」というデメリットがありますので、ユースケースに応じて、最適な購入形態を選択してください。
予め、使う内容が決まっている場合、例えば、常に一定の負荷が24時間365日かかり続ける、あるいは、毎週、特定曜日の特定時間にバッチが動く場合はリザーブドインスタンスを選ぶべきです。(前者は通常の「リザーブドインスタンス」、後者は「スケジュールドリザーブドインスタンス」)
絶対暗記!!
名称 | 特徴 |
---|---|
オンデマンドインスタンス | 起動するインスタンスに対して秒単位で課金がされる |
Savings Plans | 1〜3 年の期間、EC2の利用時間に関係なく、1 時間 につき一定の料金(オンデマンドインスタンスよりも低レート)を支払うことを決めて、EC2を利用するプラン。 |
リザーブドインスタンス | 1~3 年の期間、指定したインスタンスタイプとリージョンでのインスタンスの利用を事前に予約する分、割引を受けられる。全額前払い、一部前払い、前払いなしを選択して購入する。24時間365日起動しているようなEC2インスタンスに利用。 基本的に前払いしたリザーブドインスタンスは変更不可能だが、近年差額を払えばインスタンスタイプを変更できる『Convertible リザーブドインスタンス』が登場した。 |
スケジュールドリザーブドインスタンス | 1 年の期間、指定された定期的なスケジュール(例えば日次、週次、月次)で常に使用できるインスタンスを購入する。 |
スポットインスタンス | 未使用の EC2 インスタンスに入札を行い、入札金額がスポットインスタンスの価格(変動する)を上回っていればEC2インスタンスを利用できる。例えば、データ処理などで、短期間に複数のサーバを使いたい場合などに利用。 |
Dedicated Hosts | ユーザー専用の物理マシンにインスタンスが配置される。ライセンスがマシン単位になっているソフトウェアや、他社との物理マシン共有を許さないようなセキュリティ要件がある場合に利用。物理マシン単位で課金。 |
ハードウェア専有インスタンス | ユーザー専用の物理マシンにインスタンスが配置されるが、どの物理マシンが利用されているかはユーザ側では把握できない。課金はインスタンス単位。 |
ベアメタル | 仮想サーバのように仮想化ハイパーバイザを使わず、物理サーバをそのままユーザーが利用できるサービス。 |
引用元:AWS公式:インスタンス購入オプション
AMI
- AMI(Amazon Machine Image)とは、OSのテンプレートのようなもの。EBSのスナップショットと、OSの軌道に必要な情報(ルートボリュームの情報)が組み合わさったもの
参考・リンクまとめ
- AWS公式:インスタンスとAMI
- EC2インスタンスのAMIをとろう!
このあたりが問われます!!
AMIの利用方法や運用について問われます。
AMIを利用することで、EC2を何台でも複製することができます。例えば、稼働中のWebアプリケーションをAMIに埋め込んでおけば、既存のWebサーバのスケールアウトが容易に可能です。また、最低限のOSの設定をして置き、組織横断でAMIを利用すると、構築スピードを速めることができます(このようなAMIを、ゴールデンイメージやゴールデンAMIと呼びます)。
AMIをS3に保存し、保存したAMIを他リージョンのS3バケットにコピーすることで、EC2を複数リージョンで展開することもできます。
また、作成したAMIはAWSアカウント間での共有や、公開が可能です。AWS Marketplace経由でサードパーティからAMIを購入することもできます。
セキュリティグループ
- EC2インスタンスへのアクセスをコントロールする機能
このあたりが問われます!!
基本的に、論点は、下記の2つです(両方の場合もあり。)。
- あるネットワーク要件を達成したい場合に、使うべきはネットワークACL or セキュリティグループか?
- あるネットワーク要件を達成したい場合に、セキュリティグループをどのように設定するべきか?
セキュリティグループは実際にAWSでEC2をたてて、セキュリティグループを設定することをオススメします。それが最も身につくと思います。その暇が無い方は下記のとおり、しっかりネットワークACLとの差等を覚えましょう。
また、たまに、セキュリティグループは反映にどの程度時間を要するか?という問題が出ますが、これは「即時」が正答です。(ネットワークACLも同様です。)
絶対暗記!!
種類 | 特徴 | ルール | 設定項目 | ルールの適用 |
ネットワークACL | ステートレス(片方向の通信のみ影響する) | 許可、拒否を設定可能 | ・プロトコル ・IPアドレス ・設定の優先順位 |
設定の優先順位どおりの適用される |
セキュリティグループ | ステートフル(両方向の通信に影響する) | 許可のみ設定可能 | ・プロトコル ・IPアドレス ・通信元/通信先セキュリティグループ |
即時、すべて適用される |
・特定のIPアドレスを許可したい場合・・・セキュリティーグループで設定
・特定のIPアドレスを拒否したい場合・・・ネットワークACLで設定
EBS
- EBS(Elastic Block Store)とは、EC2インスタンスにアタッチして利用できるブロックストレージ
このあたりが問われます!!
各ストレージタイプの用途について抑えておきましょう。大きくわけてSSDとHDDがあり、SSDのほうがIO性能はよくなっています。
絶対暗記!!
ボリュームタイプの種類は以下の通り。
種類 | ディスクの種類 | 特徴 |
汎用SSD | SSD | ・安定したI/O性能が利用できる |
プロビジョンドIOPS | SSD | ・gp2(汎用SSD)では対応できないI/O性能が求められる場合に利用する ・EBSの種類の中で、唯一、複数のEC2への接続が可能 |
スループット最適化HDD | HDD | ・上記2種類よりも低コストだが、性能は低い。大規模なデータを扱うときに適する場合がある。 |
コールドHDD | HDD | ・さらに低コストだがIO性能は低い。ログファイルなどのアーカイブ先として適する。 |
マグネティック | HDD | 旧世代のボリュームタイプ |
インスタンスストアボリューム
- 揮発性のブロックストレージで、EBSと異なる。EC2インスタンスに内蔵されているローカルストレージ。
参考・リンクまとめ
このあたりが問われます!!
ブロックストレージという点ではEBSと似ていますが、、大きな違いは性能と、揮発性であるということです。揮発性とは、EC2インスタンスが停止されたらデータが消えてしまう、という意味です。したがって、どういった用途で利用するのか、どういった操作をするとデータが消えてしまうのかを、必ず押さえておきましょう。
用途としては、非常に高いI/O性能が求められる場合に、インスタンスストアを利用しましょう。
絶対暗記!!
インスタンスストア内のデータが消える場合について記載します
行動 | データ |
インスタンスの停止 | 消える |
インスタンスの終了 | 消える |
インスタンスの再起動 | 消えない |
IPアドレス
- EC2には、起動時にIPアドレスが付与される。IPアドレスは、Elastic IP、パブリックIP、プライベートIPの3種類
参考・リンクまとめ
このあたりが問われます!!
EC2作成後は、IPアドレスが付与されます。付与されるIPアドレスは3種類あり、それぞれの違いを抑えておく必要があります。
また、Elastic IPについては、課金条件が出題されます。Elastic IPは、利用していないときに課金されるという特殊な課金体系になっています。例えば、ElasticIPを取得したのにインスタンスにアタッチしていない場合や、ElasticiPがアタッチされたインスタンスが停止されている場合です。
このような場合は、インスタンスにアタッチするか、そのElastic IPを開放して費用が発生しないようにするべきです。
絶対暗記!!
インスタンスストア内のデータが消える場合について記載します。
IPアドレスの種類 | 特徴 |
Elastic IP | ・サーバが再起動しても変わらない ・使用していないときに、課金される |
パブリックIP | ・サーバが再起動すると変わる ・EC2に付与しても付与しなくてもよい |
プライベートIP | ・サーバが再起動しても変わらない ・EC2に必ず付与しないといけない ・EC2構築時に、構築するサブネット内で有効なプライベートIPを指定できるが、変更はできない |
EC2のオプション
- EC2を作成する際には様々なオプションが選択可能
参考・リンクまとめ
- AWS公式:プレイスメントグループ
- AWS公式:起動時に Linux インスタンスでコマンドを実行する
このあたりが問われます!!
EC2には作成時に様々なオプションを選択することが可能です。最頻出なのが、後述する「タグ」ですが、それ以外にも、出題ポイントはありますので、確りと理解しましょう。
絶対暗記!!
種類 | 特徴 |
プレイスメントグループ | プレイスメントグループは、EC2が起動する物理マシンを近くにすることで低レイテンシを実現することです。単一のアベイラビリティゾーン内のEC2に適用できます。 |
ユーザーデータ | マシン起動時に実行するコマンドやスクリプトを定義します。例えば、起動時にNTP同期のコマンドを実行させたり、Javaのアップデートを行わせたり、といったことが可能です。 |
削除保護 | 削除保護を有効にすることで、誤ってEC2インスタンスを削除してしまうことを防止できます。 |
タグ | EC2に限ったことではありませんが、AWSではリソースにタグをつけて管理をすることが可能です。EC2作成時にも、タグを設定可能です。 タグに環境(本番/ステージング)や作成者を区別させ、コスト分析等に役立てることができます。 |
※上記4つの中で、「タグ」は最頻出です。「タグによって環境(本番/ステージング)を区別する」ことは確りと覚えて起きましょう。