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.

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.
- 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.
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
AWS CDK features
O AWS CDK GitHub repositório
Para o oficial AWS CDK GitHub repositório, consulte aws-cdk
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:
-
CDK para Terraform
() CDKtf -
CDK para Kubernetes
() CDK8s -
Projen
, para criar configurações de projeto
O Hub de Constructos
O Construct Hub
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:
-
Aprenda os AWS CDK principais conceitos— Conceitos e termos importantes para AWS CDK o.
-
AWS CDK Workshop
— Workshop prático para aprender e usar o. AWS CDK -
AWS CDK Padrões
— Coleção de código aberto de padrões de arquitetura AWS sem servidor, criada para o AWS CDK por especialistas. AWS -
AWS CDK exemplos de código
— GitHub repositório de AWS CDK projetos de exemplo. -
cdk.dev
— Hub orientado pela comunidade para o, incluindo uma comunidade AWS CDKSlack espaço de trabalho. -
CDK incrível
— GitHub repositório contendo uma lista selecionada de projetos, guias, blogs e outros recursos de AWS CDK código aberto. -
AWS Construções de soluções
— padrões aprovados de infraestrutura de configuração como código (IaC) que podem ser facilmente montados em aplicativos prontos para produção. -
AWS Blog de ferramentas para desenvolvedores
— Postagens de blog filtradas para o. AWS CDK -
AWS CDK em Stack Overflow
— Perguntas marcadas com aws-cdk em Stack Overflow. -
AWS CDK tutorial para AWS Cloud9 — Tutorial sobre como usar o AWS CDK com o ambiente de AWS Cloud9 desenvolvimento.
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.