AWS認定資格 WEB問題集&徹底解説
CloudOpsエンジニア -アソシエイト
AWSサービスの一つであるAmazon EC2はどんな内容なのでしょうか?また、AWS認定資格のSysOpsアドミニストレーター -アソシエイト(SOA)に合格するためには、サービスのどんなポイントを押さえておけばよいのでしょうか?
ここでは、そんなあなたの疑問に回答していきたいと思います
1. サービス概要
Amazon EC2(Elastic Compute Cloud)は、AWS上で仮想サーバー(インスタンス)をオンデマンドに起動・停止できるコンピューティングサービスです。 物理ハードウェアの管理から解放され、数分でサーバーを立ち上げ、需要に応じて台数やスペックを柔軟に変更できます。料金は使った分だけの従量課金が基本です。
現在のEC2はNitro Systemを基盤とし、仮想化のオーバーヘッドを抑えて高い性能とセキュリティを実現しています。 主なユースケースは、Web/アプリケーションサーバー、バッチ処理、開発・テスト環境、ビッグデータ分析、機械学習、HPC(高性能計算)などです。
2. 主な特徴と機能
2.1 インスタンスファミリー
用途に応じて多様なファミリーが用意され、世代番号(例: m7g)やサイズ(large〜24xlarge等)で表します。Gravitonプロセッサ(ARM、末尾g)は高いコストパフォーマンスが特長です。
- 汎用(M/T/Mac): バランス型。Tシリーズはバースト可能(CPUクレジット)で、低負荷時にクレジットを貯め、必要時に高性能を発揮(unlimitedモードあり)。
- コンピュート最適化(C): CPU負荷の高いバッチ処理・高性能Web・ゲームサーバー向け。
- メモリ最適化(R/X/High Memory): インメモリDB、大規模キャッシュ、SAP HANA等の大容量メモリ用途。
- ストレージ最適化(I/D/H): 高IOPS・大容量ローカルストレージが必要なNoSQL/データウェアハウス向け。
- 高速コンピューティング(P/G/Inf/Trn/F): GPUや専用アクセラレータでML学習・推論、グラフィックス処理。
- HPC最適化(Hpc): EFA等と組み合わせた大規模並列計算向け。
2.2 AMIとインスタンスのライフサイクル
インスタンスはAMI(Amazon Machine Image)から起動します。AMIはOSや構成済みソフトを含むテンプレートで、リージョン単位のリソースです(別リージョンへはコピー、共有も可能)。 状態遷移は「起動 → 実行中 → 停止/休止/終了」。停止(Stop)ではEBSは保持されインスタンスストアは消失、休止(Hibernate)ではメモリ内容をEBSへ保存して再開を高速化、終了(Terminate)ではインスタンスが破棄されます(既定のEBSルートボリュームも削除)。
2.3 ストレージオプション
永続ストレージはAmazon EBS(インスタンスから独立し、停止・再起動をまたいでデータ保持。gp3/gp2/io2/io1/st1/sc1等のボリュームタイプ)、高速な一時領域はインスタンスストア(物理ホスト直結。停止・終了でデータ消失)を利用します。 オブジェクトストレージのS3や共有ファイルのEFS/FSxと組み合わせるのが一般的です。
2.4 ネットワーキング
EC2はVPC内のサブネットで起動し、プライベートIP/パブリックIP、セキュリティグループ、ネットワークACLでアクセスを制御します。 固定パブリックIPはElastic IP、複数IP・複数NICはENI(Elastic Network Interface)で実現します。 高スループット用途には拡張ネットワーキング(ENA)、HPCにはEFA(Elastic Fabric Adapter)を利用します。
2.5 プレースメントグループ
- クラスター: 単一AZ内で近接配置。低遅延・高スループット(HPC向け)。
- スプレッド: 物理ハードウェアを分散(AZあたり最大7インスタンス)。重要インスタンスの同時障害を回避。
- パーティション: 複数パーティションにグループ分けして配置。HDFS/Kafka等の大規模分散システム向け。
2.6 スケーリングと自動化
EC2 Auto Scalingと起動テンプレートを組み合わせ、負荷に応じて台数を自動増減します(ターゲット追跡/ステップ/スケジュールドスケーリング、ヘルスチェック、ライフサイクルフック)。 Systems Manager、CloudWatch、EventBridge/Lambdaと連携した構成管理・監視・自動運用も可能です。
3. アーキテクチャおよび技術要素
- ユーザーがマネジメントコンソール/CLI/SDKでインスタンスを起動。
- 指定したAMIから、VPCサブネット内に、選択したインスタンスタイプで起動。
- キーペア、セキュリティグループ、IAMロール(インスタンスプロファイル)、ユーザーデータで環境を構成。
- ストレージ(EBS/インスタンスストア)をアタッチし、必要に応じてElastic IPやENIを付与。
- Auto Scaling+ELBで高可用性とスケーラビリティを確保。Nitro Systemが基盤として性能・分離を提供。
- 購入オプション(オンデマンド/リザーブド/Savings Plans/スポット/専有)でコストを最適化。
4. セキュリティと認証・認可
- IAMロール(インスタンスプロファイル): インスタンス上のアプリが、アクセスキーを埋め込まずにAWSサービスへ安全にアクセス。資格情報は自動でローテーションされる。
- セキュリティグループ: ステートフルでインスタンス(ENI)レベル。許可ルールのみ(拒否は表現しない)。戻りの通信は自動で許可。
- ネットワークACL: ステートレスでサブネットレベル。許可・拒否の両方を番号順に評価。戻り通信も明示的に許可が必要。
- キーペア: SSH/RDP接続用の公開鍵・秘密鍵。秘密鍵は利用者が安全に保管する。
- 接続方法: SSHキーペア、ブラウザから一時鍵で繋ぐEC2 Instance Connect、SSM Session Manager(インバウンドポート・キーペア・踏み台不要、IAMで認可しログ記録可能)。
- IMDSv2: インスタンスメタデータ(169.254.169.254)はトークン方式のIMDSv2を必須化することで、SSRF攻撃による資格情報の窃取を防止できる。
- 暗号化: EBSの保存時暗号化(KMS連携)、転送時はアプリ層でTLSを利用。
5. 料金形態
EC2の料金は、稼働時間・インスタンスタイプ・OS/ライセンス・リージョン・データ転送・EBS使用量などで決まります。主な購入オプションは次のとおりです。
- オンデマンド: 秒/時間単位の従量課金。コミットなしで最も柔軟。短期・予測困難なワークロード向け。
- リザーブドインスタンス(RI): 1年/3年のコミットで割引。Standard(割引大・変更不可)/Convertible(タイプ変更可)、リージョン/ゾーン指定がある。
- Savings Plans: 一定の利用額($/時)を1年/3年コミットして割引。Compute Savings Plans(最も柔軟、Fargate/Lambdaも対象)/EC2 Instance Savings Plans(特定ファミリー・リージョンで割引大)。
- スポットインスタンス: 余剰キャパシティを大幅割引で利用。中断の可能性あり(2分前の通知)。中断に強い・ステートレスなバッチ/分析向け。
- 専有(Dedicated): Dedicated Hosts(物理サーバー占有、ソケット/コア単位ライセンス持ち込みBYOLに対応)、Dedicated Instances(専有ハードウェアだがホスト可視性なし)。
- キャパシティ予約(On-Demand Capacity Reservations): 特定AZで必要な容量を事前確保。Savings Plans/RIの割引と併用可。
6. よくあるアーキテクチャ・設計パターン
- 高可用性Webアプリ: 複数AZにまたがるAuto Scaling+ELBでEC2を冗長化し、スケーラビリティと耐障害性を確保。
- コスト最適化バッチ: 中断に強い処理をスポットインスタンス(Spot Fleet)で実行し、S3のデータを処理。
- HPC/大規模並列: コンピュート最適化+クラスタープレースメントグループ+EFAで低遅延・高スループット。
- キーレス運用: SSM Session Managerで踏み台もSSHキーも使わずに運用(インバウンドポート開放不要)。
- ハイブリッド/BYOL: ライセンス要件のあるソフトはDedicated Hostsで持ち込みライセンスを満たす。
7. 設定・デプロイ手順(ハンズオン例)
- EC2コンソールで「インスタンスを起動」を選択。
- AMI、インスタンスタイプ、VPCサブネット、セキュリティグループ、キーペアを指定。
- 必要に応じてIAMロール(インスタンスプロファイル)、ユーザーデータ、EBS、IMDSv2必須化を設定。
- SSM Session ManagerまたはSSH/EC2 Instance Connectで接続。
- CloudWatchで監視し、Auto Scaling(起動テンプレート+スケーリングポリシー)を構成。
- 不要になればインスタンスを終了(Terminate)してコストを削減。
8. 試験で問われやすいポイント
8.1 インスタンスタイプ選択
- Q: ワークロードに応じた選び方は?
A: CPU集約ならC、メモリ集約ならR/X、ストレージI/O集約ならI/D、GPUが必要ならP/G。コスト重視ならGraviton(ARM)。 - Q: 普段は低負荷で時々高負荷になるWebは?
A: バースト可能なTシリーズ(CPUクレジット、必要ならunlimitedモード)。
8.2 セキュリティグループとネットワークACL
- Q: 両者の違いは?
A: セキュリティグループはステートフル・インスタンス(ENI)レベル・許可のみ。ネットワークACLはステートレス・サブネットレベル・許可/拒否を番号順に評価。 - Q: 特定IPを明示的にブロックしたい場合は?
A: セキュリティグループでは不可。ネットワークACLのDENYルールを使う。
8.3 認証・接続とメタデータ
- Q: EC2上のアプリからS3等へ安全にアクセスするには?
A: アクセスキーを埋め込まずIAMロール(インスタンスプロファイル)を割り当てる。 - Q: SSHキーや踏み台なしで接続・監査するには?
A: SSM Session Manager(インバウンドポート不要、IAM認可、ログ記録)。 - Q: メタデータ経由の資格情報窃取(SSRF)を防ぐには?
A: IMDSv2(トークン方式)を必須化する。
8.4 購入オプションとコスト最適化
- Q: 長期・安定稼働を割引したい。柔軟性も欲しい場合は?
A: Compute Savings Plans(Fargate/Lambdaも対象)。特定ファミリー固定でより安くするならEC2 Instance Savings PlansやStandard RI。 - Q: 中断に強いバッチを最安で動かすには?
A: スポットインスタンス(中断は2分前通知)。Spot Fleetで複数タイプに分散。 - Q: ライセンス持ち込み(BYOL)でソケット/コア単位の要件がある場合は?
A: Dedicated Hosts。 - Q: 重要イベント時に容量を確実に確保したい場合は?
A: On-Demand Capacity Reservations(割引と併用可)。
8.5 ストレージ(EBS/インスタンスストア)
- Q: 停止・再起動をまたいでデータを保持したい場合は?
A: EBS(永続)。インスタンスストアは一時的で停止・終了時に消失。 - Q: 起動を高速に再開しつつメモリ状態を保持したい場合は?
A: 休止(Hibernate)でメモリ内容をEBSに保存。
8.6 可用性とプレースメント
- Q: 単一障害点を避けて重要インスタンスを分散するには?
A: スプレッドプレースメントグループ(AZあたり最大7)。 - Q: ノード間を低遅延・高スループットで結びたいHPCは?
A: クラスタープレースメントグループ+EFA(単一AZ)。 - Q: 高可用性を保ちながら負荷変動に対応するには?
A: 複数AZのAuto Scaling+ELB。
8.7 状態チェックと復旧
- Q: システムステータスチェックとインスタンスステータスチェックの違いは?
A: 前者はAWS基盤(ホスト/ネットワーク/電源)、後者はインスタンスのOS/ネットワーク設定の問題を検知。 - Q: ハード障害時に自動で復旧させるには?
A: CloudWatchアラームによる自動復旧(Auto Recovery)を設定。
8.8 IPアドレスとネットワーク
- Q: 固定のパブリックIPが必要な場合は?
A: Elastic IPを割り当てる(割り当て済みパブリックIPv4は課金対象)。 - Q: 停止すると自動割り当てパブリックIPはどうなる?
A: 解放されて変わる。固定したいならElastic IPを使う。
8.9 類似・関連サービスとの比較
- Q: サーバー管理をなくしたい場合は?
A: コンテナはECS/EKS(サーバーレス実行はFargate)、関数実行はLambda、簡易VPSはLightsail。 - Q: テナンシーの選択肢は?
A: 共有(既定)、Dedicated Instances、Dedicated Hosts。