Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

O que é o AWS CDK?

Modo de foco
O que é o AWS CDK? - AWS Cloud Development Kit (AWS CDK) v2

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Cloud Development Kit (AWS CDK) É uma estrutura de desenvolvimento de software de código aberto para definir a infraestrutura de nuvem em código e provisioná-la por meio dela. AWS CloudFormation

O AWS CDK consiste em duas partes principais:

  • AWS CDK Construct Library — Uma coleção de trechos de código modulares e reutilizáveis pré-escritos, chamados de construções, que você pode usar, modificar e integrar para desenvolver sua infraestrutura rapidamente. O objetivo da AWS CDK Construct Library é reduzir a complexidade necessária para definir e integrar AWS serviços ao criar aplicativos AWS.

  • AWS CDK Interface de linha de comando (AWS CDK CLI) — Uma ferramenta de linha de comando para interagir com aplicativos CDK. Usar o CDK  CLI para criar, gerenciar e implantar seus AWS CDK projetos. O CDK CLI também é conhecido como CDK Toolkit.

Os AWS CDK suportes TypeScript, JavaScript, Python, Java, C#/.Net e Go. Você pode usar qualquer uma dessas linguagens de programação compatíveis para definir componentes de nuvem reutilizáveis conhecidos como construções. Você os compõe em pilhas e aplicações. Em seguida, você implanta suas aplicações CDK AWS CloudFormation para provisionar ou atualizar seus recursos.

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

Benefícios do AWS CDK

Use o AWS CDK para desenvolver aplicativos confiáveis, escaláveis e econômicos na nuvem com o considerável poder expressivo de uma linguagem de programação. Essa abordagem gera muitos benefícios, incluindo:

Desenvolver e gerenciar sua infraestrutura como código (IaC)

Pratique a infraestrutura como código para criar, implantar e manter a infraestrutura de forma programática, descritiva e declarativa. Com a IaC, você trata a infraestrutura da mesma forma que os desenvolvedores tratam o código. Isso resulta em uma abordagem escalável e estruturada para gerenciar a infraestrutura. Para saber mais sobre o IaC, consulte Infraestrutura como código na Introdução ao DevOps AWS Whitepaper.

Com o AWS CDK, você pode colocar sua infraestrutura, código de aplicativo e configuração em um só lugar, garantindo que você tenha um sistema completo e implantável na nuvem em cada etapa. Empregue as práticas recomendadas de engenharia de software, como análises de código, testes de unidade e controle de origem, para tornar sua infraestrutura mais robusta.

Defina sua infraestrutura de nuvem usando linguagens de programação de uso geral

Com o AWS CDK, você pode usar qualquer uma das seguintes linguagens de programação para definir sua infraestrutura de nuvem: TypeScript, JavaScript, Python, Java, C#/.Net e Go. Escolha sua linguagem preferida e use elementos de programação como parâmetros, condicionais, loops, composição e herança para definir o resultado desejado de sua infraestrutura.

Use a mesma linguagem de programação para definir sua infraestrutura e sua lógica de aplicação.

Receba os benefícios de desenvolver a infraestrutura em seu IDE (Ambiente de Desenvolvimento Integrado) preferido, como destaque de sintaxe e preenchimento inteligente de código.

Code snippet showing AWS CDK setup for ECS cluster with VPC and Fargate service configuration.
Implante a infraestrutura por meio de AWS CloudFormation

AWS CDK se integra AWS CloudFormation para implantar e provisionar sua infraestrutura. AWS AWS CloudFormation é um gerenciador AWS service (Serviço da AWS) que oferece amplo suporte de configurações de recursos e propriedades para serviços de provisionamento em. AWS Com AWS CloudFormation, você pode realizar implantações de infraestrutura de forma previsível e repetida, com reversão em caso de erro. Se você já está familiarizado com AWS CloudFormation, não precisa aprender um novo serviço de gerenciamento de IaC ao começar a AWS CDK usar o.

Comece a desenvolver sua aplicação rapidamente com constructos

Desenvolva mais rápido usando e compartilhando componentes reutilizáveis chamados constructos. Use construções de baixo nível para definir AWS CloudFormation recursos individuais e suas propriedades. Use construções de alto nível para definir rapidamente componentes maiores do seu aplicativo, com padrões sensatos e seguros para seus AWS recursos, definindo mais infraestrutura com menos código.

Crie seus próprios constructos personalizados para seus casos de uso exclusivos e compartilhe-os em toda a organização ou até mesmo com o público.

Exemplo do AWS CDK

Veja a seguir um exemplo do uso da AWS CDK Constructs Library para criar um serviço Amazon Elastic Container Service (Amazon ECS) com tipo de lançamento. AWS Fargate Para obter mais detalhes, consulte Exemplo: Crie um AWS Fargate serviço usando o 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 }); } }

Essa classe produz um AWS CloudFormation modelo de mais de 500 linhas. A implantação do AWS CDK aplicativo produz mais de 50 recursos dos seguintes tipos.

AWS CDK features

O AWS CDK GitHub repositório

Para o oficial AWS CDK GitHub repositório, consulte aws-cdk. Aqui, você pode enviar problemas, ver nossa licença, acompanhar lançamentos e muito mais.

Por ser de AWS CDK código aberto, a equipe incentiva você a contribuir para torná-la uma ferramenta ainda melhor. Para obter detalhes, consulte Contribuindo para o AWS Cloud Development Kit (AWS CDK).

A referência AWS CDK da API

A AWS CDK Construct Library APIs permite definir seu aplicativo CDK e adicionar construções CDK ao aplicativo. Para obter mais informações, consulte a Referência da API do AWS CDK.

O modelo de programação do constructo

O Construct Programming Model (CPM) estende os conceitos por trás do AWS CDK em domínios adicionais. Outras ferramentas que usam o CPM incluem:

O Hub de Constructos

O Construct Hub é um registro on-line onde você pode encontrar, publicar e compartilhar AWS CDK bibliotecas de código aberto.

Próximas etapas

Para começar a usar o AWS CDK, consulteComeçando com o AWS CDK.

Saiba mais

Para continuar aprendendo sobre o AWS CDK, consulte o seguinte:

Para saber mais sobre tópicos relacionados ao AWS CDK, consulte o seguinte:

  • AWS CloudFormation conceitos — Como o foi AWS CDK desenvolvido para funcionar AWS CloudFormation, recomendamos que você aprenda e compreenda AWS CloudFormation os principais conceitos.

  • AWS Glossário — Definições dos principais termos usados em todos AWS os.

Para saber mais sobre ferramentas relacionadas ao AWS CDK que podem ser usadas para simplificar o desenvolvimento e a implantação de aplicativos sem servidor, consulte o seguinte:

  • AWS Serverless Application Model — Uma ferramenta de desenvolvedor de código aberto que simplifica e melhora a experiência de compilar e executar aplicações de tecnologia sem servidor no AWS.

  • AWS Chalice— Uma estrutura para escrever aplicativos sem servidor em Python.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.