1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完全保存版】Amazon Q Developer vs Cursor vs Codex!AIでAWSサーバレス構成を爆速デプロイするチートシート〜もうサーバレスも怖くない編〜

Last updated at Posted at 2025-09-04

🚀 はじめに - 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年前なら絶対信じてもらえなかったと思います。

重要なポイントおさらい

  1. Codex拡張が現時点で最強(エラーなし、2発で完成)
  2. プロンプトは具体的に、でも長すぎずがコツ
  3. 無料枠で月100万リクエストまで試せる
  4. エラーが出ても諦めない(大体権限かCORSの問題)

個人的な感想

正直、これからのエンジニアはAIを使いこなせるかどうかで差がつくと思います」

でも、AIが全部やってくれるからといって、基礎知識が不要になるわけじゃないんですよね」

むしろ、AIの出力を正しく評価して、修正できる知識がより重要になってきます」

最後に一言

まだ試してない人は、今すぐ試してみて!

毎月100万リクエストまで無料だから、失敗しても財布は痛まない(笑)」

サーバレスアプリ開発の敷居が、こんなに下がった時代を楽しみましょう!」


🙏 おわりに

長い記事を最後まで読んでいただき、ありがとうございました!

この記事が「AWSサーバレス開発を始めるきっかけ」になれば嬉しいです。

質問や感想があれば、ぜひコメント欄で教えてください。一緒にAI時代の開発を楽しみましょう!

Happy Serverless Coding! 🚀


タグ

#AWS #Serverless #Lambda #APIGateway #NextJS #AmazonQDeveloper #Cursor #Codex #AI開発 #サーバレスアーキテクチャ #IaC #CDK #CloudFormation #S3 #CloudFront

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?