変更要約: in-scopeサービス網羅(軸B): s1にEKS/EFS、s2にAppSync/ELB/Route 53/WAF、s3にAuroraの定義・役割・選択基準を追記。
1.1AWS Lambda とサーバーレス
AWS Lambda の基礎(イベント駆動・サーバー管理不要・課金モデル)、ハンドラーと実行環境、メモリ/タイムアウトとコールドスタートといったサーバーレス開発の出発点を理解します。DVA-C02 の「AWS サービスを使った開発」の中心です。
AWS でのモダンな開発の中心が AWS Lambda です。サーバーを管理せず、イベントに応じてコードを実行し、使った分だけ課金されます。
1.1.1Lambda の流れ
- イベント駆動:API Gateway・S3・SQS・DynamoDB Streams・EventBridge などのイベントで起動する。
- ハンドラー:イベントを受け取って処理する関数のエントリポイント。リクエストごとに呼ばれる。
- 課金:リクエスト数と実行時間(GB 秒)に応じる。アイドルコストがない(呼ばれた分だけ)。
- メモリ/タイムアウト:メモリを増やすと CPU も比例して増える。最大タイムアウトは 15 分。コールドスタートは初回起動の遅延。
DVA-C02 は「AWS のサービスを使って開発する」アソシエイト資格で、その中心が Lambda です。サーバーを用意せず、関数(ハンドラー)にコードを書いてイベントソースに紐づけるだけで動きます。性能とコストは主にメモリ割り当てで決まり(CPU はメモリに比例)、課金は呼び出し回数×実行時間。注意点が2つ:
①コールドスタート——しばらく呼ばれていない関数の初回は実行環境の初期化で遅延が出る(プロビジョンド同時実行で緩和可)。
②15 分の上限——それを超える長時間処理や常時稼働は Lambda 向きでなく、ECS/Fargate や EC2 を検討します。設定は環境変数で外出しし、機密は Secrets Manager / SSM パラメータストアから取得、他サービスへの権限は実行ロール(IAM ロール)で与えます(キーを埋め込まない)。
| 項目 | ポイント |
|---|---|
| 起動 | イベント駆動(API GW/S3/SQS 等) |
| 課金 | リクエスト数×実行時間(GB秒) |
| 性能調整 | メモリを増やすと CPU も増える |
| 上限 | タイムアウト最大15分 |
| 権限/機密 | 実行ロール/Secrets Manager・SSM |
シナリオ:画像アップロード処理。 ユーザーが S3 に画像を置く→S3 イベントで Lambda が起動→サムネイル生成して別バケットへ保存、メタデータを DynamoDB に記録。Lambda は使った分だけ課金でアイドルコストなし。生成が重ければメモリを増やして CPU を底上げ。DB 認証情報は Secrets Manager から取得し、権限は実行ロールで付与。
混同に注意:
①CPU は直接指定できない——メモリを増やすと CPU も増える。
②コールドスタートは初回/スケール時の遅延(プロビジョンド同時実行で緩和)。
③最大15分を超える処理は Lambda 不可——ECS/Fargate/EC2 へ。
④権限は実行ロール、機密はSecrets Manager/SSM(コード直書き禁止)。
Q. Lambda の CPU はどう増やす? メモリ割り当てを増やすと CPU も比例して増えます。Q. コールドスタートの対策は? プロビジョンド同時実行で実行環境を事前に温めておく。Q. 15分を超える処理は? Lambda 不可。ECS/Fargate や EC2、Step Functions での分割を検討。Q. 機密情報の扱いは? Secrets Manager / SSM パラメータストアから取得し、実行ロールで権限付与。
「サーバー管理不要・イベント駆動・使った分だけ課金=Lambda」「メモリを増やすと CPU も増える」「初回の遅延=コールドスタート」「最大15分」 は DVA で頻出です。長時間/常時稼働は ECS/EC2、権限は実行ロール、機密は Secrets Manager/SSM。
1.1.2Lambda 以外のコンピュートとファイル共有
Lambda が向かないワークロード——15 分を超える処理、常時稼働、コンテナ前提のアプリ——には別のコンピュートを選びます。Amazon EKS(Elastic Kubernetes Service)は マネージドな Kubernetes で、コントロールプレーンの運用を AWS に任せつつ、Kubernetes の宣言的なデプロイやオートスケールでコンテナワークロードを動かします。Kubernetes の標準 API とエコシステムをそのまま使いたい、複数クラウドで運用を揃えたい、という場合に選びます(単純なコンテナ実行だけなら ECS、サーバー管理を避けるなら Fargate を併用)。ストレージ面では、Lambda の一時領域や EBS は単一インスタンスに閉じるため、複数の Lambda やコンテナ、EC2 から同じファイルを共有したいときは Amazon EFS(Elastic File System)を使います。EFS は NFS 準拠の共有ファイルシステムで、容量は自動で伸縮し、Lambda にマウントして大きなモデルや共有データを読み書きできます。
| やりたいこと | サービス |
|---|---|
| マネージドな Kubernetes でコンテナ運用 | Amazon EKS |
| 複数の関数/インスタンスでファイル共有 | Amazon EFS(共有ファイル) |
1.1.3この節のまとめ
- Lambda=イベント駆動・サーバー管理不要・従量課金(リクエスト×実行時間)
- メモリで CPU も変化/最大15分/初回はコールドスタート、権限は実行ロール・機密は Secrets Manager/SSM
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. サーバーを管理せず、イベントに応じてコードを実行し、使った分だけ課金される AWS のサービスはどれですか?
Q2. Lambda 関数の CPU 性能を高めたい。最も適切な調整はどれですか?
Q3. Lambda 関数が他の AWS サービスへアクセスする権限はどこで付与しますか?

