Cara Mengotomatisasi AWS Deployment dengan Claude Code [Panduan Praktis]
Cara Mengotomatisasi AWS Deployment dengan Claude Code [Panduan Praktis]. Panduan praktis dengan contoh kode.
Mengapa Mengotomatisasi AWS Deployment dengan Claude Code
Deploy ke AWS melibatkan penulisan file konfigurasi, mengelola IAM role, mengatur variabel lingkungan, dan tugas lain yang rawan error. Claude Code bisa membantu semuanya mulai dari generate kode infrastruktur hingga menjalankan deployment, sambil memahami struktur project kamu.
Membangun Project AWS CDK
Berikut contoh meminta Claude Code membangun infrastruktur menggunakan CDK.
> Buat stack ECS Fargate menggunakan AWS CDK.
> App-nya Node.js dengan ALB di depannya.
> Konfigurasikan untuk menarik variabel lingkungan dari SSM Parameter Store.
Mari lihat kode CDK yang di-generate Claude Code.
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' },
});
}
}
Integrasi Terraform
Kamu juga bisa menyederhanakan manajemen infrastruktur dengan Terraform menggunakan Claude Code.
> Definisikan hosting situs statis S3 + CloudFront di terraform/main.tf.
> Atur juga WAF dengan rate limiting.
> Periksa output terraform plan dan beri tahu jika ada masalah.
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
}
}
Integrasi GitHub Actions
Kamu juga bisa meminta Claude Code untuk setup pipeline CI/CD.
> Buat workflow GitHub Actions.
> Otomatis jalankan CDK deploy saat push ke branch main.
> Gunakan autentikasi OIDC untuk terhubung ke 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: us-east-1
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm ci
- run: npx cdk deploy --require-approval never
Troubleshooting Deployment
Ketika terjadi error deployment, kamu juga bisa meminta Claude Code menganalisisnya.
> Saya mendapat error berikut dari cdk deploy. Beritahu penyebab dan cara memperbaikinya:
> Error: The security group 'sg-xxx' does not exist
Claude Code melakukan cross-reference pesan error dengan struktur project kamu untuk mengidentifikasi masalah konfigurasi VPC atau security group. Untuk alur kerja troubleshooting umum, lihat 10 Tips untuk Melipatgandakan Produktivitas Claude Code 3x.
Best Practice Otomasi Deployment
- Pisahkan konfigurasi environment: Ganti environment menggunakan
contextdicdk.json - Deteksi drift: Jalankan
cdk diffsecara berkala untuk memeriksa perbedaan - Strategi rollback: Siapkan konfigurasi deployment Blue/Green terlebih dahulu
Dengan mendokumentasikan pengaturan ini di CLAUDE.md, Claude Code akan selalu men-generate kode yang selaras dengan panduan project kamu. Untuk penggunaan CLAUDE.md, lihat Panduan Lengkap CLAUDE.md.
Summary
Dengan Claude Code, kamu bisa menyederhanakan seluruh alur kerja deployment — dari setup infrastruktur AWS hingga konfigurasi pipeline CI/CD. Bekerja dengan CDK, Terraform, dan SAM. Mulai dengan stack kecil dan perluas otomasi secara bertahap.
Untuk Claude Code, lihat dokumentasi resmi Anthropic. Untuk best practice AWS, lihat AWS Well-Architected Framework.
Related Posts
Cara Mempercepat Side Project dengan Claude Code [Dengan Contoh]
Pelajari cara mempercepat project development personal secara drastis menggunakan Claude Code. Dilengkapi contoh nyata dan workflow praktis dari ide hingga deployment.
Cara Mengotomatisasi Refactoring dengan Claude Code
Pelajari cara mengotomatisasi code refactoring secara efisien menggunakan Claude Code. Dilengkapi prompt praktis dan pola refactoring konkret untuk project nyata.
Panduan Lengkap Konfigurasi CORS dengan Claude Code
Pelajari tentang panduan lengkap konfigurasi CORS menggunakan Claude Code. Dilengkapi tips praktis dan contoh kode.