Comment automatiser les deploiements AWS avec Claude Code [Guide pratique]
Comment automatiser les deploiements AWS avec Claude Code [Guide pratique]. Guide pratique avec exemples de code.
Pourquoi automatiser les deploiements AWS avec Claude Code
Deployer sur AWS implique d’ecrire des fichiers de configuration, de gerer les roles IAM, de configurer les variables d’environnement et d’autres taches sujettes aux erreurs. Claude Code peut assister dans tout, de la generation de code d’infrastructure a l’execution des deploiements, tout en comprenant la structure de votre projet.
Construction d’un projet AWS CDK
Voici un exemple de demande a Claude Code pour construire l’infrastructure avec CDK.
> Cree un stack ECS Fargate avec AWS CDK.
> L'application est en Node.js avec un ALB en frontal.
> Configure-le pour recuperer les variables d'environnement depuis SSM Parameter Store.
Voyons le code CDK que Claude Code genere.
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' },
});
}
}
Integration Terraform
Vous pouvez egalement optimiser la gestion d’infrastructure avec Terraform en utilisant Claude Code.
> Definis l'hebergement de site statique S3 + CloudFront dans terraform/main.tf.
> Configure egalement WAF avec du rate limiting.
> Verifie la sortie de terraform plan et dis-moi s'il y a des problemes.
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
}
}
Integration GitHub Actions
Vous pouvez egalement demander a Claude Code de configurer votre pipeline CI/CD.
> Cree un workflow GitHub Actions.
> Il doit executer automatiquement cdk deploy lors d'un push sur la branche main.
> Utilise l'authentification OIDC pour se connecter a 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
Resolution des problemes de deploiement
Lorsque des erreurs de deploiement surviennent, vous pouvez aussi demander a Claude Code de les analyser.
> J'ai obtenu l'erreur suivante de cdk deploy. Dis-moi la cause et comment la corriger :
> Error: The security group 'sg-xxx' does not exist
Claude Code croise le message d’erreur avec la structure de votre projet pour identifier les problemes de configuration VPC ou de groupes de securite. Pour les flux de travail generaux de resolution de problemes, consultez les 10 conseils pour tripler votre productivite avec Claude Code.
Meilleures pratiques pour l’automatisation des deploiements
- Separer les configurations par environnement : Changer d’environnement en utilisant
contextdanscdk.json - Detection des derives : Executer
cdk diffregulierement pour verifier les ecarts - Strategie de rollback : Preparer des configurations de deploiement Blue/Green a l’avance
En documentant ces configurations dans CLAUDE.md, Claude Code generera toujours du code aligne avec les directives de votre projet. Pour en savoir plus sur l’utilisation de CLAUDE.md, consultez le guide complet CLAUDE.md.
Summary
Avec Claude Code, vous pouvez optimiser tout le flux de deploiement, de la configuration de l’infrastructure AWS a la configuration du pipeline CI/CD. Cela fonctionne aussi bien avec CDK, Terraform que SAM. Commencez avec un petit stack et etendez progressivement votre automatisation.
Pour plus d’informations sur Claude Code, consultez la documentation officielle d’Anthropic. Pour les meilleures pratiques AWS, consultez le AWS Well-Architected Framework.
Related Posts
Comment booster vos projets personnels avec Claude Code [Avec exemples]
Apprenez à accélérer considérablement vos projets de développement personnels avec Claude Code. Inclut des exemples concrets et un workflow pratique de l'idée au déploiement.
Comment automatiser le refactoring avec Claude Code
Apprenez à automatiser efficacement le refactoring de code avec Claude Code. Inclut des prompts pratiques et des patterns de refactoring concrets pour des projets réels.
Guide complet de configuration CORS avec Claude Code
Découvrez le guide complet de configuration CORS avec Claude Code. Conseils pratiques et exemples de code inclus.