Configuração do AWS IoT Core com Domínio Personalizado e Comunicação de Dispositivos

A personalização de domínio no IoT Core facilita o gerenciamento dos dispositivos IoT e a segurança nas conexões. Para criar e configurar o domínio personalizado, siga estas etapas:

Diego Norman
6 min readFeb 13, 2025

1. Configuração do dominio:

Agora, vamos acessar a funcionalidade “IoT Core” em “Configurações de Domínio”.
Depois, clique em “Criar configuração de domínio”.

Nome: Escolha um nome à sua preferência ou use o seu domínio.
Exemplo: iot.seudominio.com
Política de segurança
: Pode deixar o padrão (default).
Tipo de domínio: Selecione “Domínio gerenciado pelo cliente”.

Nome de domínio: Adicione o seu domínio.
Exemplo: iot.seudominio.com
Certificado do Servidor
: Você precisa criar um certificado no ACM para o seu domínio. Clique em “Criar certificado com ACM”. Após isso, selecione o certificado criado.
Certificado de validação: Deixe em branco.
Obs: Não estou abordando aqui como criar o domínio e registrá-lo no Route 53, pois entendo que você já deve ter esse conhecimento.

Configuração de Autenticação:
Escolha a opção que melhor se encaixa nas necessidades do seu projeto. Eu, por exemplo, vou utilizar o Padrão ALPN.

Autorizador Personalizado:
Escolha conforme as necessidades do seu projeto. No meu caso, vou utilizar a opção “Nenhum Autorizador Personalizado”.

Resumo da Configuração de Autenticação:
Agora, vamos habilitar a configuração.
Agora “Criar configuração de domínio.

Agora, vamos em Segurança, depois em Políticas e, em seguida, clique em Criar política.

Nome da Política: Adicione o nome que preferir. Eu geralmente deixo algo parecido com o domínio que foi criado.
Documento da Política: Aqui, vamos deixar permissões para tudo, mas você pode granularizar com o ARN (Amazon Resource Name) no recurso da política, se necessário.
Efeito da Política: Geralmente, definimos o efeito que a política terá, como “Allow” (Permitir) ou “Deny” (Negar).
Ação da Política: Defina qual ação a política vai permitir ou negar.
Recursos da Política: Pode definir os recursos afetados pela política. O padrão é “*” para tudo, mas você pode granularizar utilizando o ARN, como mencionamos antes.
Geralmente, eu crio 3 linhas de instrução para a política.
Você também pode criar a política usando o formato JSON. Abaixo, vou deixar o exemplo de como minha política ficará em JSON:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Publish",
"iot:Receive",
"iot:PublishRetain"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iot:Subscribe",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iot:Connect",
"Resource": "*"
}
]
}

Esse é um exemplo simples de política, onde “Effect” é “Allow”, permitindo todas as ações (“Action”: “*”) em todos os recursos (“Resource”: “*”). Você pode ajustar o ARN ou as permissões conforme a necessidade do seu projeto.

Agora, vamos criar um certificado para a política que acabamos de criar. Siga os passos abaixo:
Vá até Segurança e depois em Certificados.
Clique em Adicionar certificado.
Após isso, clique em Criar certificado (igual à imagem abaixo).

Na Seleção de ramificação de Certificado, deixe a opção recomendada, conforme mostrado na imagem.
Em Seleção de status de certificado, marque a opção como Ativo.

Lembrando que, após criar o certificado, vai aparecer uma aba para você baixar os certificados.

Você vai precisar baixar o Certificado do dispositivo. Em seguida, baixe o Arquivo de chave privada e o Certificado de CA Raiz. Porém, você pode baixar apenas o primeiro, o Certificado do dispositivo.
Eu geralmente renomeio os arquivos da seguinte forma:

  • O Certificado do dispositivo eu renomeio como iot_dominio.pem, removendo a extensão .cert que vem nela.
  • O Arquivo de chave privada eu renomeio, mas deixo o final como .key.
  • O Certificado de CA Raiz eu renomeio para root-CA.crt.

Agora, vamos voltar para Certificados. O certificado criado aparecerá como uma hash, igual à imagem abaixo.

Agora, clique nessa hash e a configuração do certificado vai abrir.
Vá até Política e clique em Anexar políticas. Isso abrirá uma aba flutuante onde você vai selecionar a política que criamos anteriormente.
Depois, clique em Things (ou Coisas) e faça a mesma coisa: Anexar política.

Obs: Em Coisas, pode ser que o item ainda não exista. Nesse caso, você poderá criar um novo item. Vá até o menu Gerenciar, depois Coisas, e clique em Criar item.
Em seguida, clique em Criar um único item e depois em Próximo. Coloque o nome do item — geralmente, eu sigo o padrão iot.meudominio. Marque a opção Nenhum shadow para o dispositivo.

Agora, vamos voltar para o menu Configurações de domínio. Se você perceber, vai encontrar uma URL chamada iot:Data-ATS. A URL geralmente será algo como:
a3grx1fc2329vfue-ats.iot.us-east-1.amazonaws.com
Você vai adicionar essa URL como um CNAME no seu domínio lá no Route 53. Ou seja, o seu subdomínio iot.seudominio precisa apontar para:
a3grx1fc2329vfue-ats.iot.us-east-1.amazonaws.com

Agora, estamos quase no fim, e você deve estar se perguntando: “Está tudo bem? E agora, como eu consigo testar isso?”

Você pode ir no menu Conectar, depois em Conectar um dispositivo. Ele vai pedir que você faça um ping para a URL:
a3grx1fc2329vfue-ats.iot.us-east-1.amazonaws.com. Você fará o teste e deverá obter uma resposta.
Aproveite também para fazer o teste no domínio personalizado que você criou, ou seja, o iot.seudominio.

Agora, clique em Próximo. Vai aparecer uma nova tela. Nela, vá em “Escolha uma coisa existente” e selecione a coisa que você criou.

Agora, basta seguir o passo a passo que será instruído. Você poderá testar usando alguns SDKs, como Node.js, Python ou Java. Seguindo o tutorial, você conseguirá realizar o teste por completo.

Conclusão

Com esse passo a passo, você configurou com sucesso o AWS IoT Core com um domínio personalizado, configurou dispositivos, garantiu comunicação segura via MQTT e integrou seu sistema com outros serviços da AWS. Além disso, você implementou uma estrutura robusta de monitoramento e segurança, garantindo que seus dispositivos IoT operem de forma eficaz e segura.
Deixo claro que é possível deixar tudo extremamente seguro e robusto, utilizando ferramentas como o Cognito e outras soluções. Aqui, fornecemos apenas uma base para você ter algo funcional com o domínio da sua empresa ou projeto. A partir daqui, você pode evoluir e adicionar outras funcionalidades conforme a necessidade.

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Diego Norman
Diego Norman

Written by Diego Norman

Como um Arquiteto de Infraestrutura Cloud, trago uma paixão inabalável pela tecnologia.

No responses yet

Write a response