PR

🏗️【Windows対応】Git管理で始めるAWS SAMによるサーバーレス構築完全ガイド


🏗️【Windows対応】Git管理で始めるAWS SAMによるサーバーレス構築完全ガイド

✅ ゴール

  • Windows 環境にて AWS SAM + Python によるサーバーレス構成を構築
  • GitでIaCとコードをバージョン管理
  • 最小構成のAPI(Lambda + API Gateway + DynamoDB)を動作確認まで実施

1. 前提:必要ツールのインストール

🔧 1.1 Windows PowerShellを管理者で実行

🐍 1.2 Python 3.11 のインストール(公式サイト

  • インストール時に 「Add Python to PATH」 にチェックを入れること!
python --version

🐳 1.3 Docker Desktopのインストール(公式ダウンロード

  • インストール後、WSL2バックエンドを有効化(設定 > General)

🌐 1.4 AWS CLI のインストール

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
aws --version

🛠️ 1.5 AWS SAM CLI のインストール(MSI版)

msiexec.exe /i https://github.com/aws/aws-sam-cli/releases/latest/download/AWS_SAM_CLI_64_PY3.msi
sam --version

🧪 1.6 Git のインストール(公式ダウンロード

git --version

2. IAMユーザーの作成と認証情報設定(初回のみ)

2.1 AWS IAMコンソールで新規ユーザーを作成(プログラムアクセス+Administrator権限)

2.2 認証情報を AWS CLI に設定

aws configure

入力内容:

AWS Access Key ID [None]: xxxxxxxxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-1
Default output format [None]: json

3. Gitプロジェクトの初期化

mkdir sam-serverless-app
cd sam-serverless-app
git init

4. AWS SAM プロジェクトの作成

sam init

選択肢:

  • テンプレート:AWS Quick Start Templates
  • ランタイム:python3.11
  • アプリ名:sam-serverless-app
  • テンプレート:Hello World Example

5. ディレクトリ構成(例)

sam-serverless-app/
├── README.md
├── template.yaml
├── src/
│   └── app.py
├── tests/
├── events/
└── .gitignore

.gitignore 例:

__pycache__/
.aws-sam/
.env
.env.*
*.log

6. Lambda関数の編集(src/app.py)

import json

def lambda_handler(event, context):
    return {
        "statusCode": 200,
        "body": json.dumps({"message": "Hello from Lambda on Windows!"})
    }

7. SAM テンプレートの編集(template.yaml)

Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: src/
      Handler: app.lambda_handler
      Runtime: python3.11
      Events:
        HelloApi:
          Type: Api
          Properties:
            Path: /hello
            Method: GET

  HelloTable:
    Type: AWS::Serverless::SimpleTable
    Properties:
      PrimaryKey:
        Name: id
        Type: String

8. デプロイ準備 & 初回デプロイ

sam build
sam deploy --guided

入力例:

Stack Name: sam-serverless-stack
AWS Region: ap-northeast-1
Confirm changes before deploy: Y
Allow SAM CLI IAM role creation: Y
Save arguments to samconfig.toml: Y

9. 動作確認

デプロイ完了後に表示される API URL へアクセス:

https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/Prod/hello
→ {"message": "Hello from Lambda on Windows!"}

10. Gitへのコミット

git add .
git commit -m "Initial commit: SAM based serverless app on Windows"
git remote add origin https://github.com/yourname/sam-serverless-app.git
git push -u origin main

11. 補足:本番運用へ向けた拡張案

機能推奨構成
認証Amazon Cognito + JWT
フロント連携Next.js + Amplify Hosting
課金Stripe API + Lambda Webhook
CI/CDGitHub Actions + sam deploy
独自ドメインRoute 53 + ACM + CloudFront

🎯 まとめ

  • Windows 11でも問題なくAWSサーバーレス構成がIaCで構築可能
  • AWS SAMは学習コストが低く、API + DB構成に最適
  • Git管理でバージョン管理しながら再現性ある開発が実現できる

📘 ご希望があれば、本記事をZennやQiita向けにマークダウン形式で出力可能です。必要であればお知らせください。

コメント

タイトルとURLをコピーしました