🌅

ローカルPCでもAWSの動作確認ができる! CDK × Lambda × LocalStack × FastAPI構成を構築する❗❗❗

2025/01/03に公開

結論

本記事では、下記構成図を構築する記事となります❗❗❗
具体的には、AWS CDK、LocalStack、Docker、FastAPIといった技術スタックを駆使して下記構成図を構築いたします。
Lambdaサーバーレス構成図画像

また、本記事は自身のスキルを証明する一つの材料として執筆しております。

ソースコードは下記リンクにて公開しております。
https://github.com/takakura0318/2024-fastapi-lambda-serverless

ソースコードの構成

- ルートディレクトリ
  L backend
  L infra

ローカルPC_技術スタック

全体

ローカルPC

Docker Compose詳細

項目
アプリサービス ①Lambdaコンテナ
②PostgreSQLコンテナ
インフラサービス ①Localstackコンテナ

Local Stack詳細

Local Stack

FastAPI詳細

項目
バージョン 0.1系
ライブラリ管理 uv
静的コード解析ツール Ruff
アダプタ Mangum

クラウドAWS_技術スタック

AWSクラウド

  • AWS
    • ACM
    • Route53
    • APIGateway
      • Lambdaプロキシ統合
    • VPC
      • プライベートサブネット
      • Lambda

構築セクション

構築サマリー

  1. バックエンドを構築
    • Docker環境を構築
    • FastAPIを構築
  2. インフラ基盤を構築
    • AWSリソースを構築
    • LocalStackを構築

構築詳細

1. バックエンドを構築

Docker環境を構築

https://github.com/yukiotakakura/2024-fastapi-lambda-serverless/pull/1/files

FastAPIを構築

https://github.com/yukiotakakura/2024-fastapi-lambda-serverless/pull/2/files


2. インフラ基盤を構築

クラウドAWSリソースを構築

https://github.com/yukiotakakura/2024-fastapi-lambda-serverless/pull/3/files

LocalStackを構築

https://github.com/takakura0318/2024-fastapi-lambda-serverless/pull/4/files


動作確認

ブラウザ上で下記URLにアクセスすると「Hello World」が表示されていることを確認いたします

  • AWSクラウド側の動作確認

    • 「https://{ドメイン名}/hello」にアクセスする
  • ローカルPC側の動作確認

    • 「https://{LocalStackマネジメント>API Gateway>詳細画面>ID}.execute-api.localhost.localstack.cloud:4566/prod/hello」にアクセスする

動作確認期待値

{"message":"Hello World"}

AWSクラウド

Discussion