MENU

【AWS Certified Cloud Practitioner】AWSのコンピューティング基礎:EC2/ECS・EKS/Lambda・Fargateを初心者向けに整理

目次

この記事のゴール(AWS Certified Cloud Practitioner 対策)

AWSの「コンピューティング(Compute)」は、試験でも実務でも頻出です。特に初心者が混乱しやすいのが、仮想マシン(EC2)コンテナ(ECS/EKS)サーバーレス(Lambda/Fargate)の違いです。

本記事では、用語を短く定義しつつ、具体例で「どれを選ぶべきか」がイメージできるように整理します。試験ガイド(CLF-C02)自体も公式に公開されています:https://docs.aws.amazon.com/aws-certification/latest/examguides/cloud-practitioner-02.html


AWSのコンピューティングを3つに分ける

AWSのComputeは、ざっくり次の3系統で理解すると整理しやすいです。

  • 仮想マシン:OSごと動かす「クラウド上のサーバー」 → Amazon EC2
  • コンテナ:アプリ実行に必要なものを箱(イメージ)にまとめる → Docker、オーケストレーションはKubernetes/AWSではECS/EKS
  • サーバーレス:サーバー管理を極力AWSに任せて、実行単位に課金 → AWS Lambda/AWS Fargate

1) 仮想マシン(Virtual Machine)= Amazon EC2

仮想マシンとは

仮想マシン(VM)は「OSが入ったサーバーを、クラウド上で借りる」イメージです。CPU・メモリのスペックを選び、OSを起動して、その上にWebサーバーやアプリを入れて動かします。

Amazon EC2とは(試験での覚え方)

Amazon EC2は、オンデマンドで起動できる仮想サーバー(インスタンス)を提供します:https://aws.amazon.com/jp/ec2/

EC2の「核」は次の通りです。

  • インスタンス:起動した仮想サーバー本体
  • OS管理が必要:OS更新、セキュリティパッチ、ミドルウェア運用などを自分で行う(責任共有モデル上)

責任共有モデルの公式説明では、EC2利用者はゲストOS(更新・セキュリティパッチ含む)やインストールしたソフト、Security Group設定などを管理する責任があると明記されています:https://aws.amazon.com/compliance/shared-responsibility-model/

EC2の具体例

  • 例1:社内向けの業務Webアプリ
    既存の構成(Linux + Nginx + PHP/Java)をそのまま持ち込みたい。OSレベルで細かく設定したい → EC2が合うことが多い。
  • 例2:学習用に「サーバー運用」を理解したい
    SSHで入り、ログやプロセス、OS設定を触りながら学ぶ → EC2は理解が深まりやすい。

2) コンテナ(Container)= Docker/Kubernetes、AWSでは ECS・EKS

コンテナとは(初心者向けの定義)

コンテナは、アプリを動かすのに必要なもの(ライブラリや設定など)をまとめて、同じ形でどこでも動かしやすくする仕組みです。よく「アプリの実行環境を持ち運べる(ポータブル)」と言われます。

代表的なコンテナ技術がDockerです(公式ドキュメント):https://docs.docker.com/

なぜKubernetesが出てくるのか(オーケストレーション)

コンテナが増えると、「どのサーバーで動かす?」「落ちたら再起動する?」「台数を増減する?」が大変になります。これを自動化して管理する仕組みがコンテナオーケストレーションで、その代表例がKubernetesです(公式ドキュメント):https://kubernetes.io/docs/home/

AWSでの位置づけ:ECS と EKS

AWSでは、コンテナを「運用しやすく」するためのマネージドサービスが用意されています。コンテナ全体の入口としてAWS公式の整理もあります:https://aws.amazon.com/jp/containers/

Amazon ECS(AWSネイティブのコンテナオーケストレーション)

Amazon ECSは、AWSが提供するフルマネージドのコンテナオーケストレーションサービスです:https://aws.amazon.com/jp/ecs/

公式ドキュメントでも、ECSは「コンテナ化アプリをデプロイ、管理、スケール」するサービスで、Dockerなどのツールと統合されていると説明されています:https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html

Amazon EKS(マネージドKubernetes)

Amazon EKSは、Kubernetesクラスター運用の複雑さを減らすフルマネージドKubernetesサービスです:https://aws.amazon.com/jp/eks/

「EKSとは」の公式説明:https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/what-is-eks.html

コンテナの具体例(ECS/EKSの使いどころ)

  • 例1:複数の小さなサービス(マイクロサービス)を運用
    API、バッチ、管理画面などを別コンテナにして独立デプロイしたい → ECS/EKSが候補。
  • 例2:Kubernetes前提のツールやノウハウがある
    既にKubernetesで運用していて、同じ仕組みでAWSでも動かしたい → EKSが候補。

3) サーバーレス(Serverless)= AWS Lambda と AWS Fargate

サーバーレスとは(誤解しやすい点)

サーバーレスは「サーバーが存在しない」ではなく、サーバー管理(プロビジョニング、パッチ適用、容量管理など)を利用者が意識しにくい形でAWSに任せる考え方です。

AWS Lambda(コードを動かすサーバーレス)

AWS Lambdaは、サーバーを管理せずにコードを実行できるコンピューティングサービスで、実行に応じて自動的にスケールし、従量課金であると公式に説明されています:https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

製品ページ:https://aws.amazon.com/jp/lambda/

Lambdaの具体例

AWS Fargate(コンテナを動かすサーバーレス)

AWS Fargateは、コンテナ向けのサーバーレスコンピューティングエンジンで、ECSやEKSと組み合わせて使います:https://aws.amazon.com/jp/fargate/

公式説明では、Fargateにより「コンテナを動かすための仮想マシン群を自分でプロビジョニング/設定/スケールする必要がない」ことが明確に述べられています(ECS向け):https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html

EKSでPodをFargate上で動かす公式説明(EKS向け):https://docs.aws.amazon.com/eks/latest/userguide/fargate.html

Fargateの具体例

  • 例:コンテナ化したWeb APIを、サーバー管理なしで常時稼働
    「Dockerで固めたアプリを動かしたい」でも「EC2の台数管理やOSパッチはやりたくない」 → ECS + Fargate の組み合わせが典型。

試験で効く!EC2/ECS・EKS/Lambda・Fargateの比較(最重要)

分類代表サービス実行単位利用者が主に考えること初心者向けの覚え方
仮想マシンAmazon EC2インスタンス(仮想サーバー)OS/ミドルウェア運用、パッチ、台数設計(責任共有モデル上も重要)「クラウド上のサーバーを借りる」
コンテナ運用Amazon ECSコンテナ(タスク/サービス)コンテナ配置・スケール・デプロイ(オーケストレーション)「AWS流のコンテナ運用」
コンテナ運用(Kubernetes)Amazon EKSコンテナ(Pod/Deployment)Kubernetesの概念で運用(マネージドK8s)「KubernetesをAWSで」
サーバーレス(コード)AWS Lambda関数(Function)イベント駆動でコード実行、権限/IAM、周辺サービス連携「イベントで動く関数」
サーバーレス(コンテナ)AWS Fargateコンテナ(ECS/EKS上)サーバー管理なしでコンテナ実行(ECS/EKSとセット)「コンテナ版サーバーレス」

よくある混同ポイント(CLF-C02の引っかけ対策)

  • Lambda と Fargate:どちらも「サーバーレス」だが、Lambdaは“関数(コード)”Fargateは“コンテナ”を動かす。
  • ECS と EKS:どちらもコンテナ運用だが、EKSはKubernetesECSはAWSネイティブのオーケストレーション。
  • ECS/EKS と EC2:コンテナは「実行形式」。実行基盤としてEC2を使うこともあるし、Fargateでサーバーレス実行もできる(FargateはECS/EKSと組み合わせる):https://aws.amazon.com/jp/fargate/
  • EC2の責任範囲:EC2はゲストOS管理(更新・パッチなど)が利用者側の責任になりやすい点が試験でも重要:https://aws.amazon.com/compliance/shared-responsibility-model/

公式情報リンク(一次情報)

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次