AWS IoT Greengrass Version 1 entrou na fase de vida útil prolongada em 30 de junho de 2023. Para obter mais informações, consulte política de manutenção do AWS IoT Greengrass V1. Após essa data, AWS IoT Greengrass V1 não lançaremos atualizações que forneçam recursos, aprimoramentos, correções de erros ou patches de segurança. Os dispositivos que funcionam AWS IoT Greengrass V1 não serão interrompidos e continuarão operando e se conectando à nuvem. É altamente recomendável que você migre para AWS IoT Greengrass Version 2, o que adiciona novos recursos significativos e suporte para plataformas adicionais.
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á.
Configurando uma instância do Amazon EC2
Siga as etapas neste tópico para configurar uma instância do Amazon EC2 a ser usada como núcleo do AWS IoT Greengrass .
dica
Ou, para usar um script que configura seu ambiente e instala o software AWS IoT Greengrass principal para você, consulteInício rápido: Configuração do dispositivo do Greengrass.
Embora você possa concluir este tutorial usando uma instância do Amazon EC2, ele AWS IoT Greengrass deve ser usado idealmente com hardware físico. Sempre que possível, recomendamos configurar um Raspberry Pi em vez de usar uma instância do Amazon EC2. Se estiver usando um Raspberry Pi, você não precisará seguir as etapas deste tópico.
-
Faça login no AWS Management Console
e execute uma instância do Amazon EC2 usando uma AMI do Amazon Linux. Para obter informações sobre as instâncias do Amazon EC2, consulte o Guia de conceitos básicos do Amazon EC2. -
Depois que sua instância do Amazon EC2 estiver em execução, habilite a porta 8883 para permitir a entrada de comunicações MQTT para que outros dispositivos possam se conectar ao núcleo. AWS IoT Greengrass
-
No painel de navegação da Amazon EC2, selecione Grupos de segurança.
-
Selecione o grupo de segurança da instância que você acabou de executar e, em seguida, selecione a guia Regras de entrada.
-
Selecione Edit inbound rules (Editar regras de entrada).
Para habilitar a porta 8883, você adiciona uma regra de TCP personalizada ao grupo de segurança. Para obter mais informações, consulte Adicionar regras a um grupo de segurança no Guia do usuário do Amazon EC2.
-
Na página Edita regras de entrada, selecione Adicionar regra, insira as configurações a seguir e, depois, selecione Salvar.
-
Para Tipo, selecione Regra TCP personalizada.
-
Em Intervalo de portas, insira
8883
. -
Para Source (Origem), selecione Anywhere (Qualquer lugar).
-
Em Descrição, insira
MQTT Communications
.
-
-
-
Conecte-se à sua instância Amazon EC2.
-
No painel de navegação, selecione Instances (Instâncias), selecione sua instância e, em seguida, selecione Connect (Conectar).
-
Siga as instruções na página Connect To Your Instance (Conectar à sua instância) para conectar-se à instância usando SSH e o arquivo da chave privada.
Você pode usar PuTTY para Windows ou Terminal para macOS. Para obter mais informações, consulte Connect to your Linux instance no Amazon EC2 User Guide.
Agora você está pronto para configurar sua instância do Amazon EC2 para o AWS IoT Greengrass.
-
-
Depois de se conectar à sua instância do Amazon EC2, crie as contas
ggc_user
eggc_group
:sudo adduser --system ggc_user sudo groupadd --system ggc_group
nota
Se o comando
adduser
não estiver disponível no sistema, use o comando a seguir.sudo useradd --system ggc_user
-
Para aumentar a segurança, certifique-se de que as proteções de hardlink e softlink (symlink) estão habilitadas no sistema operacional da startup da instância do Amazon EC2.
nota
As etapas para habilitar as proteções de hardlink e softlink variam de acordo com o sistema operacional. Consulte a documentação para obter sua distribuição.
-
Execute o seguinte comando para verificar se as proteções de hardlink e softlink estão habilitadas:
sudo sysctl -a | grep fs.protected
Se hardlinks e softlinks estão definidos como
1
, suas proteções estão habilitadas corretamente. Prossiga para a etapa 6.nota
Os softlinks são representados por
fs.protected_symlinks
. -
Se hardlinks e softlinks não estão definidos como
1
, habilite essas proteções. Navegue até o arquivo de configuração do sistema.cd /etc/sysctl.d ls
-
Usando o editor de texto de sua preferência (Leafpad, GNU nano ou vi), adicione as duas linhas a seguir ao final do arquivo de configuração do sistema. No Amazon Linux 1, esse é o arquivo
00-defaults.conf
. No Amazon Linux 2, esse é o arquivo99-amazon.conf
. Talvez seja necessário alterar as permissões (usando o comandochmod
) para gravar no arquivo ou usar o comandosudo
para editar como raiz (por exemplo,sudo nano
).00-defaults.conf
fs.protected_hardlinks = 1 fs.protected_symlinks = 1
-
Reinicialize a instância do Amazon EC2.
sudo reboot
Depois de alguns minutos, conecte-se à sua instância usando SSH e então execute o comando a seguir para confirmar a alteração.
sudo sysctl -a | grep fs.protected
Os hardlinks e softlinks estão definidos como 1.
-
-
Extraia e execute o script a seguir para montar Grupos de controle do Linux
(cgroups). Isso permite AWS IoT Greengrass definir o limite de memória para funções Lambda. Também é necessário que os Cgroups sejam executados AWS IoT Greengrass no modo de contêinerização padrão. curl https://raw.githubusercontent.com/tianon/cgroupfs-mount/951c38ee8d802330454bdede20d85ec1c0f8d312/cgroupfs-mount > cgroupfs-mount.sh chmod +x cgroupfs-mount.sh sudo bash ./cgroupfs-mount.sh
Agora, sua instância do Amazon EC2 deve estar pronta para o AWS IoT Greengrass.
-
Opcional. Instale o tempo de execução do Java 8, que é exigido pelo gerenciador de fluxo. Este tutorial não usa o gerenciador de fluxo, mas usa o fluxo de trabalho de Criação de grupo padrão que habilita o gerenciador de fluxo por padrão. Use os comandos a seguir para instalar o módulo de tempo de execução do Java 8 no dispositivo de núcleo ou desabilite o gerenciador de fluxo antes de implantar seu grupo. As instruções para desabilitar o gerenciador de fluxo são fornecidas no Módulo 3.
-
Para distribuições com base em Debian:
sudo apt install openjdk-8-jdk
-
Para distribuições com base em Red Hat:
sudo yum install java-1.8.0-openjdk
-
-
Para garantir que você tenha todas as dependências necessárias, baixe e execute o verificador de dependências do Greengrass a partir do AWS IoT Greengrass repositório Samples em.
GitHub Esses comandos fazem download, descompactam e executam o script verificador de dependências na sua instância do Amazon EC2. mkdir greengrass-dependency-checker-GGCv1.11.x cd greengrass-dependency-checker-GGCv1.11.x wget https://github.com/aws-samples/aws-greengrass-samples/raw/master/greengrass-dependency-checker-GGCv1.11.x.zip unzip greengrass-dependency-checker-GGCv1.11.x.zip cd greengrass-dependency-checker-GGCv1.11.x sudo ./check_ggc_dependencies | more
Importante
Este tutorial requer o Python 3.7 Runtime para executar funções locais do Lambda. Quando o gerenciador de fluxo está habilitado, ele também requer o Java 8 Runtime. Se o script
check_ggc_dependencies
gerar avisos sobre esses pré-requisitos de tempo de execução ausentes, certifique-se de instalá-los antes de continuar. Você pode ignorar os avisos sobre outros pré-requisitos de tempo de execução opcionais ausentes.
A configuração da instância doAmazon EC2 está completa. Avance para Módulo 2: Instalação do software do AWS IoT Greengrass Core.