MODULE 03 / COMPUTE OPTIONS
コードとコンテナ、 実行方法を選ぶ
EC2以外にも、コードやコンテナを動かす方法があります。制御したい範囲と、AWSに任せたい管理作業から選びます。
このModuleで学ぶこと
01マネージド・サーバーレスを管理範囲で理解する
02Lambdaのイベント駆動と実行条件を説明する
03ECR・ECS / EKS・EC2 / Fargateの役割を分ける
04用途に応じて実行サービスを選ぶ
何を動かすか、 誰が管理するか
EC2では、OSやアプリケーションを細かく制御できる一方、ゲストOSの更新やインスタンスの構成を利用者が管理します。マネージドサービスでは、運用作業の一部をAWSに任せられます。管理を任せるほど、自由に変更できる基盤の範囲も変わります。
| 方式 | AWSに任せること | 利用者に残ること |
|---|---|---|
| EC2 | 物理サーバー・仮想化基盤 | ゲストOS・アプリ・構成・台数増減の設計 |
| Lambda | 通常の実行基盤・基盤のスケール | コード・依存関係・権限・イベント処理 |
| Fargate | コンテナ実行用サーバーの管理 | コンテナイメージ・リソース指定・サービス設定 |
イベントから、 コードを実行する
AWS Lambdaは、関数として用意したコードを実行するサービスです。画像のアップロード、APIからの呼び出し、ストリームの更新などをきっかけに処理できます。
関数にはコードと実行環境、トリガー、実行ロールなどを設定します。Java、Python、Node.jsなどのランタイムやカスタムランタイムを使えます。需要に応じた基盤の増減はAWSが行いますが、同時実行数などの上限は確認します。
向いている処理
リクエスト処理、画像のリサイズ、データ変換、通知など。必要なときに始まり、短時間で完了する処理に適しています。
選び直す場面
常時稼働するプロセスや、通常の関数の制限を超える長時間処理では、コンテナやバッチなどの実行方法を検討します。
コンテナは、 実行環境をまとめる
コンテナは、アプリのコード・ランタイム・ライブラリなどを、移植しやすい実行単位にまとめます。開発と本番で依存関係が異なり、「自分の環境では動く」という問題を減らせます。
数が増えると、起動・停止、配置、状態の監視、更新、台数調整をまとめて管理する必要があります。これをコンテナオーケストレーションと呼びます。コンテナは仮想マシンそのものではなく、通常はホストOSのカーネルを共有します。
保存・管理・実行、 3つの役割を分ける
| 選択する層 | サービス | 判断の軸 |
|---|---|---|
| 保存場所 | Amazon ECR | コンテナイメージを保管・配布する |
| オーケストレーション | Amazon ECS | AWSのサービスと統合し、コンテナを管理する |
| オーケストレーション | Amazon EKS | マネージドなKubernetesを使う |
| 実行基盤 | Amazon EC2 | OS・ホストの構成を細かく制御する |
| 実行基盤 | AWS Fargate | 対応する構成でホスト管理をAWSに任せる |
ECSを選ぶことと、Fargateを選ぶことは別の判断です。ECSでもEC2を実行基盤にできます。EKSはKubernetesの制御プレーンを管理しますが、ワーカーノードやアプリの管理範囲は実行方法によって変わります。
公式資料:ECSと実行基盤 ↗目的に合う、 実行サービスを選ぶ
すべての処理でEC2を直接組み立てる必要はありません。構築したい環境や運用方法が決まっている場合は、目的に合わせたサービスを使えます。
| サービス | 何を助けるか | 使う場面 |
|---|---|---|
| Elastic Beanstalk | コードと設定から実行環境を構築・管理 | Webアプリのデプロイ。基盤のEC2等にもアクセスできる |
| AWS Batch | ジョブのスケジュールと計算資源の調整 | 大量の計算・分析をまとめて実行する |
| Amazon Lightsail | 簡単に始められる構成と料金体系 | 小規模なWebサイトやアプリを運用する |
| AWS Outposts | AWS基盤をオンプレミスへ拡張 | 低遅延やデータの配置場所に要件がある |
重要ポイントと、 理解の確認
- マネージド・サーバーレスは、管理をAWSに任せる範囲の違い。
- Lambdaはイベントをきっかけに関数を実行する。
- ECRは保存、ECS / EKSは管理、EC2 / Fargateは実行基盤。
- 目的別サービスも含め、制御と運用負荷のバランスで選ぶ。
Q1. サーバーレスでも、利用者に残る責任は?
コード、依存関係、データ、権限、処理の再試行や上限への対応などです。
Q2. ECSとFargateは、同じ層の代替サービス?
違います。ECSはコンテナの管理、Fargateは実行基盤です。ECSとEC2という組み合わせもあります。
Q3. ECRへイメージを保存すると、アプリも実行される?
保存だけでは実行されません。オーケストレーションと実行基盤を選んで起動します。
Q4. EC2の自由度が高いと、何が増える?
OSやホストの構成・更新など、利用者が管理する作業も増えます。
確認に使った、 公式資料
元データ:scripts/module3.txt。提供されたトランスクリプトを意味のまとまりで再構成し、誤解しやすい箇所を以下のAWS公式資料で確認しました(2026年10月6日)。実際の操作・仕様・料金は最新版を確認してください。