AWS ソリューションアーキテクト - アソシエイト合格に必要な知識をまとめていきたいと思います! 今回は「EC2」になります。
EC2(Elastic Compute Cloud)
AWS上で動く仮想サーバー
EC2の料金体系
オンデマンドインスタンス
EC2を起動している時間だけ料金が発生する(従量課金方式)
利用用途
- 前払いや長期間の契約なしで、EC2の低コストや柔軟性を利用したいと考えているユーザー
- 短期間、スパイクを伴う、または予測不能な作業負荷があっても中断できないアプリケーション
- EC2で開発またはテストするアプリケーション
リザーブドインスタンス
1年・3年の年単位でEC2を契約することで、オンデマンドより割引が受けられる(長期契約方式)
利用用途
- 定常的に使用するアプリケーション
- キャパシティーを予約する必要があるアプリケーション
- コンピューティングの合計コストを削減するために、EC2 の 1~3 年間の使用を確約できるお客様
スポットインスタンス
オークション形式で使用されていないEC2を入札し、自分が入札した価格より高く入札したユーザーが出たときなどに 使えなくなる代わりに安い値段で利用できる(入札方式)
利用用途
- 開始および終了時間が柔軟なアプリケーション
- 非常に低額のコンピュート価格でのみ実行可能なアプリケーション
- 大容量の追加キャパシティーのために、緊急のコンピューティングニーズを有するユーザー
Dedicated Hosts
物理ホストサーバーを専有し、その上でEC2を起動できる
- Windows Server、SQL Server、SUSE Enterprise Server などのソフトウェアライセンスを使用できる(BYOL)
- 物理ホスト単位で課金(物理ホストの上で動くEC2に対しては課金されない)
- 管理機能が豊富でインスタンスの詳細のコントロール、リソースの可視化、CPUコアやソケットレベルの管理が可能
利用用途
- 専有サーバーのソケット数または物理コア数に応じたライセンス数が必要な場合
- コンプライアンスや規制要件
ハードウェア専用インスタンス
物理ホストサーバーを専有し、その上でEC2を起動できる
- 一部のライセンスのみサポート
- インスタンス単位で課金
利用用途
- 専有サーバーのソケット数または物理コア数に応じたライセンスは必要ない場合
- コンプライアンスや規制要件
プレイスメントグループ
インスタンス間における低レイテンシな通信実現するための機能
クラスタプレイスメントグループ
単一AZ内のインスタンスを論理的にグループ化したもの
- EC2間で低ネットワークレイテンシー、高ネットワークスループットが発生する場合に最適
- 複数のAZにまたがることはできない
パーティションプレイスメントグループ
論理的なパーティションに分散されているインスタンスのグループ
- EC2で実行する HDFS、HBase、Cassandra といった分散され、レプリケートされた大規模なワークロードに最適
- 複数のAZに分散させることが可能
スプレッドプレイスメントグループ
それぞれ異なるハードウェアに配置されるインスタンスのグループ
- 少数のEC2が互いに分離して保持される必要があるアプリケーションに最適
- 複数のAZにまたがることが可能
セキュリティ
責任共有モデル
【AWSの責任範囲】
AWS クラウドで提供される インフラストラクチャーの保護 に責任を負います。
インフラストラクチャーは AWSが持つハードウェア、ソフトウェア、ネットワーク、設備 を指します。
- 物理的な施設や設備、セキュリティ
- ハイパーバイザー
- ネットワークインフラ
- 仮想インフラ
【利用者の責任範囲】
- OSやミドルウェアの管理 (更新やセキュリティパッチを含む)
- インスタンスにインストールしたアプリケーションソフトウェアの管理
- セキュリティグループの管理
- 適切なネットワークの設定
- データの暗号化
- アカウントの管理
セキュリティグループ
EC2へのトラフィックを制限するファイアーウォールの機能
- デフォルトでは全てのインバウンドトラフィックが遮断されている
- 接続を許可するIPアドレス または セキュリティグループをインバウンドやアウトバウンドのルール適用する(ホワイトリスト型)
- アウトバウンド または インバウンドで許可した通信の戻りのトラフィックについては、許可をしなくても受信できる(ステートフル)
- 全てのルールが適用される
- ルールの変更はすぐに反映される
ネットワークACLとの違いに注意!
ネットワーク
EIP
EC2に割り当てる固定のパブリックIP
- 停止/起動しても割り当てはそのまま
- EC2を停止していると課金が発生する
設定
メタデータ
インスタンスの起動時にコマンドを渡すことができる
ユーザーデータ
インスタンスのAMI、パブリックIP、ホスト名など、EC2の各種情報を取得することができる
ストレージ
インスタンスストア
ホストコンピュータにーに内臓されている 揮発性 ストレージ
- 揮発性のため、EC2を停止/起動すると インスタンスストア上のデータは削除 される
- ただし、再起動では削除されない → 再起動では物理ホストが変わらないため
- 内臓ディスクのため、高速なI/Oが可能
- インスタンスストレージやエフェメラルストレージと呼ばれることもある
- 利用用途: 一時的な計算処理やキャッシュデータ、高速なI/Oが必要な場合など
EBS(Elastic Block Store)
EC2とは独立して管理される 永続的な ストレージ
- EC2とは独立しているため、EC2を停止/起動してもデータは保持されたまま
- 任意のAZ(アベイラビリティゾーン)に作成可能
- スナップショット(バックアップ)を取得すれば、他のAZにEBSを作成可能
- スナップショットは初回フルバックアップ、その後は差分のみ取得される
EBS最適化オプション
通常のネットワークとは別にEBS専用のネットワーク帯域を確保し、ディスクパフォーマンスを安定させるオプション
EFS(Elastic File System)
複数AZの最大数千のEC2から同時接続可能なファイルストレージサービス(概要レベルでOK)
バックアップ
AMI(Amazon Machine Image)
EBSの中のデータ(スナップショット) とEC2を構成する管理情報を含む起動テンプレート
- AMIを取得することで所有するEC2のバックアップが取れる
- 既に公開されているAMIを使用してEC2を起動することも可能