Instiq
第3章 · デプロイ・プロビジョニング・自動化·v3.1.0·更新 2026/6/11·読了目安 約16分

変更要約: コンテナ運用節 s4 に図 aws-container-ops(ECR→ECS/EKS/Fargate→Container Insights)を追加。クローン基底章は SOA-C02 の図を継承済みで、図欠落は本 s4 のみだったため補完。

3.4コンテナの運用(ECS/EKS/ECR)

この節の要点

SOA-C03 で比重が増したコンテナ運用を学びます。Amazon ECS・EKS・Fargate の使い分け、Amazon ECR によるイメージ管理と脆弱性スキャン、デプロイ戦略(ローリング/Blue-Green)、サービスの自動スケーリング、Container Insights による監視とログ(awslogs/FireLens)、タスクロールによる最小権限を運用観点で押さえます。

SOA-C03(CloudOps Engineer)は、SOA-C02 と比べてコンテナ運用の比重が増えています。運用担当者は、コンテナの実行基盤の選択・イメージの管理・安全なデプロイ・スケーリング・監視を一貫して扱えることが求められます。

3.4.1実行基盤の選択:ECS・EKS・Fargate

  • Amazon ECS:AWS ネイティブのコンテナオーケストレーター。シンプルで AWS 統合が深い。
  • Amazon EKS:マネージド Kubernetes。Kubernetes エコシステム/移植性が必要な場合に。
  • AWS Fargate:ECS/EKS のサーバーレス実行(EC2 を管理しない)。ノード運用を不要にする起動タイプ。
Amazon ECR(イメージ管理+脆弱性スキャン)からイメージを取得し、ECS/EKS/Fargate のいずれかで実行し、Container Insights で監視・ログを行うコンテナ運用の流れを表した図。Fargate は ECS/EKS のサーバーレス起動タイプ。
AWS のコンテナ運用:ECR → 実行基盤(ECS/EKS/Fargate)→ Container Insights

3.4.2Amazon ECR—イメージ管理と脆弱性スキャン

Amazon ECR(Elastic Container Registry)はコンテナイメージの保管場所です。運用では イメージスキャン(基本/拡張スキャン=Amazon Inspector 連携)で既知の脆弱性を検出し、ライフサイクルポリシーで古いイメージを自動削除、イミュータブルタグで上書きを防ぎます。イメージの取得は IAM とリポジトリポリシーで制御します。

3.4.3デプロイとスケーリング

コンテナの更新は ローリング更新(既定)や Blue-Green デプロイ(CodeDeploy 連携で切替・即時ロールバック)で安全に行います。負荷に応じた拡縮は サービスの自動スケーリング(ターゲット追跡=CPU/メモリ/ALB リクエスト数などの目標値に追従)で実現します。前段に Application Load Balancer を置き、ヘルスチェックで不健全なタスクを自動的に置き換えます。

3.4.4監視・ログ・最小権限

監視は CloudWatch Container Insights(クラスター/サービス/タスク/Pod のメトリクスとパフォーマンスを可視化)で行います。ログは awslogs ドライバーFireLens(Fluent Bit 経由で柔軟にルーティング)で CloudWatch Logs などへ集約します。権限は タスクロール(コンテナ内のアプリ用 IAM ロール)と タスク実行ロール(イメージ取得・ログ出力用)を分け、いずれも最小権限にします。

運用テーマ使う機能要点
実行基盤ECS / EKS / FargateAWS統合=ECS、K8s=EKS、サーバーレス=Fargate
イメージECR(スキャン/ライフサイクル/イミュータブル)脆弱性検出と世代管理
デプロイローリング / Blue-Green(CodeDeploy)安全な切替と即時ロールバック
スケーリングサービス自動スケーリング(ターゲット追跡)CPU/メモリ/ALBリクエストに追従
監視・ログContainer Insights / awslogs・FireLensメトリクス可視化+ログ集約
権限タスクロール / タスク実行ロール役割を分け最小権限
注意

混同に注意:
ECS(AWSネイティブ)/EKS(Kubernetes)/Fargate(サーバーレス起動タイプ)——Fargate は ECS/EKS の実行方式であり別物のオーケストレーターではない。
タスクロール(コンテナ内アプリ用)タスク実行ロール(イメージ取得・ログ出力用)は別。
ECR の脆弱性スキャン(イメージの既知脆弱性)Container Insights(実行時メトリクス監視)は役割が違う。

試験ポイント

要件 → 機能」:例「EC2 を管理せずコンテナを動かす」=Fargate、「イメージの脆弱性を検出」=ECR スキャン(Inspector 拡張)、「コンテナを無停止で更新し即ロールバック」=Blue-Green(CodeDeploy)、「負荷に応じてタスク数を増減」=サービス自動スケーリング、「クラスター/サービスのメトリクスを可視化」=Container Insights、「コンテナ内アプリに最小権限」=タスクロール。

3.4.5この節のまとめ

  • 実行基盤:ECS(AWSネイティブ)/EKS(K8s)/Fargate(サーバーレス)。ECR でイメージをスキャン・世代管理
  • デプロイはローリング/Blue-Green(CodeDeploy)、拡縮はサービス自動スケーリング、前段に ALB+ヘルスチェック
  • 監視は Container Insights、ログは awslogs/FireLens、権限はタスクロール/タスク実行ロールを分けて最小権限

進捗の記録にはログインが必要です。

理解度チェック

(軽い確認用)

Q1. EC2 インスタンスを管理せずにコンテナを実行できる、ECS/EKS のサーバーレス起動タイプはどれですか?

Q2. コンテナイメージの既知の脆弱性を検出し、古いイメージをライフサイクルポリシーで自動削除できる AWS サービスはどれですか?

Q3. コンテナサービスを無停止で更新し、問題があれば即座にロールバックしたい場合に適したデプロイ方式はどれですか?

Q4. ECS/EKS のクラスター・サービス・タスクのメトリクスとパフォーマンスを可視化する CloudWatch の機能はどれですか?

Q5. コンテナ内で動くアプリケーションに最小権限を付与するために使う IAM ロールはどれですか?

Q6. コンテナの負荷(CPU・メモリ・ALB リクエスト数など)の目標値に追従してタスク数を自動的に増減させるのはどれですか?

理解度を確認第3章「デプロイ・プロビジョニング・自動化」の問題を解く