CLF / ドメイン3 クラウドテクノロジーとサービス

重要な内容

AWS Lambda

は、サーバーを用意せずにコードを実行できるのコンピューティングサービスです。 コードを「関数」という単位で登録しておくと、イベントの発生に応じて自動的に実行されます。

CLFでは、サーバーレスの意味、の仕組み、料金の考え方、他のコンピューティングサービスとの使い分けを判断できることが重要です。

Point
  • Lambda(ラムダ) はギリシャ文字のλに由来し、プログラミングでは「小さな関数」を表す言葉として使われます。
  • Serverless(サーバーレス) は「サーバーが存在しない」のではなく、「利用者がサーバーを管理しなくてよい」という意味です。
  • 試験で「サーバーを管理せずにコードを実行」と出たら、まずLambdaを考えます。
  • 和訳

概要

を使うと、の構築やの管理をせずに、書いたコードをそのままAWS上で実行できます。 サーバーの調達、OSのパッチ適用、需要に応じたスケーリングはAWSが担当するため、利用者はコードの作成に集中できます。

Lambdaで実行するコードは関数という単位で管理します。 代表的な使い道は、にアップロードされた画像の自動変換、と組み合わせたWeb の処理、スケジュールに合わせた定期処理などです。

概要の図 S3へのファイルアップロード Lambda関数 API Gatewayへのリクエスト EventBridgeのスケジュール・イベント コードが自動実行される

CLFでは、細かい実装方法よりも「サーバー管理なしでコードを実行したいならLambda」「イベントに反応して短時間の処理を動かすならLambda」と判断できることが重要です。


主要技術

①サーバーレスの概念と責任共有モデル

では、利用者がサーバーの台数や性能を意識する必要がありません。 では、インフラの管理、キャパシティの確保、スケーリング、実行環境のパッチ適用をAWSが行います。 利用者が管理するのは、コードそのもの、関数の設定、データ、によるアクセス権限です。

担当主な責任具体例
AWSクラウド自体のセキュリティと基盤運用物理インフラ、実行環境の、ランタイムのパッチ適用、スケーリングを担当します。
利用者クラウド内のセキュリティ関数のコード、扱うデータ、IAMの権限設定を管理します。

ではゲストOSのパッチ適用が利用者の責任でしたが、LambdaではOSやランタイムの管理までAWSが担当します。 抽象度の高いサービスほど、利用者の管理範囲が狭くなるという関係を押さえます。

⚠️ 頻出: LambdaではOSのパッチ適用はAWSの責任、コードとIAM権限の管理は利用者の責任です。「利用者がOSを管理するか」がEC2との大きな違いです。


②イベント駆動とトリガー

関数は、常に起動して待ち続けるのではなく、イベントの発生をきっかけに実行されます。 この仕組みをと呼び、実行のきっかけになる設定をトリガーと呼びます。

トリガーの例起きるイベント用途の例
オブジェクトのアップロード画像のサムネイル作成、ファイルの自動処理です。
リクエストの受信なWeb のバックエンド処理です。
スケジュールやAWS上のイベント定期実行、サービス間のイベント連携です。
キューへのメッセージ到着メッセージの非同期処理です。
②イベント駆動とトリガーの図 イベント発生例: S3へアップロード トリガー Lambda関数の実行 処理結果の保存・通知など
Point
  • Event-driven(イベント駆動) は、「何かが起きたときに処理を動かす」方式です。
  • Trigger(トリガー) は「引き金」という意味で、関数を実行するきっかけを指します。
  • 和訳

⚠️ 頻出: 「S3にファイルが置かれたら自動で処理したい」「イベントに応じてコードを実行したい」は、Lambdaのイベント駆動の典型例です。


③料金の考え方

はのサービスで、料金は主にリクエスト数(関数が実行された回数)と実行時間で決まります。 実行時間の料金は、関数に割り当てたメモリ量にも比例します。

料金に影響する要素内容
リクエスト数関数が呼び出された回数です。
実行時間コードが実際に動いていた時間です。
メモリ割り当て割り当てるメモリが大きいほど、実行時間あたりの料金が上がります。

重要なのは、コードが実行されていない間は料金が発生しないことです。 ではインスタンスが起動している限り、処理がなくても料金が発生しますが、Lambdaにはアイドル時のコストがありません。 そのため、たまにしか動かない処理や、リクエスト量の変動が大きい処理でコスト効率を高めやすくなります。

⚠️ 頻出: 「使った分だけ支払いたい」「アイドル時のコストをなくしたい」「サーバーの稼働時間ではなく実行した分だけ課金」という問題文は、Lambdaを選ぶ強いヒントです。


④実行時間の上限と向いている処理

関数の1回の実行時間には上限があり、最大15分までです。 このため、Lambdaはイベントに応じた短時間の処理に向いており、長時間動き続ける処理には向きません。

処理の特徴Lambdaとの相性判断ポイント
イベントに応じた短時間の処理向いています画像変換、通知、データの加工などです。
リクエスト量が大きく変動する処理向いています自動スケーリングとアイドルコストなしが活きます。
15分を超える長時間の処理向いていませんやサービスの利用を検討します。
常時稼働するアプリケーション向いていません常に動くサーバーが必要ならEC2などを選びます。

⚠️ 頻出: 「数時間かかるバッチ処理」「常時稼働」という条件が出たら、Lambdaではなく他のコンピューティングサービスを考えます。


⑤他のコンピューティングサービスとの選択基準

コンピューティングサービスは、利用者がどこまで管理したいか、どんな単位で実行したいかで選びます。 は最も管理範囲が狭く、コードだけを持ち込む選択肢です。

サービス実行単位利用者が管理する範囲判断ポイント
AWS Lambda関数(コード)コードと設定のみサーバー管理なしで、イベントに応じた短時間の処理を実行したい場合です。
、ミドルウェア、アプリケーションOSへのアクセスや柔軟なサーバー構成が必要な場合です。
とコンテナイメージとタスク設定コンテナ化したアプリケーションを実行したい場合です。Fargateを使うとサーバー管理が不要になります。
アプリケーションアプリケーションのコードWebアプリケーションのデプロイと環境構築をまとめて任せたい場合です。裏側ではEC2などが起動します。
Point
  • Fargate(ファーゲート) は、コンテナ用のサーバーレス実行基盤です。「コンテナ版のサーバーレス」と覚えます。
  • Elastic Beanstalk(エラスティック ビーンストーク) のBeanstalkは「豆の木」という意味で、コードを渡すと環境が自動で育つイメージで覚えます。
  • Lambdaはコード(関数)、Fargateはコンテナ、Elastic BeanstalkはWebアプリケーション一式を持ち込む、と単位の違いで整理します。

同じでも、実行したいものがコードならLambda、コンテナならFargateです。 また、Elastic Beanstalkはデプロイを簡単にするサービスであり、裏側のEC2インスタンスは存在するため、Lambdaのようなアイドルコストなしにはなりません。


試験対策

CLFの問題では、まず「サーバーを管理したいか、したくないか」を確認します。 サーバー管理なしでコードを実行したいならが有力です。 次に、処理時間、実行のきっかけ、コストの要件を確認します。

問題文のキーワード優先して考えるサービス・機能理由
サーバーを管理せずにコードを実行AWS Lambdaのコンピューティングサービスです。
へのアップロードをきっかけに処理Lambda + S3トリガーで自動実行できます。
使った分だけ支払う、アイドルコストなしAWS Lambdaリクエスト数と実行時間によるです。
決まった時間にコードを定期実行Lambda + スケジュールをトリガーにできます。
サーバーレスなWeb のバックエンドLambda + リクエストに応じて関数を実行できます。
に直接アクセスして細かく設定Lambdaでは利用者がOSを管理できません。
サーバー管理なしでを実行コンテナ向けのサーバーレス実行基盤です。
数時間かかる処理、常時稼働EC2やコンテナサービスLambdaの実行時間には上限があります。

よくある混同は、Lambda、EC2、Fargateの使い分けです。 「コードを実行」ならLambda、「」ならEC2、「コンテナ」ならやFargateという実行単位の違いで判断します。

また、「サーバーレス = Lambdaだけ」と考えるのも誤りです。 Fargateやなど、サーバー管理が不要なサービスは他にもあります。 問題文が「コードの実行」を求めているときにLambdaを選びます。


参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください