🏗️【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/CD | GitHub Actions + sam deploy |
独自ドメイン | Route 53 + ACM + CloudFront |
🎯 まとめ
- Windows 11でも問題なくAWSサーバーレス構成がIaCで構築可能
- AWS SAMは学習コストが低く、API + DB構成に最適
- Git管理でバージョン管理しながら再現性ある開発が実現できる
📘 ご希望があれば、本記事をZennやQiita向けにマークダウン形式で出力可能です。必要であればお知らせください。
コメント