Amazon EC2 SAA 高频

AMI:カスタムイメージ、Snapshot、User Data

Amazon Machine Image, EBS Snapshot, and EC2 User Data

AMIEBS SnapshotUser DataEC2
最終整理

起動テンプレート、Volume の時点コピー、初期化 Script を区別し、Golden AMI と User Data を組み合わせます。

ひとことで

AMI は起動可能な EC2 Template、Snapshot は EBS Volume の時点コピー、User Data は起動時の初期化 Script です。

概念保存内容主な用途保存しないもの
AMISystem Template、Block Device Mapping、関連 Snapshot同一構成の EC2 を起動元の Instance ID、ENI、IP、RAM、Process
EBS SnapshotVolume の Block-level データVolume 復元、AZ / Region 間移行完全な EC2 起動設定
User Data起動時 Script環境依存の軽量な動的設定再利用可能な Image
HibernateRAM を Root EBS に保存元の Process 状態を復元Deployment Template

設計ポイント

  • EBS-backed AMI の作成では関連 Snapshot が作られ、既定の Reboot は File System の整合性を高めます。
  • AMI は Region Resource で、Region 間では Copy が必要です。
  • Public AMI でも自動的に信頼せず、Owner、Patch、出所を確認します。
  • 暗号化 AMI の Cross-account 共有では Snapshot と KMS Key の権限も必要です。
  • AMI の Deregister はすべての Backing Snapshot を自動削除しません。

推奨構成

安定して大きく、導入に時間がかかる依存物は Golden AMI に含め、環境設定・Service 登録・最後の初期化は User Data で行います。Script は冪等にし、長期 Credential を埋め込みません。

要点

AMI は「何として起動するか」、Snapshot は「Volume の時点データ」、User Data は「起動後の設定」を定義します。