So automatisieren Sie AWS-Deployments mit Claude Code [Praxisleitfaden]
So automatisieren Sie AWS-Deployments mit Claude Code [Praxisleitfaden]. Ein praktischer Leitfaden mit Codebeispielen.
Warum AWS-Deployments mit Claude Code automatisieren
Das Deployment auf AWS umfasst das Schreiben von Konfigurationsdateien, die Verwaltung von IAM-Rollen, das Setzen von Umgebungsvariablen und andere fehleranfällige Aufgaben. Claude Code kann bei allem unterstützen – von der Generierung von Infrastrukturcode bis zur Ausführung von Deployments – und versteht dabei Ihre Projektstruktur.
Ein AWS CDK-Projekt aufbauen
Hier ein Beispiel, wie Claude Code gebeten wird, Infrastruktur mit CDK aufzubauen.
> Erstelle einen ECS Fargate Stack mit AWS CDK.
> Die App ist Node.js mit einem vorgeschalteten ALB.
> Konfiguriere es so, dass Umgebungsvariablen aus dem SSM Parameter Store geladen werden.
Schauen wir uns den CDK-Code an, den Claude Code generiert.
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-Integration
Sie können auch das Infrastrukturmanagement mit Terraform durch Claude Code optimieren.
> Definiere S3 + CloudFront Static Site Hosting in terraform/main.tf.
> Richte auch WAF mit Rate Limiting ein.
> Überprüfe die terraform plan-Ausgabe und sage mir, ob es Probleme gibt.
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-Integration
Sie können Claude Code auch bitten, Ihre CI/CD-Pipeline einzurichten.
> Erstelle einen GitHub Actions Workflow.
> Er soll automatisch CDK deploy bei Push auf den main-Branch ausführen.
> Verwende OIDC-Authentifizierung zur Verbindung mit 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
Deployment-Fehlerbehebung
Wenn Deployment-Fehler auftreten, können Sie Claude Code auch um eine Analyse bitten.
> Ich habe folgenden Fehler von cdk deploy bekommen. Erkläre die Ursache und wie ich es beheben kann:
> Error: The security group 'sg-xxx' does not exist
Claude Code gleicht die Fehlermeldung mit Ihrer Projektstruktur ab, um VPC- oder Security-Group-Konfigurationsprobleme zu identifizieren. Für allgemeine Fehlerbehebungs-Workflows siehe 10 Tipps zur Verdreifachung Ihrer Claude Code-Produktivität.
Best Practices für die Deployment-Automatisierung
- Umgebungskonfigurationen trennen: Umgebungen über
contextincdk.jsonwechseln - Drift-Erkennung: Regelmäßig
cdk diffausführen, um Abweichungen zu prüfen - Rollback-Strategie: Blue/Green-Deployment-Konfigurationen im Voraus vorbereiten
Wenn Sie diese Einstellungen in CLAUDE.md dokumentieren, generiert Claude Code stets Code, der den Richtlinien Ihres Projekts entspricht. Zur CLAUDE.md-Nutzung siehe den kompletten CLAUDE.md-Leitfaden.
Zusammenfassung
Mit Claude Code können Sie den gesamten Deployment-Workflow optimieren – vom AWS-Infrastruktur-Setup bis zur CI/CD-Pipeline-Konfiguration. Es funktioniert gleichermaßen mit CDK, Terraform und SAM. Beginnen Sie mit einem kleinen Stack und erweitern Sie Ihre Automatisierung schrittweise.
Weitere Informationen zu Claude Code finden Sie in der offiziellen Anthropic-Dokumentation. Für AWS-Best-Practices siehe das AWS Well-Architected Framework.
Related Posts
So beschleunigen Sie Ihre Nebenprojekte mit Claude Code [Mit Beispielen]
Erfahren Sie, wie Sie persönliche Entwicklungsprojekte mit Claude Code drastisch beschleunigen. Inklusive realer Beispiele und eines praktischen Workflows von der Idee bis zum Deployment.
So automatisieren Sie Refactoring mit Claude Code
Erfahren Sie, wie Sie Code-Refactoring mit Claude Code effizient automatisieren. Inklusive praktischer Prompts und konkreter Refactoring-Muster für reale Projekte.
Vollständiger CORS-Konfigurationsleitfaden mit Claude Code
Erfahren Sie alles über die CORS-Konfiguration mit Claude Code. Mit praktischen Tipps und Codebeispielen.