週8ElastiCache / SQS / SNS

2026-09-20(日)ElastiCache, SQS, SNS

この記事の目次
  1. 予習ポイント
  2. 図解イメージ(言葉で説明)
  3. 視聴後に自分でチェックしたい項目

1. 【予習ポイント】

公式動画「サーバーレス編」の視聴および書籍読解にあたり、事前に頭に叩き込んでおくべき最重要テーマは、サーバーレスシステムにおける 「 ワークフローの集中制御(オーケストレーション) 」 です [p.225]。

  • なぜLambdaだけで順次連携させないのか(理解重視) [p.77, p.218]
    • 「処理Aを行うLambda」から「処理Bを行うLambda」を直接APIで呼び出して順次実行する(密結合な連鎖)と、処理Bの実行中、処理AのLambdaは「何もせず完了を待つだけ」になります [p.77, p.218]。この待機中もLambdaの実行課金(メモリ×ミリ秒)が発生するためインフラコストが二重にかかり、さらにLambdaの最大実行時間制限である15分を超えるとシステム全体が途中で強制終了してクラッシュします [p.77]。
  • Step Functionsによる解決(なぜそうするのか) [p.225]
    • 状態管理と制御ロジックを AWS Step Functions(ステートマシン) に外出しすることで、各Lambdaは自分の仕事だけに専念する「完全ステートレス」に設計できます [p.77, p.291]。待機コストが完全ゼロになり、15分を超える長大なジョブ(標準ワークフローでは最長1年間実行可能)も安全に制御できるようになります [p.225]。
  • SWF(Simple Workflow Service)との境界線 [p.225]
    • AWS Step Functions:モダン、サーバーレス、JSON(ASL)による宣言型で運用負荷が極めて低い [p.225]。
    • Amazon SWF:レガシー、意思決定プログラム(Decider)や実行プログラム(Worker)をユーザー自身がコード記述し、EC2等で常時ホスト・監視する必要がある [p.225]。「 オンプレミスのレガシーな物理サーバーと混在した複雑な業務プロセスの移行 」 要件でのみSWFが選ばれます [p.225]。

2. 【図解イメージ(言葉で説明)】

システム全体のつながりを、身近な 「 ピザの宅配注文から配達完了までの全自動コントロール 」 に例えて描写します。

[注文受付API] ➔ 👑【総監督:Step Functions(ステートマシン)】
                         │
        ┌────────────────┼────────────────┐(順次ステップ制御)
        ▼                ▼                ▼
[1. 生地作り (Lambda)]  [2. 焼き上げ (Lambda)]  [3. 配達手配 (外部連携/API)]
  • 司令塔(ステートマシン)の設置: ピザ注文システム全体の中心に、司令塔である 「 AWS Step Functions(ステートマシン) 」 が王冠を被って鎮座しています [p.225]。
  • 各タスクの自律実行:
    1. 注文が入ると、司令塔はまず「生地作りタスク(Lambda A)」をキックします [p.77, p.225]。
    2. Lambda Aは生地を作って「完了したよ」と結果(出力データ)を司令塔に返して即終了します(1秒で仕事が終われば1秒分しか課金されません) [p.77, p.81]。
    3. 司令塔はその結果を抱えて、次の「オーブン焼き上げタスク(Lambda B)」へとデータを渡し、キックします [p.225]。
  • エラーハンドリングと分岐: もしオーブンの温度が上がらずLambda Bがエラーを吐いた場合、総監督(Step Functions)はプログラムコードを1文字も書き換えることなく、自身のASLルールに従って「3回まで自動再試行(Retry)」を行うか、それでもダメなら「店長へアラートメールを送信(SNS)」という失敗ルート(Catch)へ自動で処理を迂回させます [p.225, p.227]。
  • 外部調整と完了: 無事にピザが焼き上がったら、最後に「外部の配達員手配システムへのAPI送信(SES/外部連携)」を実行し、すべての工程をステートマシンが最初から最後まで確実にナビゲートして配達完了ステートに到達します [p.225, p.229]。
  • ビジュアル管理: これら一連のステップの実行状況は、AWSコンソール上で「成功したステップは緑」「現在進行中は青」「エラーで停止したステップは赤」とカラーリングされた1枚のフローチャートとして、リアルタイムに完全可視化されます [p.225]。

3. 【視聴後に自分でチェックしたい項目】

  • ☑ チェック1:サーバーレスの連携設計における「密結合(Lambda内での直接呼び出し)」と「疎結合(Step Functionsによる調停)」の、コスト面・タイムアウト制限における具体的な違いをロジカルに説明できるか? [p.77, p.218, p.225]
  • ☑ チェック2:Step Functionsの「標準(Standard)ワークフロー(最長1年実行、手動承認プロセス対応)」と「表現(Express)ワークフロー(最長5分実行、高スループット・低コスト)」の明確なユースケースの決定境界を答えられるか? [p.225]
  • ☑ チェック3:試験で「Amazon SWF」が正解の選択肢となるための絶対的な選定シグナル(例:オンプレミスのカスタムサーバー混在、レガシーコードの移行)を脳内で整理できているか? [p.225]
  • ☑ チェック4:Step Functions内で一時的なネットワークエラー(Lambda.ServiceException等)が発生した際、ソースコードを書き換えることなく自動復旧させるために、ステートマシン側にどのようなブロック設定(Retry)を追加すればよいか理解できたか? [p.225]

🎧 これにより、公式動画「サーバーレス編」をただ聞き流すのではなく、「試験でどのサービス境界が狙われるか」を意識しながら10倍効率よくインプットするための予習が完璧に完了しました!

「Lambdaの直列呼び出しはアンチパターン」 [p.77]、 「時間制御と例外ハンドリングはStep Functions(ASL)に外出しする」 [p.225]、 「レガシー・オンプレ環境の混在ワークフローはSWFの出番」 [p.225]。

このクリアな対比構造を頭の片隅に置いて、動画の解説を目と耳で焼き付けてきてください。合格への得点力が確実に跳ね上がります!

📊 サーバーレス編の動画を視聴し終えたら、「 このサーバーレス連携設計(Step Functions & Lambda)と、API Gateway や非同期キュー(SQS)を融合させた『本試験に100%出題される最強のサーバーレスイベント駆動アーキテクチャ・3大王道マッピングパターン』 」 について、一気に総まとめを行って実戦力を完璧に固めましょう!