EC2 - toge510/aws GitHub Wiki
- Amazon Elastic Compute Cloud (Amazon EC2)
- 仮想サーバーを提供するサービス
- OSからCPU、メモリ、ストレージなどの構成を選択して、仮想サーバーを起動できる。
ユーザーデータ
Amazon EC2 でインスタンスを起動するとき、起動後にそのインスタンスにユーザーデータを渡し、一般的な自動設定タスクを実行したり、スクリプトを実行できる。
2 つのタイプのユーザーデータ
- シェルスクリプト
- cloud-init ディレクティブ
注意メモ
- 最初の起動サイクル中にのみ実行
- スクリプトはルートユーザーとして実行。そのため、スクリプトでは sudoコマンドを使用しない。作成したファイルはすべてルートユーザーの所有になる。
- ユーザーデータスクリプトを処理すると、
/var/lib/cloud/instances/instance-id/
にコピーされ、実行される。 - 出力ログ:
/var/log/cloud-init-output.log
References
起動テンプレート Launch Templates
- 起動テンプレートを使用すると、後で再利用、共有、起動が可能な保存済みインスタンス設定を作成できる。
- テンプレートには複数のバージョンを含めることができる。
インスタンス購入オプション
- オンデマンドインスタンス
- 通常これ
- 長期契約は必要なく、料金はコンピューティング性能に対して秒単位で発生。
- スポットインスタンス
- 休止中の EC2 キャパシティーを使用するインスタンスで、オンデマンド価格より低料金で利用。
- 中断のリスクがあるため、可用性を持った構成において使うと良い。オートスケールと組み合わせで使うなど。
- Savings Plans
- 節約プラン。
- 一定のご利用量 ($/時間) を 1 年または 3 年分ご契約いただくことで、AWS のご利用料金を低く抑えることができる柔軟性のある料金モデル。
- 特定のインスタンス設定にコミットする代わりに、使用量のコンピューティングにコミットすることで (10$/時間など)、簡単に料金の削減。
- Reserved Instances
- インスタンス属性、コミットメント期間によって割引されるインスタンス。
- Dedicated Hosts 専有ホスト
- EC2 インスタンス容量を利用したお客様専用の物理サーバー。
- On-Demand Capacity Reservations
- オンデマンドEC2 インスタンスのコンピューティング能力を予約。
- 大量のオンデマンドインスタンスを使用する場合に使用する。
休止 hibernation
- 休止状態に入ると、インスタンスメモリ (RAM) に置かれていた内容が、Amazon Elastic Block Store (Amazon EBS) のルートボリュームに保存される。
- インスタンスを再起動すると、EBS ルートボリュームは前の状態に復元する。
AMI (Amazon Machine Image)
- AWS がサポートおよび管理するイメージで、インスタンスの起動に必要な情報を提供。
- EC2 image Builderにより、イメージ作成のパイプラインを作成できる。ソフトウェアの更新などをしてバージョン管理できる。
EBS (Elastic Block Store)
- EBSは、EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供する。
- EBSストレージは永続化可能。
- SnapshotをS3に保存可能。
- AZ内で使用。
- EBS Snapshot Archive: アーカイブしてストレージコストを節約。復元が有料。ほぼ使わないけど、たまに使うかもしれないSnapshotを対象とすべき。
- Recycle Bin: ゴミ箱ルール(保存期間とか)。
- DLM(Data Lifecycle Manager)を使用して、EBS スナップショットと EBS-backed AMI の作成、保持、削除を自動化。バックアップ自動化。
※ EC2が利用するストレージとして、インスタンスストアがある。これは、一時ストレージ。
※ ルートボリュームとは、インスタンスを起動し実行するためのOSが割り当てられているAmazon EBSのボリューム。
- ストレージタイプ
- ブロックストレージ(EBS,インスタンスストア)
- オブジェクトストレージ(S3)
- ファイルストレージ(EFS)
ENI (Elastic Network Interface)
- 仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネント。
- EC2インスタンスにアタッチされる。
- IP addressが割り当てられる。
- Elastic Fabric Adapter (EFA) は、High Performance Computing (HPC) と機械学習アプリケーションを高速化するために Amazon EC2 インスタンスにアタッチできるネットワークデバイス。
プレイスメントグループ
- 複数のEC2を論理的にまとめる仕組み(冗長性向上、ネットワーク性能向上)