
AIを知りたい
AWSのインフラ構築をAIに手伝ってもらいたいんですが、CDKとSAMとCloudFormationのどれを使えばいいですか?

AIエンジニア
用途と好みに応じて選ぶのがベストですが、AIとの相性で言えばCDKが最も効率的です。TypeScript/Pythonのプログラミング言語で書けるため、AIのコード生成能力を最大限に活用できます。型補完が効くのでAIの生成結果の正確性も高くなります。

AIを知りたい
それぞれの違いを教えてください!

AIエンジニア
CDKはプログラミング言語でインフラを定義し、SAMはサーバーレスに特化した簡易テンプレート、CloudFormationはAWSネイティブのJSON/YAMLテンプレートです。AIの支援を受けながら、プロジェクトの特性に合った選択をしましょう。新規プロジェクトならCDK、Lambda中心ならSAM、既存資産があるならCloudFormationが基本方針です。
AWS開発×AIとは
AWS開発×AIとは、AIツールを活用してAWSクラウドインフラの構築・運用を効率化する手法です。CDK(Cloud Development Kit)、SAM(Serverless Application Model)、CloudFormationのテンプレート生成をAIが支援し、Lambda関数のコード生成、API Gatewayの設定、IAMポリシーの設計まで自動化できます。特にCDKはTypeScriptで記述できるため、AIコーディングツールとの親和性が高く、L2 Constructによる抽象化で少ないコード量で複雑なインフラを定義できます。
CDK・SAM・CloudFormation徹底比較

AIを知りたい
3つのツールの違いを詳しく見せてください!

AIエンジニア
主要な比較ポイントを整理しましょう。プロジェクトの規模やチームのスキルセットによって最適な選択が変わります。
| 項目 | AWS CDK | SAM | CloudFormation |
|---|---|---|---|
| 記述言語 | TypeScript/Python/Java等 | YAML | JSON/YAML |
| 抽象度 | 高い(L2/L3 Construct) | 中(サーバーレス特化) | 低い(生リソース定義) |
| AI生成精度 | ★★★(コード補完が効く) | ★★☆(YAML構文対応) | ★★☆(冗長だが正確) |
| 学習コスト | 中(プログラミング知識必要) | 低(サーバーレス限定) | 高(全リソース理解必要) |
| ユースケース | 大規模・汎用 | Lambda中心アプリ | 企業の既存資産 |
| ローカルテスト | CDK Synth + CDK Assert | SAM Local(Lambda実行可) | CFn Linter |
AIによるCDK Construct生成とLambda開発

AIを知りたい
CDKでAIを使うとどんなことができるんですか?

AIエンジニア
AIに「API Gateway + Lambda + DynamoDBのサーバーレスAPIをCDKで作って。認証はCognitoで」と指示すると、スタック定義、Construct、Lambda関数コード、DynamoDBテーブル設計まで一括生成してくれます。CDKのL2 Constructを活用した簡潔なコードが出力されるのが特徴です。

AIを知りたい
Lambda関数のコードもAIが書いてくれるんですか?

AIエンジニア
はい。「DynamoDBからユーザー情報を取得するLambda関数をTypeScriptで。入力バリデーション、エラーハンドリング、ログ出力付きで」と指示すれば、完全な関数コードが生成されます。さらにCDKスタック内でのLambda定義、環境変数の設定、IAMロールの最小権限付与まで含めたコードを一度に生成できますよ。
// AIが生成するCDKスタック例
import * as cdk from "aws-cdk-lib";
import * as lambda from "aws-cdk-lib/aws-lambda-nodejs";
import * as apigw from "aws-cdk-lib/aws-apigateway";
import * as dynamodb from "aws-cdk-lib/aws-dynamodb";
export class ApiStack extends cdk.Stack {
constructor(scope: cdk.App, id: string) {
super(scope, id);
const table = new dynamodb.Table(this, "Users", {
partitionKey: { name: "id", type: dynamodb.AttributeType.STRING },
billingMode: dynamodb.BillingMode.PAY_PER_REQUEST,
});
const fn = new lambda.NodejsFunction(this, "Handler", {
entry: "lambda/users.ts",
environment: { TABLE_NAME: table.tableName },
});
table.grantReadWriteData(fn);
new apigw.LambdaRestApi(this, "Api", { handler: fn });
}
}
実践的な構成パターンとベストプラクティス

AIを知りたい
よく使うAWSの構成パターンをAIに生成してもらえますか?

AIエンジニア
代表的なパターンをAIに依頼する際のプロンプト例と合わせて紹介します。これらのパターンはAIの学習データに豊富に含まれているため、高精度で生成可能です。
| 構成パターン | 主要サービス | AIへの指示例 |
|---|---|---|
| サーバーレスAPI | API GW + Lambda + DynamoDB | 「CRUD APIをサーバーレスで構築して」 |
| コンテナAPI | ALB + ECS Fargate + RDS | 「Fargateのコンテナサービスを作って」 |
| 静的サイト配信 | S3 + CloudFront + Route53 | 「SPAの配信環境をCDKで作って」 |
| 非同期処理 | SQS + Lambda + DLQ | 「キューベースの非同期処理基盤を作って」 |
| イベント駆動 | EventBridge + Step Functions | 「イベント駆動ワークフローを設計して」 |
| データパイプライン | Kinesis + Lambda + S3 + Athena | 「リアルタイムデータ処理基盤を作って」 |
コスト最適化とセキュリティのAI支援

AIを知りたい
AWS開発でAIを使うときの注意点はありますか?

AIエンジニア
IAMポリシーの最小権限原則は必ず人間が確認してください。AIは動作を優先して広い権限を付与しがちです。また、CDKのcdk diffコマンドでデプロイ前に差分を確認する習慣も重要です。コスト面では、AIが生成した構成のランニングコストをAWS Pricing Calculatorで見積もることをおすすめします。

AIを知りたい
コスト削減のアドバイスもAIにもらえますか?

AIエンジニア
非常に有効です。「この構成の月額コストを見積もって、コスト削減のオプションを提案して」と依頼すると、Reserved Instances、Savings Plans、Spotインスタンスの活用、不要リソースの特定などを提案してくれます。特にLambdaのメモリ設定やDynamoDBのキャパシティモードの選択は、コストに大きく影響する部分なのでAIに相談する価値があります。
| AWS開発タスク | AI活用度 | 推奨ツール |
|---|---|---|
| CDKスタック生成 | ★★★ | Claude Code / Copilot |
| Lambda関数実装 | ★★★ | Claude Code |
| IAMポリシー設計 | ★★☆ | Claude Code(要レビュー) |
| コスト見積もり | ★★☆ | Claude + AWS Calculator |
| アーキテクチャ設計 | ★★★ | Claude Code |
| 障害対応・運用 | ★★☆ | Claude + CloudWatch |
まとめとして、AWS開発にAIを活用することで、CDK Constructの生成からLambda関数の実装、デプロイパイプラインの構築、コスト最適化まで大幅に効率化できます。特にCDKはTypeScriptで記述できるためAIコーディングツールとの親和性が高く、複雑なマルチサービス構成も自然言語の指示で生成可能です。SAMはサーバーレスに特化したシンプルな選択肢、CloudFormationは既存資産との互換性が強みです。プロジェクトの規模と特性に応じて最適なツールを選び、AIの力で効率的なクラウド開発を実現しましょう。IAMポリシーの確認とcdk diffによる事前チェックは必ず実施してください。
