AWS SAA 試験勉強(9日目)
投稿日:2026/03/09
今回は サーバーレスアーキテクチャ設計(Lambda / API Gateway / EventBridge / Step Functions) を整理します。
1. サーバーレスの定義とメリット
サーバーレスとは、インフラのプロビジョニングや管理を意識せず、コードやデータのみに集中できる仕組み です。
- インフラ管理不要: OSパッチやサーバー管理はAWSが実施
- 自動スケーリング: リクエスト量に応じて自動で拡張
- 従量課金: 実行された分のみ課金
- 高可用性: 標準でマルチAZ構成
2. AWS Lambda
イベントをトリガーにプログラムを実行する FaaS(Function as a Service)です。
サーバーを用意せずにプログラムを実行できるため、サーバーレスアーキテクチャの中心となるサービスです。
試験で問われる制約事項
「何でもLambdaでできる」わけではありません。
以下の制限を覚えておくと、消去法で役立ちます。
- 実行時間制限: 最大 15分。これを超える処理は EC2 や ECS(Fargate)が必要。
- メモリ: 128MB 〜 10GB。
- 一時ストレージ: /tmp 領域(最大10GB)のみ。永続化には S3 や EFS が必要。
重要キーワード:コールドスタート
しばらく実行されていないLambdaが起動する際に発生する遅延のこと。
低レイテンシが重要な場合は、「プロビジョニングされた並列性(Provisioned Concurrency)」 を利用することで遅延を抑えることができます。
3. API Gateway
HTTP/REST API を公開・管理するためのフルマネージドサービスです。
- 役割: クライアントからのリクエストを受け取り、Lambdaや他のサービスへ接続します。
- 主な機能:
- 認証・認可: Cognito や Lambda オーソライザーとの連携。
- スロットリング: 過剰なアクセスからバックエンドを守る「流量制限」。
- キャッシュ: 同じレスポンスを素早く返すことで、Lambdaの起動回数を減らしコスト削減。
4. 疎結合を実現するオーケストレーション
サーバーレスアーキテクチャでは、複数のサービスをイベントで接続することで疎結合な設計を実現します。
Amazon EventBridge
- 用途: 「毎日0時に実行」といったスケジュール実行や、S3へのファイル保存などのイベントをトリガーにするルーティングサービス。
- 試験のキーワード: 「イベント駆動」「SaaS連携(Zendesk等からの通知など)」。
AWS Step Functions
- 用途: 複数の Lambda などを組み合わせたワークフロー管理。
- なぜ必要か?:
- Lambda同士を直接呼び出すと、片方がエラーになった際の処理が複雑になります。
- Step Functions を使えば、「リトライ」「条件分岐」「並列処理」を視覚的に管理でき、分散トランザクション(Sagaパターン) の実現に不可欠です。
5. 定番のサーバーレス構成パターン
パターンA:サーバーレス Web API
- 構成: API Gateway + Lambda + DynamoDB
- 要件: 運用負荷を最小限にしたい、アクセス予測が困難。
パターンB:リアルタイム画像リサイズ
- 構成: S3 (アップロード) → Lambda (画像リサイズ) → S3 (保存)
- 要件: ファイルがアップロードされたら即座に処理したい。
パターンC:大規模バッチの平滑化
- 構成: SQS → Lambda
- 要件: 大量のリクエストが来ても、バックエンド(DBなど)をパンクさせずに、順次処理したい(スロットリング対策)。
まとめ(9日目の振り返り)
サーバーレスアーキテクチャでは、次の役割分担を理解することが重要です。
- Lambda:コード実行
- API Gateway:API公開
- EventBridge:イベントルーティング
- Step Functions:ワークフロー管理
SAA試験では
- 運用負荷を最小化
- 自動スケーリング
- イベント駆動 といった要件が提示された場合、サーバーレス構成を選択できるかが重要なポイントになります。