Lambda + API Gateway + DynamoDB でサーバーレス CRUD API を作る

DynamoDB テーブル、Python Lambda 関数、API Gateway REST API を組み合わせ、サーバーを 1 台も立てずに「商品メモ」を作成・取得・更新・削除できるサーバーレス CRUD API を構築します。

中級50Azure 実環境

ラボ概要

このラボでは、サーバーを 1 台も立てずに、データの作成・取得・更新・削除(CRUD)ができる REST API をゼロから構築します。データストアに DynamoDB、ビジネスロジックに Lambda(Python)、HTTP の入り口に API Gateway を使い、3 つのサービスがどう連携するかを手を動かして理解します。

学習目標

  • DynamoDB でオンデマンドキャパシティのテーブルを作成し、パーティションキーを設計できる
  • Lambda(Python)から boto3 で DynamoDB を読み書きするコードを書ける
  • Lambda 実行ロールに最小限の DynamoDB 権限を付与できる
  • API Gateway の REST API でリソース・メソッドを定義し、Lambda プロキシ統合でルーティングできる
  • API をデプロイし、ブラウザや CloudShell から CRUD 動作を確認できる

ラボの構成

  1. 1DynamoDB テーブルを作成する
  2. 2Lambda の実行ロールを作成する
  3. 3Lambda 関数を作成する
  4. 4Lambda にコードを書く
  5. 5Lambda 単体でテストする
  6. 6API Gateway で REST API を作る
  7. 7API をデプロイする
  8. 8動作確認
  9. 9完了チェックリスト
  10. 10後片付け

詳細な手順は、ラボ開始後に画面内のガイドとして表示されます。

構成図

構成図

参考リソース

参考リンク

このラボが対応する試験の模擬問題集

本番形式の問題で理解度を確認できます。各試験とも先頭 15 問は無料です。

DVA-C02AWS Developer – Associate練習テスト 4 回・全 200SAA-C03AWS Solutions Architect – Associate練習テスト 4 回・全 200