Gerencie aplicativos de contêineres on-premises configurando o Amazon ECS Anywhere com o AWS CDK
Dr. Rahul Sharad Gaikwad, Amazon Web Services
Resumo
O Amazon ECS Anywhere
Esse padrão demonstra as etapas para configurar o ECS Anywhere usando pilhas do AWS Cloud Development Kit (AWS CDK
Pré-requisitos e limitações
Pré-requisitos
Uma conta AWS ativa
AWS Command Line Interface (AWS CLI), instalada e configurada. (Consulte Instalar, atualizar e desinstalar a AWS CLI na documentação da AWS CLI.)
AWS CDK Toolkit, instalado e configurado. (Consulte o AWS CDK Toolkit na documentação do AWS CDK e siga as instruções para instalar a versão 2 globalmente.)
Gerenciador de pacotes de nó (npm), instalado e configurado para o AWS CDK em TypeScript. (Consulte Como baixar e instalar o Node.js e o npm
na documentação do npm.)
Limitações
Para limitações e considerações, consulte Instâncias externas (Amazon ECS Anywhere) na documentação do Amazon ECS.
Versões do produto
AWS CDK Toolkit versão 2
npm versão 7.20.3 ou superior
Node.js versão 16.6.1 ou superior
Arquitetura
Pilha de tecnologias de destino
AWS CloudFormation
AWS CDK
Amazon ECS Anywhere
AWS Identity and Access Management (IAM)
Arquitetura de destino
O diagrama a seguir ilustra uma arquitetura de sistema de alto nível da configuração do ECS Anywhere usando o AWS CDK com TypeScript, conforme implementado por esse padrão.
Quando você implanta a pilha de CDK da AWS, ela cria uma pilha do CloudFormation na AWS.
A pilha do CloudFormation provisiona um cluster do Amazon ECS e recursos relacionados da AWS.
Para registrar uma instância externa com um cluster do Amazon ECS, você deve instalar o AWS Systems Manager Agent (SSM Agent) na sua máquina virtual (VM) e registrar a VM como uma instância gerenciada do AWS Systems Manager.
Você deve instalar o agente de contêiner do Amazon ECS e o Docker na sua VM para registrá-la como instância externa com o cluster do Amazon ECS.
Quando a instância externa é registrada e configurada com o cluster Amazon ECS, ela pode executar vários contêineres na sua VM, que é registrada como uma instância externa.

Automação e escala
O repositório do GitHub
Ferramentas
O AWS Cloud Development Kit (AWS CDK) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura da Nuvem AWS em código.
A AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que permite que você interaja com serviços da AWS usando comandos no shell da linha de comando.
Código da
O código-fonte desse padrão está disponível no GitHub, no repositório Amazon ECS Anywhere CDK Samples
Épicos
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Verifique a versão do AWS CDK. | Verifique a versão do AWS CDK Toolkit executando o seguinte comando:
Esse padrão requer o AWS CDK versão 2. Se você tiver uma versão anterior do AWS CDK, siga as instruções na documentação do AWS CDK para atualizá-la. | Engenheiro de DevOps |
Configure as credenciais da AWS. | Para configurar as credenciais, execute o comando
| Engenheiro de DevOps |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Clone o repositório de códigos do AWS CDK. | Clone o repositório de código do GitHub para esse padrão usando o comando:
| Engenheiro de DevOps |
Faça o bootstrap do ambiente. | Para implantar o modelo do AWS CloudFormation na conta e na região da AWS que você deseja usar, execute o seguinte comando:
Para obter mais informações, consulte Bootstrapping na documentação do AWS CDK. | Engenheiro de DevOps |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Instale as dependências do pacote e compile arquivos TypeScript. | Instale as dependências do pacote e compile os arquivos TypeScript executando os seguintes comandos:
Esses comandos instalam todos os pacotes do repositório de exemplo. ImportanteSe você receber algum erro sobre pacotes ausentes, use um dos seguintes comandos:
—ou—
Para obter mais informações, consulte npm ci | Engenheiro de DevOps |
Crie o projeto. | Para construir o código do projeto, execute o comando:
Para obter mais informações sobre como criar e implantar o projeto, consulte Seu primeiro aplicativo da AWS CDK na documentação do AWS CDK. | Engenheiro de DevOps |
Implante o projeto. | Para implantar o código do projeto, execute o comando:
| Engenheiro de DevOps |
Verifique a criação e a saída da pilha. | Abra o console do AWS CloudFormation em https://console.aws.amazon.com/cloudformation | Engenheiro de DevOps |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Configure sua VM usando o Vagrant. | Para fins de demonstração, você pode usar o HashiCorp Vagrant | Engenheiro de DevOps |
Registre sua VM como uma instância externa. | 1. Faça login na VM Vagrant usando o comando 2. Crie um código de ativação e um ID que você possa usar para registrar sua VM no AWS Systems Manager e ativar sua instância externa. A saída desse comando inclui os valores
3. Exporte a ID de ativação e os valores do código:
4. No servidor on-premises ou na máquina virtual (VM), baixe o script de instalação:
5. No servidor on-premises ou na máquina virtual (VM), execute o script de instalação:
Para obter mais informações sobre como configurar e registrar sua VM, consulte Registro de uma instância externa em um cluster | Engenheiro de DevOps |
Verifique o status do ECS Anywhere e da VM externa. | Para verificar se sua caixa virtual está conectada ao ambiente de gerenciamento do Amazon ECS e em execução, use os seguintes comandos:
| Engenheiro de DevOps |
| Tarefa | Descrição | Habilidades necessárias |
|---|---|---|
Limpe e exclua recursos. | Depois de percorrer esse padrão, você deve remover os recursos criados para evitar cobranças adicionais. Para limpar, execute o comando:
| Engenheiro de DevOps |