EC2インスタンスの起動フローと基礎
AMI、インスタンスタイプ、ネットワーク、ストレージ、キーペア、ユーザーデータ、IAMロール、起動テンプレート、プレイスメントを試験向けに整理します。
EC2 とは(試験での位置づけ)
Amazon EC2 は、仮想サーバー(インスタンス)を数分で起動し、使った時間(または秒)に応じて課金するコンピュートサービスです。OS は AMI で選び、CPU/メモリは インスタンスタイプ、ディスクは EBS やインスタンスストア で構成します。ELB・Auto Scaling と組み合わせて高可用・スケールする、というのが信頼性トレーニングの典型的な流れです。
起動時に決める主な項目
コンソールの起動ウィザードでは、概ね次の順で設定します(名称は世代で多少変わります)。
- AMI … OS・初期ソフト・ルートディスクのイメージ。AWS 提供/Marketplace/自作。
- インスタンスタイプ … vCPU・メモリ・ネットワーク性能。ファミリー選定は別トピック。
- ネットワーク … VPC・サブネット(AZ)、パブリック IP の自動割当、セキュリティグループ。
- ストレージ … ルート EBS のサイズ・タイプ、追加ボリューム、インスタンスストアの有無(タイプによる)。
- タグ … コスト配賦・自動化のためのメタデータ。
- セキュリティ … キーペア(Linux SSH 用)、IAM インスタンスプロファイル。
- 詳細 … ユーザーデータ、メタデータで可視化オプション、終了保護など。
AMI の種類
| 種類 | 説明 |
|---|---|
| AWS 提供 AMI | Amazon Linux、Windows など。パッチ適用済みイメージ(SSM 等と連携) |
| Marketplace AMI | ベンダー製。追加ライセンス料がある場合あり |
| カスタム AMI | 自社アプリ入り。コピーで別リージョン展開、DR に使う |
AMI は リージョン固有。別リージョンでは AMI コピーが必要です。
キーペアと IAM ロール
- キーペア … Linux では SSH 公開鍵認証に使う秘密鍵をダウンロード。紛失すると再接続できない場合があるため運用設計が必要です。
- IAM インスタンスプロファイル … EC2 から S3・DynamoDB・Parameter Store などへアクセスするとき、アクセスキーをディスクに置かずに権限を付与する推奨パターン。試験では「キーをユーザーデータで埋め込む」より IAM ロールが正解になりやすいです。
ユーザーデータ(User data)
インスタンス初回起動時に実行するスクリプトや cloud-init ディレクティブを渡せます(再起動だけでは再実行されない設定が一般的)。Apache のインストール、設定ファイルの取得などブートストラップ用途。長文シナリオでは Base64 や 起動テンプレートとの組み合わせが出ます。
注意 … 秘密鍵やパスワードの直書きは避け、Secrets Manager や SSM を使う設計がベストプラクティスとして問われます。
起動テンプレート(Launch Template)
起動パラメータをバージョン管理し、手動起動・Auto Scaling・EC2 Fleet で再利用します。AMI の新バージョンや インスタンスタイプ変更をテンプレートの新バージョンとして切り替える運用が一般的です。起動設定(Launch Configuration) はレガシーで、新規は起動テンプレート推奨が試験の標準答えです。
プレイスメントグループ
| 戦略 | 用途 | トレードオフ |
|---|---|---|
| クラスター | 同一 AZ 内に近接配置。HPC・低レイテンシ | AZ 障害の影響を受けやすい |
| スプレッド | 基盤を分散し相関障害を減らす | インスタンス数に上限あり |
| パーティション | 大規模で論理パーティションに分けて配置 | 分散アプリ向け |
ストレージ選択の一文(EBS とインスタンスストア)
永続データは EBS、一時キャッシュやスワップはインスタンスストア、という住み分けが教科書的です。詳細は EBS のトピックへ。
試験で落とし穴になりやすい点
- 「どのリージョンでも同じ AMI ID が使える」→ 誤り(リージョンごとに異なる ID)。
- 「ユーザーデータは毎回の起動で必ず実行される」→ 通常は初回ブート(設定による)。
- 「セキュリティグループはステートフルでインバウンドを許可すればアウトバウンドは不要」→ アウトバウンドもルールが必要な場合あり(通信の方向を読む)。
公式ドキュメント(深掘り)
重要ポイント
- ▸起動はAMI→タイプ→ネットワーク→ストレージ→タグ→セキュリティ→確認の流れが基本
- ▸ユーザーデータは初回ブート時にスクリプト実行(cloud-init)。秘密情報の直書きは非推奨
- ▸起動テンプレートでAMIバージョンとパラメータを再利用・Auto Scalingと共有
- ▸IAMロールでアクセスキーを置かずにAWS APIへアクセスするのがベストプラクティス
- ▸プレイスメントグループはクラスタ・スプレッド・パーティションで用途が異なる
このトピックの学習を完了しますか?
完了状態はいつでも切り替えられます
同じサービスの関連トピック
EC2 とコンピュート に関連するトピックを続けて確認できます。