上下にスクロールするかキーボードの上下キーを使うと、次の学習カードへ進めます。

イントロ

コンピューティングサービスの選び方

何を動かし、どこまで管理するかで選ぶ

AWSのコンピューティングサービスは、アプリを動かす場所を提供します。EC2、コンテナ、Lambda/Fargateは管理する範囲が違います。

定義

AWSコンピューティングサービス

教科書では
仮想サーバー、コンテナ、サーバーレス実行環境など、アプリケーションの処理を実行するためのサービス群。
言いかえると
Amazon EC2は仮想サーバー、コンテナはアプリを箱に入れて動かす考え方、AWS Lambdaはサーバー管理を意識せずコードを実行する選択肢です。
比較
選択肢向く場面管理の感覚
EC2仮想サーバーを細かく扱うOSや容量を意識する
ECS/EKSコンテナ化済みアプリコンテナ単位で動かす
Lambda短い処理やイベント処理コード中心で考える
Fargateコンテナをサーバーレスに動かすサーバー管理を減らす

選択肢EC2

向く場面
仮想サーバーを細かく扱う
管理の感覚
OSや容量を意識する

選択肢ECS/EKS

向く場面
コンテナ化済みアプリ
管理の感覚
コンテナ単位で動かす

選択肢Lambda

向く場面
短い処理やイベント処理
管理の感覚
コード中心で考える

選択肢Fargate

向く場面
コンテナをサーバーレスに動かす
管理の感覚
サーバー管理を減らす

管理するものが多いほど自由度は高く、少ないほど運用負担は下がりやすい。

要点

読み分けの合図

問題文では、仮想サーバーを管理したいか、コンテナか、コード実行だけかを見る。 よくある誤解: LambdaはEC2の小さい版だと思う。

  1. 1

    Amazon EC2の役割

  2. 2

    コンテナとの違い

  3. 3

    用途で選ぶ

図解コンピューティングサービスの選び方の関係を短いラベルで整理した図
管理する範囲と実行単位でサービスを並べます。EC2、コンテナ、Lambdaを同じものとして覚えないようにします。 何を分けるかをこの図で確認します。
場面
画像がアップロードされた時だけサムネイルを作る。
順に考えると
常時サーバーを持つ必要が薄く、イベントに反応して短い処理を実行したい場面です。入口の判断ではLambdaが候補になります。 判断軸は、仮想サーバーを管理したいか、コンテナか、コード実行だけかを見る。
ここが結論
処理の動き方を見れば、仮想サーバーかサーバーレスかを選びやすくなります。 迷ったら、Amazon EC2とコンテナを分けます。
注意

サーバーレスはサーバーが無い意味ではない

確認

確認テスト

Q1

イベントが起きた時だけ短いコードを実行したい場面で、入口として最も近いサービスはどれですか。

まとめ

まとめ

  1. 1

    EC2は仮想サーバー

  2. 2

    コンテナは実行環境をまとめる考え方

  3. 3

    Lambdaはコード実行中心

  4. 4

    管理範囲と用途で選ぶ