Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Che cos'è il AWS CDK?

Modalità Focus
Che cos'è il AWS CDK? - AWS Cloud Development Kit (AWS CDK) v2

Questa è la guida per sviluppatori AWS CDK v2. Il vecchio CDK v1 è entrato in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Questa è la guida per sviluppatori AWS CDK v2. Il vecchio CDK v1 è entrato in manutenzione il 1° giugno 2022 e ha terminato il supporto il 1° giugno 2023.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Cloud Development Kit (AWS CDK) È un framework di sviluppo software open source per definire l'infrastruttura cloud in codice e fornirla tramite. AWS CloudFormation

AWS CDK Si compone di due parti principali:

  • AWS CDK Construct Library: una raccolta di parti di codice modulari e riutilizzabili prescritte, chiamate costrutti, che è possibile utilizzare, modificare e integrare per sviluppare rapidamente l'infrastruttura. L'obiettivo di AWS CDK Construct Library è ridurre la complessità richiesta per definire e integrare i AWS servizi durante la creazione di applicazioni. AWS

  • AWS CDK Interfaccia a riga di comando (AWS CDK CLI) — Uno strumento a riga di comando per interagire con le app CDK. Usa il CDK CLI per creare, gestire e implementare i tuoi AWS CDK progetti. Il CDK CLI viene anche chiamato CDK Toolkit.

I supporti AWS CDK TypeScript, JavaScript, Python, Java, C#/.Nete Go. Puoi utilizzare uno qualsiasi di questi linguaggi di programmazione supportati per definire componenti cloud riutilizzabili noti come costrutti. Li componi insieme in pile e app. Quindi, distribuisci le tue applicazioni CDK per fornire o AWS CloudFormation aggiornare le tue risorse.

AWS CDK app structure with stacks, constructs, and deployment to CloudFormation.

Vantaggi della AWS CDK

Utilizzalo AWS CDK per sviluppare applicazioni affidabili, scalabili ed economiche nel cloud con la notevole potenza espressiva di un linguaggio di programmazione. Questo approccio offre molti vantaggi, tra cui:

Sviluppa e gestisci la tua infrastruttura come codice (IaC)

Pratica l'infrastruttura come codice per creare, implementare e gestire l'infrastruttura in modo programmatico, descrittivo e dichiarativo. Con IaC, trattate l'infrastruttura nello stesso modo in cui gli sviluppatori trattano il codice. Ciò si traduce in un approccio scalabile e strutturato alla gestione dell'infrastruttura. Per ulteriori informazioni su IaC, consulta Infrastructure as code nell'Introduzione a DevOps on AWS Whitepaper.

Con AWS CDK, puoi mettere l'infrastruttura, il codice dell'applicazione e la configurazione in un unico posto, assicurandoti di avere un sistema completo e implementabile sul cloud in ogni fase fondamentale. Utilizza le migliori pratiche di ingegneria del software come revisioni del codice, test unitari e controllo del codice sorgente per rendere la tua infrastruttura più robusta.

Definisci la tua infrastruttura cloud utilizzando linguaggi di programmazione generici

Con AWS CDK, puoi utilizzare uno dei seguenti linguaggi di programmazione per definire la tua infrastruttura cloud: TypeScript, JavaScript, Python, Java, C#/.Nete Go. Scegliete il vostro linguaggio preferito e utilizzate elementi di programmazione come parametri, condizionali, loop, composizione ed ereditarietà per definire il risultato desiderato della vostra infrastruttura.

Utilizza lo stesso linguaggio di programmazione per definire l'infrastruttura e la logica dell'applicazione.

Sfrutta i vantaggi dello sviluppo dell'infrastruttura nel tuo IDE (Integrated Development Environment) preferito, come l'evidenziazione della sintassi e il completamento intelligente del codice.

Code snippet showing AWS CDK setup for ECS cluster with VPC and Fargate service configuration.
Implementa l'infrastruttura tramite AWS CloudFormation

AWS CDK si integra con AWS CloudFormation per implementare e fornire l'infrastruttura su. AWS AWS CloudFormation è un servizio gestito Servizio AWS che offre un supporto completo per le configurazioni di risorse e proprietà per i servizi di provisioning su. AWS Con AWS CloudFormation, è possibile eseguire le implementazioni dell'infrastruttura in modo prevedibile e ripetuto, con ripristino in caso di errore. Se lo conosci già AWS CloudFormation, non devi imparare a usare un nuovo servizio di gestione IaC quando inizi a usare il. AWS CDK

Inizia a sviluppare rapidamente la tua applicazione con i costrutti

Sviluppa più velocemente utilizzando e condividendo componenti riutilizzabili chiamati costrutti. Usa costrutti di basso livello per definire le singole AWS CloudFormation risorse e le relative proprietà. Utilizza costrutti di alto livello per definire rapidamente componenti più grandi della tua applicazione, con impostazioni predefinite ragionevoli e sicure per AWS le tue risorse, definendo una maggiore infrastruttura con meno codice.

Crea i tuoi costrutti personalizzati per i tuoi casi d'uso unici e condividili all'interno dell'organizzazione o anche con il pubblico.

Esempio di AWS CDK

Di seguito è riportato un esempio di utilizzo della libreria AWS CDK Constructs per creare un servizio Amazon Elastic Container Service (Amazon ECS) con tipo di avvio. AWS Fargate Per maggiori dettagli su questo esempio, consulta. Esempio: creare un AWS Fargate servizio utilizzando AWS CDK

TypeScript
export class MyEcsConstructStack extends Stack { constructor(scope: App, id: string, props?: StackProps) { super(scope, id, props); const vpc = new ec2.Vpc(this, "MyVpc", { maxAzs: 3 // Default is all AZs in region }); const cluster = new ecs.Cluster(this, "MyCluster", { vpc: vpc }); // Create a load-balanced Fargate service and make it public new ecs_patterns.ApplicationLoadBalancedFargateService(this, "MyFargateService", { cluster: cluster, // Required cpu: 512, // Default is 256 desiredCount: 6, // Default is 1 taskImageOptions: { image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample") }, memoryLimitMiB: 2048, // Default is 512 publicLoadBalancer: true // Default is false }); } }
JavaScript
class MyEcsConstructStack extends Stack { constructor(scope, id, props) { super(scope, id, props); const vpc = new ec2.Vpc(this, "MyVpc", { maxAzs: 3 // Default is all AZs in region }); const cluster = new ecs.Cluster(this, "MyCluster", { vpc: vpc }); // Create a load-balanced Fargate service and make it public new ecs_patterns.ApplicationLoadBalancedFargateService(this, "MyFargateService", { cluster: cluster, // Required cpu: 512, // Default is 256 desiredCount: 6, // Default is 1 taskImageOptions: { image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample") }, memoryLimitMiB: 2048, // Default is 512 publicLoadBalancer: true // Default is false }); } } module.exports = { MyEcsConstructStack }
Python
class MyEcsConstructStack(Stack): def __init__(self, scope: Construct, id: str, **kwargs) -> None: super().__init__(scope, id, **kwargs) vpc = ec2.Vpc(self, "MyVpc", max_azs=3) # default is all AZs in region cluster = ecs.Cluster(self, "MyCluster", vpc=vpc) ecs_patterns.ApplicationLoadBalancedFargateService(self, "MyFargateService", cluster=cluster, # Required cpu=512, # Default is 256 desired_count=6, # Default is 1 task_image_options=ecs_patterns.ApplicationLoadBalancedTaskImageOptions( image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")), memory_limit_mib=2048, # Default is 512 public_load_balancer=True) # Default is False
Java
public class MyEcsConstructStack extends Stack { public MyEcsConstructStack(final Construct scope, final String id) { this(scope, id, null); } public MyEcsConstructStack(final Construct scope, final String id, StackProps props) { super(scope, id, props); Vpc vpc = Vpc.Builder.create(this, "MyVpc").maxAzs(3).build(); Cluster cluster = Cluster.Builder.create(this, "MyCluster") .vpc(vpc).build(); ApplicationLoadBalancedFargateService.Builder.create(this, "MyFargateService") .cluster(cluster) .cpu(512) .desiredCount(6) .taskImageOptions( ApplicationLoadBalancedTaskImageOptions.builder() .image(ContainerImage .fromRegistry("amazon/amazon-ecs-sample")) .build()).memoryLimitMiB(2048) .publicLoadBalancer(true).build(); } }
C#
public class MyEcsConstructStack : Stack { public MyEcsConstructStack(Construct scope, string id, IStackProps props=null) : base(scope, id, props) { var vpc = new Vpc(this, "MyVpc", new VpcProps { MaxAzs = 3 }); var cluster = new Cluster(this, "MyCluster", new ClusterProps { Vpc = vpc }); new ApplicationLoadBalancedFargateService(this, "MyFargateService", new ApplicationLoadBalancedFargateServiceProps { Cluster = cluster, Cpu = 512, DesiredCount = 6, TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions { Image = ContainerImage.FromRegistry("amazon/amazon-ecs-sample") }, MemoryLimitMiB = 2048, PublicLoadBalancer = true, }); } }
Go
func NewMyEcsConstructStack(scope constructs.Construct, id string, props *MyEcsConstructStackProps) awscdk.Stack { var sprops awscdk.StackProps if props != nil { sprops = props.StackProps } stack := awscdk.NewStack(scope, &id, &sprops) vpc := awsec2.NewVpc(stack, jsii.String("MyVpc"), &awsec2.VpcProps{ MaxAzs: jsii.Number(3), // Default is all AZs in region }) cluster := awsecs.NewCluster(stack, jsii.String("MyCluster"), &awsecs.ClusterProps{ Vpc: vpc, }) awsecspatterns.NewApplicationLoadBalancedFargateService(stack, jsii.String("MyFargateService"), &awsecspatterns.ApplicationLoadBalancedFargateServiceProps{ Cluster: cluster, // required Cpu: jsii.Number(512), // default is 256 DesiredCount: jsii.Number(5), // default is 1 MemoryLimitMiB: jsii.Number(2048), // Default is 512 TaskImageOptions: &awsecspatterns.ApplicationLoadBalancedTaskImageOptions{ Image: awsecs.ContainerImage_FromRegistry(jsii.String("amazon/amazon-ecs-sample"), nil), }, PublicLoadBalancer: jsii.Bool(true), // Default is false }) return stack }
export class MyEcsConstructStack extends Stack { constructor(scope: App, id: string, props?: StackProps) { super(scope, id, props); const vpc = new ec2.Vpc(this, "MyVpc", { maxAzs: 3 // Default is all AZs in region }); const cluster = new ecs.Cluster(this, "MyCluster", { vpc: vpc }); // Create a load-balanced Fargate service and make it public new ecs_patterns.ApplicationLoadBalancedFargateService(this, "MyFargateService", { cluster: cluster, // Required cpu: 512, // Default is 256 desiredCount: 6, // Default is 1 taskImageOptions: { image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample") }, memoryLimitMiB: 2048, // Default is 512 publicLoadBalancer: true // Default is false }); } }

Questa classe produce un AWS CloudFormation modello di oltre 500 righe. La distribuzione dell' AWS CDK app produce più di 50 risorse dei seguenti tipi.

AWS CDK features

Il AWS CDK GitHub repository

Per il funzionario AWS CDK GitHub repository, vedi aws-cdk. Qui puoi inviare problemi, visualizzare la nostra licenza, tenere traccia delle versioni e altro ancora.

Poiché AWS CDK è open source, il team ti incoraggia a contribuire per renderlo uno strumento ancora migliore. Per i dettagli, consulta Contributing to. AWS Cloud Development Kit (AWS CDK)

Il riferimento all' AWS CDK API

La AWS CDK Construct Library consente APIs di definire l'applicazione CDK e aggiungere costrutti CDK all'applicazione. Per ulteriori informazioni, consulta la Documentazione di riferimento delle API di AWS CDK.

Il modello di programmazione Construct

Il Construct Programming Model (CPM) estende i concetti alla base AWS CDK in altri domini. Altri strumenti che utilizzano il CPM includono:

Il Construct Hub

Construct Hub è un registro online in cui è possibile trovare, pubblicare e condividere librerie open source AWS CDK .

Passaggi successivi

Per iniziare a usare il AWS CDK, consulta. Guida introduttiva al AWS CDK

Ulteriori informazioni

Per continuare a conoscere il AWS CDK, consulta quanto segue:

Per ulteriori informazioni sugli argomenti correlati a AWS CDK, consulta quanto segue:

  • AWS CloudFormation concetti: poiché AWS CDK è progettato per funzionare AWS CloudFormation, ti consigliamo di apprendere e comprendere AWS CloudFormation i concetti chiave.

  • AWS Glossario: definizioni dei termini chiave utilizzati in tutto AWS.

Per ulteriori informazioni sugli strumenti correlati AWS CDK che possono essere utilizzati per semplificare lo sviluppo e la distribuzione di applicazioni serverless, consulta quanto segue:

  • AWS Serverless Application Model— Uno strumento di sviluppo open source che semplifica e migliora l'esperienza di creazione ed esecuzione di applicazioni serverless su. AWS

  • AWS Chalice— Un framework per scrivere app serverless in Python.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.