Claude CodeでAWSデプロイを自動化する方法【実践ガイド】
Claude Codeを使ってAWS環境へのデプロイを自動化する手順を解説。CDK・Terraform・SAMを活用した実践的なデプロイフローを紹介します。
なぜClaude CodeでAWSデプロイを自動化するのか
AWSへのデプロイは、設定ファイルの記述、IAMロールの管理、環境変数の設定など手間が多く、ミスが発生しやすい工程です。Claude Codeはプロジェクトの構成を理解した上で、インフラコードの生成からデプロイの実行まで一貫して支援できます。
AWS CDKプロジェクトの構築
まずはCDKを使ったインフラ構築をClaude Codeに依頼する例です。
> AWS CDKでECS Fargateのスタックを作成して。
> アプリはNode.jsで、ALBを前段に配置して。
> 環境変数はSSM Parameter Storeから取得する構成にして。
Claude Codeが生成するCDKコードの例を見てみましょう。
import * as cdk from 'aws-cdk-lib';
import * as ecs from 'aws-cdk-lib/aws-ecs';
import * as ec2 from 'aws-cdk-lib/aws-ec2';
import * as elbv2 from 'aws-cdk-lib/aws-elasticloadbalancingv2';
import * as ssm from 'aws-cdk-lib/aws-ssm';
export class AppStack extends cdk.Stack {
constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const vpc = new ec2.Vpc(this, 'AppVpc', { maxAzs: 2 });
const cluster = new ecs.Cluster(this, 'AppCluster', { vpc });
const taskDef = new ecs.FargateTaskDefinition(this, 'TaskDef', {
memoryLimitMiB: 512,
cpu: 256,
});
const dbHost = ssm.StringParameter.valueForStringParameter(
this, '/app/prod/DB_HOST'
);
taskDef.addContainer('app', {
image: ecs.ContainerImage.fromAsset('./'),
portMappings: [{ containerPort: 3000 }],
environment: { DB_HOST: dbHost },
logging: ecs.LogDrivers.awsLogs({ streamPrefix: 'app' }),
});
const service = new ecs.FargateService(this, 'Service', {
cluster,
taskDefinition: taskDef,
desiredCount: 2,
});
const lb = new elbv2.ApplicationLoadBalancer(this, 'ALB', {
vpc,
internetFacing: true,
});
const listener = lb.addListener('Listener', { port: 80 });
listener.addTargets('Target', {
port: 3000,
targets: [service],
healthCheck: { path: '/health' },
});
}
}
Terraformとの連携
Terraformを使ったインフラ管理もClaude Codeで効率化できます。
> terraform/main.tf にS3 + CloudFrontの静的サイトホスティングを定義して。
> WAFでレートリミットも設定して。
> terraform plan の結果を確認して問題がなければ教えて。
resource "aws_s3_bucket" "site" {
bucket = "my-app-static-site"
}
resource "aws_cloudfront_distribution" "cdn" {
origin {
domain_name = aws_s3_bucket.site.bucket_regional_domain_name
origin_id = "s3-origin"
s3_origin_config {
origin_access_identity = aws_cloudfront_origin_access_identity.oai.cloudfront_access_identity_path
}
}
enabled = true
default_root_object = "index.html"
default_cache_behavior {
allowed_methods = ["GET", "HEAD"]
cached_methods = ["GET", "HEAD"]
target_origin_id = "s3-origin"
viewer_protocol_policy = "redirect-to-https"
forwarded_values {
query_string = false
cookies { forward = "none" }
}
}
restrictions {
geo_restriction { restriction_type = "none" }
}
viewer_certificate {
cloudfront_default_certificate = true
}
}
GitHub Actionsとの統合
CI/CDパイプラインの構築もClaude Codeに依頼できます。
> GitHub Actionsのワークフローを作成して。
> mainブランチへのpushで自動的にCDKデプロイを実行する構成で。
> OIDC認証でAWSに接続して。
name: Deploy to AWS
on:
push:
branches: [main]
permissions:
id-token: write
contents: read
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::123456789012:role/deploy-role
aws-region: ap-northeast-1
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npx cdk deploy --require-approval never
デプロイ時のトラブルシューティング
デプロイでエラーが発生した場合も、Claude Codeに解析を依頼できます。
> cdk deploy で以下のエラーが出た。原因と修正方法を教えて:
> Error: The security group 'sg-xxx' does not exist
Claude Codeはエラーメッセージとプロジェクト構成を照合し、VPCやセキュリティグループの設定ミスを特定してくれます。基本的なトラブル対応の流れはClaude Codeの生産性を3倍にする10のTipsを参考にしてください。
デプロイ自動化のベストプラクティス
- 環境ごとの設定分離:
cdk.jsonのcontextで環境を切り替える - ドリフト検知: 定期的に
cdk diffを実行して差分を確認 - ロールバック戦略: Blue/Greenデプロイメントの設定を事前に用意
これらの設定をCLAUDE.mdに記述しておけば、Claude Codeが常にプロジェクトの方針に沿ったコードを生成します。CLAUDE.mdの活用方法はCLAUDE.mdの書き方完全ガイドで詳しく解説しています。
まとめ
Claude Codeを使えば、AWSインフラの構築からCI/CDパイプラインの設定まで、デプロイに関わる一連の作業を効率化できます。CDK・Terraform・SAMいずれの構成でも対応可能です。まずは小さなスタックから始めて、段階的に自動化を広げていきましょう。
Claude Codeの詳細はAnthropic公式ドキュメントをご覧ください。AWSのベストプラクティスはAWS Well-Architected Frameworkも参考になります。
関連記事
Claude CodeでCORS設定完全ガイド:クロスオリジン通信の実践解説
Claude Codeを活用したCORS設定の完全ガイド。プリフライトリクエスト、認証付きリクエスト、トラブルシューティングまで実践的に解説します。
Claude Codeで通貨フォーマットを正しく実装する
Claude Codeを使って、多通貨対応・ロケール別フォーマット・為替レート変換など、通貨の表示と処理を正しく実装する方法を解説します。
Claude CodeでDiscord Botを開発する実践ガイド
Claude Codeを活用したDiscord Botの開発方法を解説。discord.js、スラッシュコマンド、ボタン操作、Embed、音声チャンネル連携まで実践的に紹介します。