Este é o Guia do desenvolvedor do 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á.
O que é o AWS CDK?
O kit de desenvolvimento em nuvem da da AWS (CDK da AWS) é uma estrutura de desenvolvimento de software de código aberto para definir a infraestrutura de nuvem em código e provisioná-la por meio do AWS CloudFormation.
O AWS CDK consiste em duas partes principais:
-
Biblioteca de Constructos do AWS CDK : uma coleção de trechos de código modulares e reutilizáveis pré-escritos, chamados de constructos, que podem ser usados, modificados e integrados para desenvolver sua infraestrutura rapidamente. O objetivo da Biblioteca de Constructos do AWS CDK é reduzir a complexidade necessária para definir e integrar serviços da AWS ao compilar aplicações na AWS.
-
Kit de Ferramentas CDK da AWS: ferramentas que podem ser usadas para gerenciar e interagir com suas aplicações do CDK, como realizar síntese ou implantação. O Kit de Ferramentas CDK consiste em uma ferramenta de linha de comando (CLI do CDK) e uma biblioteca programática (Biblioteca do Kit de Ferramentas CDK).
O AWS CDK oferece suporte a TypeScript, JavaScript, Python, Java, C#/.Net e Go. É possível usar qualquer uma dessas linguagens de programação compatíveis para definir componentes de nuvem reutilizáveis conhecidos como constructos. Você os compõe em pilhas e aplicações. Em seguida, você implanta suas aplicações do CDK por meio do AWS CloudFormation para provisionar ou atualizar seus recursos.
Benefícios do AWS CDK
Use o AWS CDK para desenvolver aplicações confiáveis, escaláveis e com bom custo-benefício 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 a IaC, consulte Infraestrutura como código no Whitepaper Introdução ao DevOps no AWS.
Com o AWS CDK, é possível colocar sua infraestrutura, código de aplicação 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, é possível 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 preferencial e use elementos de programação como parâmetros, condicionais, loops, composição e herança para definir o resultado desejado da 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.
- Implementação de infraestrutura por meio do AWS CloudFormation
-
O AWS CDK se integra ao AWS CloudFormation para implantar e provisionar sua infraestrutura na AWS. AWS O CloudFormation é um serviço da AWS gerenciado que oferece amplo suporte de configurações de recursos e propriedades para serviços de provisionamento na AWS. Com o AWS CloudFormation, é possível realizar implantações de infraestrutura de forma previsível e repetida, com reversão em caso de erro. Se você já estiver familiarizado com o AWS CloudFormation, não precisa aprender um novo serviço de gerenciamento de IaC ao começar a usar o AWS CDK.
- Comece a desenvolver sua aplicação rapidamente com constructos
-
Desenvolva mais rápido usando e compartilhando componentes reutilizáveis chamados constructos. Use constructos de baixo nível para definir recursos individuais do AWS CloudFormation e suas propriedades. Use constructos de alto nível para definir rapidamente componentes maiores da sua aplicação, com padrões sensatos e seguros para seus recursos AWS, 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
A seguir está um exemplo de como usar a Biblioteca de Constructos do AWS CDK para criar um serviço Amazon Elastic Container Service (Amazon ECS) com o tipo de lançamento do AWS Fargate. Para obter mais detalhes sobre esse exemplo, consulte Exemplo: criação de um serviço do AWS Fargate usando o AWS CDK.
Essa classe produz um modelo do AWS CloudFormation de mais de 500 linhas. A implantação da aplicação do AWS CDK produz mais de 50 recursos dos tipos a seguir:
Atributos do AWS CDK
O repositório do GitHub do AWS CDK
Para obter o repositório do GitHub oficial do AWS CDK, consulte aws-cdk
Como o AWS CDK é de código aberto, a equipe incentiva você a contribuir para torná-lo uma ferramenta ainda melhor. Para obter detalhes, consulte Contribuição ao kit de desenvolvimento em nuvem da AWS (CDK da AWS)
A referência de API do AWS CDK
A Biblioteca de Constructos do AWS CDK fornece APIs para definir sua aplicação CDK e adicionar constructos do CDK à aplicação. Para obter mais informações, consulte a Referência de API do AWS CDK.
O modelo de programação do constructo
O Modelo de Programação do Constructo (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 Hub de Constructos
Próximas etapas
Para começar a usar o AWS CDK, consulte Conceitos básicos do AWS CDK.
Saiba mais
Para continuar aprendendo sobre o AWS CDK, consulte o seguinte:
-
Saiba mais sobre os principais conceitos do CDK da AWS: conceitos e termos importantes para o CDK da AWS.
-
Workshop do AWS CDK
: workshop prático para aprender e usar o AWS CDK. -
Padrões do AWS CDK
: coleção de código aberto de padrões de arquitetura de tecnologia sem servidor da AWS, criada para o AWS CDK por especialistas da AWS. -
Exemplos de código do AWS CDK
: repositório do GitHub de projetos de exemplo do AWS. -
cdk.dev
: hub orientado pela comunidade para o AWS CDK, incluindo um espaço de trabalho comunitário Slack. -
Awesome CDK
: repositório do GitHub contendo uma lista selecionada de projetos, guias, blogs e outros recursos de código aberto do AWS CDK. -
Constructos de soluções da AWS
: padrões aprovados de configuração de infraestrutura como código (IaC) que podem ser facilmente montados em aplicações prontos para produção. -
Blog de ferramentas para desenvolvedores da AWS
: postagens de blog filtradas para o AWS CDK. -
AWS CDK no Stack Overflow
perguntas marcadas com a tag aws-cdk no Stack Overflow. -
Tutorial do CDK da AWS para o AWS Cloud9 : tutorial sobre como usar o AWS CDK com o ambiente de desenvolvimento AWS Cloud9.
Para saber mais tópicos relacionados ao AWS CDK, consulte o seguinte:
-
Conceitos do AWS CloudFormation : como o AWS CDK foi desenvolvido para funcionar com o AWS CloudFormation, recomendamos que você aprenda e compreenda os principais conceitos do AWS CloudFormation.
-
Glossário da AWS : definições dos principais termos usados na AWS.
Para saber mais sobre ferramentas relacionadas ao AWS CDK que podem ser usadas para simplificar o desenvolvimento e a implantação de aplicações em tecnologia sem servidor, consulte o seguinte:
-
Modelo de aplicação com tecnologia sem servidor da AWS
: 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 na AWS. -
AWS Chalice
: uma estrutura para escrever aplicações de tecnologia sem servidor no Python.