EC2インスタンスの起動フローと基礎

AMI、インスタンスタイプ、ネットワーク、ストレージ、キーペア、ユーザーデータ、IAMロール、起動テンプレート、プレイスメントを試験向けに整理します。

学習順Step 28 / 203サービスEC2試験ドメイン弾力性

EC2 とは(試験での位置づけ)

Amazon EC2 は、仮想サーバー(インスタンス)を数分で起動し、使った時間(または秒)に応じて課金するコンピュートサービスです。OS は AMI で選び、CPU/メモリは インスタンスタイプ、ディスクは EBS やインスタンスストア で構成します。ELB・Auto Scaling と組み合わせて高可用・スケールする、というのが信頼性トレーニングの典型的な流れです。

起動時に決める主な項目

コンソールの起動ウィザードでは、概ね次の順で設定します(名称は世代で多少変わります)。

  1. AMI … OS・初期ソフト・ルートディスクのイメージ。AWS 提供/Marketplace/自作。
  2. インスタンスタイプ … vCPU・メモリ・ネットワーク性能。ファミリー選定は別トピック。
  3. ネットワーク … VPC・サブネット(AZ)、パブリック IP の自動割当、セキュリティグループ。
  4. ストレージ … ルート EBS のサイズ・タイプ、追加ボリューム、インスタンスストアの有無(タイプによる)。
  5. タグ … コスト配賦・自動化のためのメタデータ。
  6. セキュリティ … キーペア(Linux SSH 用)、IAM インスタンスプロファイル。
  7. 詳細 … ユーザーデータ、メタデータで可視化オプション、終了保護など。

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へアクセスするのがベストプラクティス
  • ▸プレイスメントグループはクラスタ・スプレッド・パーティションで用途が異なる

このトピックの学習を完了しますか?

完了状態はいつでも切り替えられます