Tech Starlog

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試験では

  • 運用負荷を最小化
  • 自動スケーリング
  • イベント駆動 といった要件が提示された場合、サーバーレス構成を選択できるかが重要なポイントになります。