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á.
Implante aplicativos em contêineres em AWS IoT Greengrass V2 execução como um contêiner Docker
Salih Bakir, Giuseppe Di Bella e Gustav Svalander, da Amazon Web Services
Resumo
AWS IoT Greengrass Version 2, quando implantado como um contêiner Docker, não oferece suporte nativo à execução de contêineres de aplicativos Docker. Esse padrão mostra como criar uma imagem de contêiner personalizada com base na versão mais recente AWS IoT Greengrass V2 que habilita a funcionalidade Docker-in-Docker (DiND). Com o DiND, você pode executar aplicativos em contêineres dentro do ambiente. AWS IoT Greengrass V2
Você pode implantar esse padrão como uma solução independente ou integrá-lo a plataformas de orquestração de contêineres, como o Amazon ECS Anywhere. Em qualquer modelo de implantação, você mantém a AWS IoT Greengrass V2 funcionalidade completa, incluindo os recursos de processamento do AWS IoT SiteWise Edge, ao mesmo tempo em que permite implantações escaláveis baseadas em contêineres.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS.
Para AWS IoT Greengrass Version 2 pré-requisitos gerais, consulte Pré-requisitos na documentação. AWS IoT Greengrass Version 2
Docker Engine, instalado e configurado no Linux, macOS ou Windows.
Docker Compose (se você usar a interface de linha de comando (CLI) do Docker Compose para executar imagens do Docker).
Um sistema operacional Linux.
Um hipervisor com um servidor host que oferece suporte à virtualização.
Requisitos do sistema:
2 GB de RAM (mínimo)
5 GB de espaço em disco disponível (mínimo)
Para o AWS IoT SiteWise Edge, uma CPU quad-core x86_64 com 16 GB de RAM e 50 GB de espaço em disco disponível. Para obter mais informações sobre processamento de AWS IoT SiteWise dados, consulte Requisitos do pacote de processamento de dados na AWS IoT SiteWise documentação.
Versões do produto
AWS IoT Greengrass Version 2 versão 2.5.3 ou posterior
Docker-in-Docker versão 1.0.0 ou posterior
Docker Compose versão 1.22 ou posterior
Docker Engine versão 20.10.12 ou posterior
Limitações
Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte AWS Services by Region
. Para endpoints específicos, consulte Service endpoints and quotas e clique no link correspondente ao serviço desejado.
Arquitetura
Pilha de tecnologias de destino
Fontes de dados — dispositivos de IoT, sensores ou equipamentos industriais que geram dados para processamento
AWS IoT Greengrass V2— Funcionando como um contêiner Docker com D-in-D recursos, implantado em infraestruturas de ponta
Aplicativos em contêineres — aplicativos personalizados executados no AWS IoT Greengrass V2 ambiente como contêineres Docker aninhados
(Opcional) Amazon ECS Anywhere — orquestração de contêineres que gerencia a implantação do contêiner AWS IoT Greengrass V2
Outros Serviços da AWS — AWS IoT Core, AWS IoT SiteWise, e outros Serviços da AWS para processamento e gerenciamento de dados
Arquitetura de destino
O diagrama a seguir mostra um exemplo de arquitetura de implantação de destino que usa o Amazon ECS Anywhere, que é uma ferramenta de gerenciamento de contêineres.

O diagrama mostra o seguinte fluxo de trabalho:
1: Armazenamento de imagens de contêineres — O Amazon ECR armazena as imagens de AWS IoT Greengrass contêineres e quaisquer contêineres de aplicativos personalizados necessários para o processamento de bordas.
2 e 3: Implantação de contêineres — O Amazon ECS Anywhere implanta a imagem AWS IoT Greengrass do contêiner do Amazon ECR no ponto de presença, gerenciando o ciclo de vida do contêiner e o processo de implantação.
4: Implantação de componentes — O AWS IoT Greengrass núcleo implantado implanta automaticamente seus componentes relevantes com base em sua configuração. Os componentes incluem o AWS IoT SiteWise Edge e outros componentes necessários de processamento de borda dentro do ambiente em contêineres.
5: Ingestão de dados — Depois de totalmente configurado, AWS IoT Greengrass começa a ingerir dados de telemetria e sensores de várias fontes de dados de IoT no ponto de borda.
6: Processamento de dados e integração na nuvem — O AWS IoT Greengrass núcleo conteinerizado processa os dados localmente usando seus componentes implantados (incluindo o AWS IoT SiteWise Edge para dados industriais). Em seguida, ele envia os dados processados aos Nuvem AWS serviços para análise e armazenamento adicionais.
Ferramentas
Serviços da AWS
O Amazon ECS Anywhere ajuda você a implantar, usar e gerenciar tarefas e serviços do Amazon ECS em sua própria infraestrutura.
O Amazon Elastic Compute Cloud (Amazon EC2) fornece capacidade de computação escalável no. Nuvem AWS Você poderá iniciar quantos servidores virtuais precisar e escalá-los na vertical rapidamente.
O Amazon Elastic Container Registry (Amazon ECR) é um serviço gerenciado de registro de imagens de contêineres seguro, escalável e confiável.
AWS IoT Greengrass é um serviço de nuvem e runtime de borda da Internet das Coisas (IoT) de código aberto que ajuda você a criar, implantar e gerenciar aplicações de IoT em seus dispositivos.
O AWS IoT SiteWise auxilia na coleta, na modelagem, na análise e na visualização de dados de equipamentos industriais em grande escala.
Outras ferramentas
O Docker
é um conjunto de produtos de plataforma como serviço (PaaS) que usam a virtualização no nível do sistema operacional para fornecer software em contêineres. O Docker Compose
é uma ferramenta para definir e executar aplicações com diversos contêineres. O Docker Engine
é uma tecnologia de conteinerização de código aberto para criar e armazenar aplicativos.
Repositório de código
O código desse padrão está disponível no Docker-in-Docker repositório GitHub AWS IoT Greengrass v2
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Clone e navegue até o repositório. | Para clonar o repositório, use o seguinte comando:
Para navegar até o
| DevOps engenheiro, AWS DevOps |
Crie a imagem do Docker. | Para criar a imagem do Docker com a versão padrão (mais recente), execute o seguinte comando:
Ou, para criar a imagem do Docker com uma versão específica, execute o seguinte comando:
Para verificar a compilação, execute o seguinte comando:
| AWS DevOps, DevOps engenheiro, desenvolvedor de aplicativos |
(Opcional) Envie para o Amazon ECR. |
| Desenvolvedor de aplicativos, AWS DevOps, DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Selecione o método de autenticação. | Escolha uma das seguintes opções:
| Administrador da AWS |
Configure o método de autenticação. | Para o método de autenticação selecionado, use as seguintes diretrizes de configuração:
| Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Configure | Atualize o
| DevOps engenheiro |
Inicie e verifique o contêiner. | Para começar em primeiro plano, execute o seguinte comando:
Ou, para começar em segundo plano, execute o seguinte comando:
Para verificar o status, execute o seguinte comando:
Para monitorar os registros, execute o seguinte comando:
| DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Execute o contêiner com a CLI do Docker. |
| DevOps engenheiro |
Verifique o contêiner. |
| DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Implemente aplicativos. |
| Desenvolvedor de aplicativos |
Acesse e teste Docker-in-Docker. |
| DevOps engenheiro |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Configure o cluster Amazon ECS. |
| Administrador da AWS |
Implante a tarefa do Amazon ECS. |
| Administrador da AWS |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Pare o contêiner. |
| DevOps engenheiro |
Solução de problemas
| Problema | Solução |
|---|---|
O contêiner não inicia com erros de permissão. |
Atenção
|
O provisionamento falha com erros de credencial. | Para verificar se as credenciais estão configuradas corretamente, use as seguintes etapas:
Certifique-se de que as permissões do IAM incluam |
Não é possível conectar-se ao daemon do Docker dentro do contêiner. |
|
O contêiner fica sem espaço em disco. |
Garanta espaço mínimo em disco: 5 GB para operações básicas e 50 GB para o AWS IoT SiteWise Edge |
Problemas de construção. |
|
Problemas de conectividade de rede. |
Verifique se o firewall permite tráfego de saída HTTPS (443) e MQTT (8883). |
Os componentes do Greengrass falham na implantação. |
Verifique os registros específicos do componente no |
O contêiner sai imediatamente após o início. |
Verifique se todas as variáveis de ambiente necessárias estão definidas corretamente se |
Recursos relacionados
AWS recursos
Outros recursos
Mais informações
Para o processamento de dados do AWS IoT SiteWise Edge, o Docker deve estar disponível no AWS IoT Greengrass ambiente.
Para executar um contêiner aninhado, você deve executar o AWS IoT Greengrass contêiner com credenciais de nível de administrador.