🚀 はじめに - AIがサーバレスインフラまでデプロイする時代がきた!
みなさん、こんにちは!今日は「え、マジで2発のプロンプトでAWSサーバレス構成が完成しちゃうの!?」っていう衝撃体験をシェアさせてください。
正直に言います。「Amazon Q Developer試してみるか〜」って軽い気持ちで始めたら、思いがけずCodex拡張がヤバすぎて椅子から転げ落ちそうになりました(笑)
この記事を読めば、以下のことが全部わかります:
- 🎯 3つのAI開発ツール(Amazon Q Developer、Cursor、Codex)の実力比較
- 📝 たった2発のプロンプトでサーバレス構成を構築する方法
- 🏗️ フロントエンド(Next.js)+ バックエンド(Lambda)**の自動デプロイ
- 💡 各ツールの落とし穴と回避法
📊 検証結果サマリー - 先に結論だけ教えて!
まず結論から言っちゃいますね。3つのツールで同じプロンプトを投げた結果がこちら:
ツール | モデル | デプロイ成功までの手数 | エラー回数 | 使いやすさ | 総合評価 |
---|---|---|---|---|---|
Codex拡張 | gpt-5-high | たった2発! | エラーなし | ★★★★★ | すげえ優秀 |
Cursor | gpt-5-high max | 4チャット | 403エラー1回 | ★★★★☆ | 優秀 |
Amazon Q Developer | Sonnet 4 | 複数回 | 2-3回エラー | ★★★☆☆ | 及第点 |
「え、Codex拡張そんなに凄いの?」って思いますよね。はい、マジで凄かったんです。
🔥 実際に使った魔法のプロンプト2発
📝 プロンプト1発目:実装編
これが実際に使った「サーバレス構成を一撃で作るプロンプト」です:
AWS上にシンプルなサーバレスアプリケーションを作成してください。
要件:
1. バックエンド構成
- Lambda関数: "こんばんは"というメッセージをJSONで返すシンプルなAPI
- API Gateway: Lambda関数へのHTTPエンドポイント(CORS設定付き)
- Runtime: Node.js 18.x または Python 3.11
2. フロントエンド構成
- Next.js 14のアプリケーション
- S3での静的ホスティング対応(Static Export)
- API Gatewayのエンドポイントを呼び出してメッセージを表示
- シンプルなUIデザイン
3. インフラ構成
- IaC: AWS CDK v2 または SAM
- S3バケット: 静的サイトホスティング有効化
- CloudFront: S3の前段に配置(オプション)
4. ディレクトリ構造
project/
├── backend/
│ ├── lambda/
│ │ └── index.js
│ └── infrastructure/
├── frontend/
│ └── nextjs-app/
└── README.md
5. 実装詳細
- Lambdaは GET /greeting エンドポイントで { "message": "こんばんは" } を返す
- Next.jsはuseEffectでAPIを呼び出し、レスポンスを画面に表示
- 環境変数でAPI GatewayのURLを管理
デプロイ手順とローカル開発環境のセットアップも含めてください。
ポイント解説:
- 「要件を明確に5つのセクションに分けてるでしょ?これがミソなんです」
- 「ディレクトリ構造まで指定することで、AIが迷わないようにしてます」
- 「技術スタックを具体的に指定(Node.js 18.x、Next.js 14)してるのも重要!」
💥 プロンプト2発目:デプロイ編(超雑w)
じゃあデプロイしちゃって両方
「え、これだけ?」って思いますよね(笑)
はい、これだけです。「両方」っていうのは、フロントエンドもバックエンドも両方デプロイして、という意味でした。
🏆 各ツールの実戦レビュー
1️⃣ Codex拡張(gpt-5-high) - 優勝
結果:マジで2発でエラーなし!
# こんな感じでコマンドが自動生成されて実行される
npm create next-app@latest frontend --typescript --tailwind --app
cd backend && npm init -y && npm install aws-sdk
cdk init app --language typescript
cdk deploy --all
良かった点:
- 「エラーが一切出ないって、これヤバくないですか?」
- 「モノレポ構成まで勝手に作ってくれた」
- 「CloudFormationのスタック名も自動でいい感じに」
驚いた点:
- 「まさか環境変数の設定まで自動でやってくれるとは...」
- 「CORS設定もバッチリ。これ手動だと絶対忘れるやつ」
2️⃣ Cursor(gpt-5-high max) - 惜しい準優勝
結果:4チャットでデプロイ成功(403エラー1回)
// Cursorが生成したLambda関数の例
exports.handler = async (event) => {
return {
statusCode: 200,
headers: {
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*', // CORS対応
},
body: JSON.stringify({ message: 'こんばんは' }),
};
};
良かった点:
- 「途中で止まっても『続けて』で復活するの便利」
- 「UIが綺麗で開発体験が気持ちいい」
イマイチだった点:
- 「S3の403エラー、これ権限設定のあるあるですよね」
- 「でも1回のリトライで解決したから許す」
3️⃣ Amazon Q Developer(Sonnet 4) - まだ伸びしろあり
結果:デプロイ成功するも手間がかかった
良かった点:
- 「AWS公式だから安心感はある」
- 「Sonnet 3.7から4になって明らかに賢くなった」
イマイチだった点:
- 「毎回Runボタン押すの、これ地味にめんどくさい...」
- 「デザインがシンプルすぎて、ちょっと寂しい」
- 「2-3回エラー出たのは改善の余地あり」
🛠️ 実践的な使い方ガイド
ステップ1:環境準備チェックリスト
# 必要なツールを確認しましょう!
node --version # v18以上であることを確認
aws --version # AWS CLI v2が必要
cdk --version # CDK v2をインストール
# なければインストール
npm install -g aws-cdk@latest
「これ忘れがちなんですけど、AWS CLIの認証設定も必要ですよ!」
aws configure
# Access Key IDとSecret Access Keyを入力
# リージョンは ap-northeast-1(東京)がおすすめ
ステップ2:プロンプトの改造テクニック
「もっと高度な要求をしたい場合のプロンプト改造例」を紹介します:
## カスタマイズ版プロンプト
以下の技術スタックでサーバレスWebアプリケーションを構築してください:
【アーキテクチャ】
- フロントエンド: Next.js 14 (App Router使用)
- バックエンド: AWS Lambda (Node.js 18.x)
- API: Amazon API Gateway (REST API)
- ホスティング: Amazon S3 + CloudFront
- IaC: AWS CDK v2 (TypeScript)
- DB: DynamoDB(追加要素)← ここを追加!
【機能要件】
1. APIエンドポイント GET /api/greeting が「こんばんは」を返す
2. フロントエンドはボタンクリックでAPIを呼び出し
3. レスポンスを画面に表示(ローディング状態の実装含む)
4. アクセス履歴をDynamoDBに保存 ← 新機能!
【非機能要件】
- CORS設定
- エラーハンドリング
- 環境変数による設定管理
- CloudWatchログ設定
- API Gatewayのレート制限 ← セキュリティ強化!
【成果物】
- 動作するコード一式
- デプロイスクリプト
- 環境構築手順書
- アーキテクチャ図
「DynamoDBとか追加しても、AIが勝手に統合してくれるんですよ」
ステップ3:よくあるエラーと対処法
🚨 エラー1:S3の403 Forbidden
// bucket-policy.json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
「これ、バケットポリシー忘れるとほぼ100%発生します」
🚨 エラー2:CORS設定ミス
// API GatewayのCORS設定
const api = new apigateway.RestApi(this, 'MyAPI', {
defaultCorsPreflightOptions: {
allowOrigins: apigateway.Cors.ALL_ORIGINS,
allowMethods: apigateway.Cors.ALL_METHODS,
allowHeaders: ['Content-Type', 'Authorization'],
},
});
「CORSエラーは開発者の永遠の敵ですよね(笑)」
🚨 エラー3:Lambda実行権限不足
// CDKでの権限設定
lambdaFunction.addToRolePolicy(new iam.PolicyStatement({
actions: ['dynamodb:*'],
resources: ['*'],
}));
「権限は最小限にするのがベストプラクティスですが、開発時は一旦全開放でもOK」
💰 コスト面での嬉しいポイント
AWS無料枠でどこまでいける?
【月間無料枠】
- Lambda: 100万リクエスト/月
- API Gateway: 100万回呼び出し/月
- S3: 5GBストレージ + 2万GETリクエスト
- CloudFront: 50GB転送量/月
【つまり...】
月100万アクセスまで実質タダ!
「個人開発なら絶対に無料枠超えないから、ガンガン試せますよ」
🎯 使い分け戦略ガイド
どのツールをいつ使うべきか
Codex拡張を使うべき場合
- 「速さが正義」なプロトタイプ開発
- 「エラーでイライラしたくない」とき
- 「モノレポ構成で作りたいとき
Cursorを使うべき場合
- 「UI/UXにこだわりたい」開発
- 「コード補完を活用しながら開発したい
- 「チーム開発で統一感を出したい
Amazon Q Developerを使うべき場合
- 「AWS公式サポートが必要な本番環境
- 「コンプライアンスが厳しい案件
- 「AWS Well-Architected準拠が必要
🚀 次のステップ:より高度な構成へ
Lambda100個以上の大規模構成
「実は普段、Serverless Framework使って100個以上のLambda管理してるんですよ」
# serverless.yml の例
service: massive-serverless-app
provider:
name: aws
runtime: nodejs18.x
region: ap-northeast-1
functions:
function1:
handler: handlers/function1.handler
events:
- http:
path: /api/function1
method: get
# ... 100個以上のfunction定義
「これもAIで自動生成できる時代が来るかも...?」
マイクロサービス構成への展開
project/
├── services/
│ ├── user-service/
│ │ ├── lambda/
│ │ └── infrastructure/
│ ├── order-service/
│ │ ├── lambda/
│ │ └── infrastructure/
│ ├── payment-service/
│ │ ├── lambda/
│ │ └── infrastructure/
│ └── notification-service/
│ ├── lambda/
│ └── infrastructure/
├── shared/
│ └── common-libs/
└── infrastructure/
└── networking/
「各サービスごとにAIで生成させて、最後に統合するアプローチもアリ」
📚 参考リソース集
公式ドキュメント
追加で学ぶべき技術
- AWS CDK v2: インフラのコード化はもはや必須
- Serverless Framework: 大規模Lambda管理の決定版
- Next.js 14: App Routerの使い方は押さえておこう
🎉 まとめ
いかがでしたか?「2発のプロンプトでAWSサーバレス構成が完成」って、1年前なら絶対信じてもらえなかったと思います。
重要なポイントおさらい
- Codex拡張が現時点で最強(エラーなし、2発で完成)
- プロンプトは具体的に、でも長すぎずがコツ
- 無料枠で月100万リクエストまで試せる
- エラーが出ても諦めない(大体権限かCORSの問題)
個人的な感想
「正直、これからのエンジニアはAIを使いこなせるかどうかで差がつくと思います」
「でも、AIが全部やってくれるからといって、基礎知識が不要になるわけじゃないんですよね」
「むしろ、AIの出力を正しく評価して、修正できる知識がより重要になってきます」
最後に一言
「まだ試してない人は、今すぐ試してみて!」
「毎月100万リクエストまで無料だから、失敗しても財布は痛まない(笑)」
「サーバレスアプリ開発の敷居が、こんなに下がった時代を楽しみましょう!」
🙏 おわりに
長い記事を最後まで読んでいただき、ありがとうございました!
この記事が「AWSサーバレス開発を始めるきっかけ」になれば嬉しいです。
質問や感想があれば、ぜひコメント欄で教えてください。一緒にAI時代の開発を楽しみましょう!
Happy Serverless Coding! 🚀
タグ
#AWS
#Serverless
#Lambda
#APIGateway
#NextJS
#AmazonQDeveloper
#Cursor
#Codex
#AI開発
#サーバレスアーキテクチャ
#IaC
#CDK
#CloudFormation
#S3
#CloudFront