<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alfredo Castro</title>
    <description>The latest articles on DEV Community by Alfredo Castro (@alfredotavio).</description>
    <link>https://dev.to/alfredotavio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1117879%2Fdb990214-f5fa-4f7f-a3f9-40efa727ba0b.png</url>
      <title>DEV Community: Alfredo Castro</title>
      <link>https://dev.to/alfredotavio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alfredotavio"/>
    <language>en</language>
    <item>
      <title>Implantando uma VPN Site-to-Client com PritUNL na AWS via CloudFormation</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Wed, 25 Jun 2025 11:00:00 +0000</pubDate>
      <link>https://dev.to/alfredotavio/implantando-uma-vpn-site-to-client-com-pritunl-na-aws-via-cloudformation-1900</link>
      <guid>https://dev.to/alfredotavio/implantando-uma-vpn-site-to-client-com-pritunl-na-aws-via-cloudformation-1900</guid>
      <description>&lt;p&gt;O acesso seguro a recursos internos de uma infraestrutura de TI tornou-se uma prioridade para empresas e profissionais de tecnologia. Ambientes críticos, como servidores de aplicação, bancos de dados e painéis administrativos, costumam ter suas portas e serviços mais sensíveis isolados da internet pública por questões de segurança. Essa prática é essencial para reduzir a exposição a ataques, mas também cria um desafio: como acessar esses recursos remotamente de forma segura e controlada?&lt;/p&gt;

&lt;p&gt;É aí que entra o papel das VPNs (Virtual Private Network). Elas possibilitam a criação de uma conexão criptografada entre o usuário e a rede corporativa, permitindo acesso a recursos internos como se estivesse conectado diretamente na rede interna. Isso não apenas fortalece a segurança, mas também aumenta a flexibilidade e a produtividade das equipes.&lt;/p&gt;

&lt;p&gt;Neste tutorial, vamos demonstrar como implantar rapidamente uma VPN Site-to-Client utilizando PritUNL (uma solução open-source robusta e fácil de gerenciar) utilizaremos o AWS CloudFormation para automatizar o provisionamento da infraestrutura.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pré-requisitos:
&lt;/h2&gt;

&lt;p&gt;É necessário possuir uma conta na AWS com uma VPC previamente configurada, incluindo ao menos uma subnet pública disponível.&lt;br&gt;
Também é necessário acessar o repositório no GitHub e fazer o download dos arquivos PritUNL-EC2.yaml e PritUNL-SSM.yaml, iremos utilizar eles para provisionar o ambiente com o CloudFormation.&lt;/p&gt;

&lt;p&gt;📁 Pasta PritUNL no GitHub: &lt;a href="https://github.com/alfredotavio/aws/tree/main/PritUNL" rel="noopener noreferrer"&gt;https://github.com/alfredotavio/aws/tree/main/PritUNL&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 01 - Parametrização do Ambiente
&lt;/h2&gt;

&lt;p&gt;Nesta etapa, vamos preparar as informações necessárias para subir a infraestrutura, como:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identificar o ID da AMI que será usada (Ubuntu 24.04 ARM).&lt;/li&gt;
&lt;li&gt;Identificar o range da VPC.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "EC2".&lt;/p&gt;

&lt;p&gt;Clique em "Launch instance".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fob2cixf0nxoj5wa074w5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fob2cixf0nxoj5wa074w5.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Quick Start" altere para "Ubuntu", em "Architecture" altere para "64-bit (Arm)".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmf6ihqdgle6o530scmq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmf6ihqdgle6o530scmq8.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirme as mudanças clicando em "Confirm changes".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7jh398jalkt15t888vmi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7jh398jalkt15t888vmi.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copie o ID da AMI no campo "AMI ID" e deixe anotado em um bloco de notas, iremos utilizar está AMI para subir a nossa EC2 (no meu exemplo o ID é ami-07041441b708acbd6).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxuknub0znut9oxjvqaq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftxuknub0znut9oxjvqaq.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora vamos anotar o range da VPC, procure pelo serviço "VPC". Em seguida clique em "Your VPCs".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0ke1vtwf4lyj44bvk3x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl0ke1vtwf4lyj44bvk3x.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "IPv4 CIDR", anote o range em um bloco de notas, iremos utilizar este range para configurar a rota dentro do PritUNL (no meu exemplo o range é 10.0.0.0/21).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1464xl2chz29a644vz5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1464xl2chz29a644vz5.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 02 - Provisionamento da Instância EC2 via CloudFormation
&lt;/h2&gt;

&lt;p&gt;Aqui vamos criar a stack que irá provisionar a instância EC2 (utilizando o arquivo PritUNL-EC2.yaml).&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "CloudFormation".&lt;/p&gt;

&lt;p&gt;Clique em "Create stack".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpe3p4b6z2om3nv058dsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpe3p4b6z2om3nv058dsm.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione "Choose an existing template" e em seguida selecione "Upload a template file". Clique em "Choose file" e selecione o arquivo PritUNL-EC2.yaml baixado do repositório do GitHub. Em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsey3ky5xr1sekwf4tqy1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsey3ky5xr1sekwf4tqy1.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesta etapa, defina as seguintes configurações:&lt;/p&gt;

&lt;p&gt;Em "Stack name", defina o nome da Stack.&lt;/p&gt;

&lt;p&gt;Em "ID da AMI", digite o ID da AMI que anotamos na etapa anterior.&lt;/p&gt;

&lt;p&gt;Em "VPC", selecione a VPC que iremos utilizar.&lt;/p&gt;

&lt;p&gt;Em "Sub-rede", selecione a subnet pública que iremos utilizar.&lt;/p&gt;

&lt;p&gt;Em "Par de Chaves (Key Pair)", selecione a chave de sua preferencia.&lt;/p&gt;

&lt;p&gt;Em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fq4qaydm9nbkov8oth2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fq4qaydm9nbkov8oth2.png" alt="Image description" width="800" height="532"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesta etapa, apenas marque o checkbox "I acknowledge that AWS CloudFormation might create IAM resources with custom names." e em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zjhm355yn4yqgd2vr2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0zjhm355yn4yqgd2vr2d.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirme as informações e clique em "Submit".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4icuajn6z6qypcsdh2j4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4icuajn6z6qypcsdh2j4.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O CloudFormation irá começar a provisionar a EC2.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyctxvtfdgkuodqsbjszj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyctxvtfdgkuodqsbjszj.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aguarde até que o CloudFormation finalize a criação dos recursos para seguir com a próxima etapa.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczdvukahdy4uz025gm2f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fczdvukahdy4uz025gm2f.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Stack irá mostrar "CREATE_COMPLETE" quando finalizar.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 03 - Implantação da PritUNL na EC2 via CloudFormation e AWS Systems Manager (SSM)
&lt;/h2&gt;

&lt;p&gt;Aqui vamos criar a stack que irá implantar a VPN PritUNL na EC2 (utilizando o arquivo PritUNL-SSM.yaml).&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "CloudFormation".&lt;/p&gt;

&lt;p&gt;Clique em "Create stack" e em seguida "With new resources (standard)".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatwrfbda9c8uybd45pnl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fatwrfbda9c8uybd45pnl.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione "Choose an existing template" e em seguida selecione "Upload a template file". Clique em "Choose file" e selecione o arquivo PritUNL-SSM.yaml baixado do repositório do GitHub. Em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcfpbppka98g2758rnik5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcfpbppka98g2758rnik5.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Stack name", defina o nome da Stack.&lt;/p&gt;

&lt;p&gt;Em "EC2InstanceId", selecione a EC2 que provisionamos na etapa anterior.&lt;/p&gt;

&lt;p&gt;Em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu177ey75g9uy9yx0prgk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu177ey75g9uy9yx0prgk.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Next".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkippeqmo7mddnltnc7za.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkippeqmo7mddnltnc7za.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirme as informações e clique em "Submit".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngehstej88k6yp2wzjby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fngehstej88k6yp2wzjby.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O CloudFormation irá começar a executar o SSM.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5s9zp8u3o43jqidsrkl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs5s9zp8u3o43jqidsrkl.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aguarde até que o CloudFormation finalize.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffiq3m49tpgljuvkf30og.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffiq3m49tpgljuvkf30og.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Stack irá mostrar "CREATE_COMPLETE" quando finalizar.&lt;/p&gt;

&lt;p&gt;A execução da implantação pode demorar aproximadamente 5 minutos, para acompanhar o status, faça o seguinte:&lt;/p&gt;

&lt;p&gt;Procure pelo serviço "Systems Manager".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Run Command".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2pbmhn1zqjl67ltvu32.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2pbmhn1zqjl67ltvu32.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aqui você pode verificar o status da execução como "In Progress", clique no ID do "Command ID" para mais informações.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbehorl4wudp1kgob97y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbbehorl4wudp1kgob97y.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesta tela podemos verificar o ID da instância que está sendo implantada a nossa VPN PritUNL e o status da execução.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhm35ewjdri4e1jndnkna.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhm35ewjdri4e1jndnkna.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkd0zkxpyxb4oecrbc7y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flkd0zkxpyxb4oecrbc7y.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Assim que finalizar a execução, o status irá mudar para "Success".&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 04 - Criando o registro DNS
&lt;/h2&gt;

&lt;p&gt;Vamos definir e criar a URL que iremos utilizar para acessar o dashboard da VPN PritUNL.&lt;/p&gt;

&lt;p&gt;Irei utilizar o domínio alfredocastro.com.br, defini a URL vpn.alfredocastro.com.br para o dashboard da VPN.&lt;/p&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie o registro abaixo de acordo com o seu cenário:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tipo&lt;/th&gt;
&lt;th&gt;Registro&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;th&gt;Observação&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;VPN&lt;/td&gt;
&lt;td&gt;34.XX.XXX.247&lt;/td&gt;
&lt;td&gt;Elastic IP atribuído à EC2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Vamos obter o endereço IP da EC2 provisionada, acesse a console AWS e procure pelo serviço "EC2".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Instances".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9pa1b4gsp4ysadvv4lj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9pa1b4gsp4ysadvv4lj.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione a EC2 "VPN-PritUNL" e em seguida copie o IP Publico no campo "Public IPv4 address".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyf3mfaywo2gzvwnbrmfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyf3mfaywo2gzvwnbrmfc.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62jtq76n1yqu68kghm4l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62jtq76n1yqu68kghm4l.png" alt="Image description" width="800" height="203"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcx5k3i3aitox6r08zs0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbcx5k3i3aitox6r08zs0.png" alt="Image description" width="800" height="556"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 05 - Obtendo o usuário e senha padrão da VPN PritUNL
&lt;/h2&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "EC2".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Instances".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famvsch7x5inyzwlbbi2n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famvsch7x5inyzwlbbi2n.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione a EC2 "VPN-PritUNL" e em seguida clique no botão "Connect".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgs5l54a4qk2gm6jcgli0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgs5l54a4qk2gm6jcgli0.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere o tipo para "Session Manager" e clique no botão "Connect".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F836iueknxtm75699c0ad.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F836iueknxtm75699c0ad.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute o comando abaixo para obter o usuário e a senha padrão:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; /opt/pritunl/default_password.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxbnvkx8y6njyvdpm9qs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyxbnvkx8y6njyvdpm9qs.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora podemos acessar e realizar a configuração da nossa VPN.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Configuração inicial da VPN PritUNL
&lt;/h2&gt;

&lt;p&gt;Acesse o dashboard da VPN PritUNL digitando o endereço IP Público em seu navegador.&lt;/p&gt;

&lt;p&gt;Digite o Username e Password encontrado na etapa anterior e clique em "Sign in".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kp98v4tp4bapsq27xo5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kp98v4tp4bapsq27xo5.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao realizar o primeiro acesso será solicitado a configuração inicial, faça as alterações conforme o seu ambiente, neste exemplo, alterei o username do usuário administrador e a sua senha, desativei o acesso por IPv6 e configurei o domínio de acesso para o DNS que criamos na etapa 04 (vpn.alfredocastro.com.br). Após realizar a configuração conforme o seu ambiente, clique em "Save".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6ygydgan1ssepcqr0a1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx6ygydgan1ssepcqr0a1.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A VPN irá solicitar um certificado Let's Encrypt para o DNS configurado, se tudo ocorrer conforme o planejado será exibida a seguinte mensagem "Successfully saved settings".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5itn7mpi61b1myayu6x8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5itn7mpi61b1myayu6x8.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse novamente o dashboard da VPN PritUNL, porém agora acesse utilizando o DNS configurado na etapa anterior, veja que agora exibe um certificado válido gerado pela Let's Encrypt.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe68tkg4dxjoffkzpcpl4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe68tkg4dxjoffkzpcpl4.png" alt="Image description" width="531" height="615"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 07 - Configurando a VPN PritUNL
&lt;/h2&gt;

&lt;p&gt;Acesse o dashboard da VPN PritUNL utilizando o DNS configurado na etapa anterior, digite o Username e Password configurado por você na etapa anterior e clique em "Sign in".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3u65mojlb5hvqtv2k71.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3u65mojlb5hvqtv2k71.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere para a aba "Users".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwumw3dozx0jy390xjzs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvwumw3dozx0jy390xjzs.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Add Organization".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjiogcqfpqn3l4ef1y2nl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjiogcqfpqn3l4ef1y2nl.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Defina um nome para a sua organização e clique em "Add".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqo6zsie0nr56w2gppz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Foqo6zsie0nr56w2gppz6.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Successfully added organization", agora clique em "Add User".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwml8b7nq6qnvz2h53tn8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwml8b7nq6qnvz2h53tn8.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite as informações (Nome e email) do usuário que deseja adicionar em sua VPN, selecione a organização que criamos na etapa anterior e defina um código PIN para o usuário (código numérico com pelo menos 6 dígitos). Em seguida clique em "Add".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmno8v6ieetfo9mazyfyw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmno8v6ieetfo9mazyfyw.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Successfully added user", agora clique na aba "Servers".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf6ebk27jw73w8an1e9a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzf6ebk27jw73w8an1e9a.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Add Server".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdd2kprl8isfiq7twf5c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcdd2kprl8isfiq7twf5c.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Defina um nome para o server da VPN.&lt;/p&gt;

&lt;p&gt;No campo "Port" defina uma porta entre 5050 e 5060 está configuração é importante, pois em nosso Security Group da instância está liberado este range de portas.&lt;/p&gt;

&lt;p&gt;Caso você queira autenticação MFA (recomendo habilitar para maior segurança), marque o checkbox "Enable Google Authenticator".&lt;/p&gt;

&lt;p&gt;Em seguida, clique em "Add".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqubb17ob4qolafu3xvmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqubb17ob4qolafu3xvmn.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Successfully added server", agora clique em "Attach Organization".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fig0rsdmuwkvr8xczhdeh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fig0rsdmuwkvr8xczhdeh.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione a organização e o server que você deseja vincular, em seguida clique em "Attach".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr5yl72vqj09xeyvcscx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flr5yl72vqj09xeyvcscx.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Successfully attached organization", agora clique em "Remove Route" para removermos a rota padrão "0.0.0.0/0".&lt;/p&gt;

&lt;p&gt;Se deixarmos a rota padrão, todo o nosso tráfego irá passar pela VPN, nosso objetivo é apenas o tráfego da rede interna (VPC) passe pela VPN.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kricq4kgibu9kd3atgo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7kricq4kgibu9kd3atgo.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirme a remoção clicando em "Remove".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0737m0soat13ls2f4jq5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0737m0soat13ls2f4jq5.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Add Route".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmci7yqw64fk5bjb3a5m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmci7yqw64fk5bjb3a5m.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite o range de IP da sua VPC, anotamos ele na etapa 01, selecione qual o server deseja vincular o range e clique em "Attach".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4l6bmjyzc23hiorsi4lt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4l6bmjyzc23hiorsi4lt.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Successfully added route", agora clique em "Start Server".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgro7r4tzez7pcctdrje.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgro7r4tzez7pcctdrje.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, servidor configurado e pronto para ser utilizado.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fome3t7t16x40il1bdat6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fome3t7t16x40il1bdat6.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora você pode importar o usuário para o client.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 08 - Importando o usuário para o Client PritUNL
&lt;/h2&gt;

&lt;p&gt;Volte para a aba "Users", em seguida clique no botão parecido com uma corrente "Get temporary profile links" ele fica ao lado do botão parecido com um QR Code.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzot3cri2234uifkd724x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzot3cri2234uifkd724x.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será gerado 4 links temporários que expirão em 24h, iremos utilizar o terceiro link, copie e acesse pelo navegador.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hew6el3pu866msd2567.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5hew6el3pu866msd2567.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Primeiro vamos realizar a alteração do código PIN, clique em "Configure Pin".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4mfgfmif8pa73clsj9f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm4mfgfmif8pa73clsj9f.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite o código PIN definido na etapa de criação do usuário e em seguida digite o novo código PIN (código numérico com pelo menos 6 dígitos). Em seguida clique em "Change Pin".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2yj5w11cqdajihufm0z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2yj5w11cqdajihufm0z.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será exibida a seguinte mensagem "Pin successfully changed", agora você deve escanear o QR Code em seu Google Authenticator ou similar. Em seguida anote o "Profile URI Link:" iremos utilizar ele no Client PritUNL para importar. Clique no "Download Client" para ser redirecionado para o site da PritUNL para baixar o client.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n85403nic6ldyja8uol.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0n85403nic6ldyja8uol.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Baixe e instale o cliente PritUNL de acordo com a arquitetura do seu sistema operacional (Linux/Windows/MacOS).&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb9uwnac315ui6gxm443.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgb9uwnac315ui6gxm443.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após instalar o client, abra e clique no botão "Import".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhh7uasxll22f6l6fdsic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhh7uasxll22f6l6fdsic.png" alt="Image description" width="430" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cole o Profile URI copiado na etapa anterior e clique em "Import".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgivtkkkzpb2hjxj7vlq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgivtkkkzpb2hjxj7vlq.png" alt="Image description" width="430" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, usuário importado.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 09 - Testando a VPN
&lt;/h2&gt;

&lt;p&gt;Com o client aberto, clique no botão "Connect".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz223wk7gjr24kh31yg7y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz223wk7gjr24kh31yg7y.png" alt="Image description" width="430" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Pin", digite o seu código PIN.&lt;/p&gt;

&lt;p&gt;Em "Authenticator Passcode", digite o código aleatório que é gerado no Google Authenticator.&lt;/p&gt;

&lt;p&gt;Em seguida clique em "Connect".&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo13tyfn8flys6ppcdwtp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo13tyfn8flys6ppcdwtp.png" alt="Image description" width="430" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se as informações estiverem corretas, será exibido o IP do servidor VPN com o tempo de conexão.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0tkoiocf55gbr2nzpcw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx0tkoiocf55gbr2nzpcw.png" alt="Image description" width="430" height="528"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Dentro do dashboard da VPN PritUNL você consegue verificar o status do usuário.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feck8w4kuogrkrdozr0ua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feck8w4kuogrkrdozr0ua.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora vamos testar a comunicação com a rede interna (VPC), acesse a console AWS e em seguida acesse o serviço "EC2". Selecione a EC2 da VPN e copie o endereço IP privado.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ei8t55cdgjt7sw28r6j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6ei8t55cdgjt7sw28r6j.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Abra um terminal na sua máquina e utilize o comando "telnet" para verificar se você possui acesso a uma porta específica, no meu caso utilizei a porta HTTP 80.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;telnet 10.0.0.11 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe35214w47o6b8ymzit1s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe35214w47o6b8ymzit1s.png" alt="Image description" width="351" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Porta acessada com sucesso nossa VPN está funcionando. Agora podemos liberar o endereço IP privado da nossa instância no SG das demais instâncias EC2 para realizarmos o acesso via VPN.&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://alfredocastro.com.br/posts/implantando-uma-vpn-site-to-client-com-pritunl-na-aws-via-cloudformation/" rel="noopener noreferrer"&gt;https://alfredocastro.com.br/posts/implantando-uma-vpn-site-to-client-com-pritunl-na-aws-via-cloudformation/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>vpn</category>
      <category>cloudformation</category>
      <category>pritunl</category>
    </item>
    <item>
      <title>Instalando e Configurando o Servidor de E-mail Carbonio CE na AWS (Substituto do Zimbra)</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Thu, 18 Apr 2024 14:17:28 +0000</pubDate>
      <link>https://dev.to/alfredotavio/instalando-e-configurando-o-servidor-de-e-mail-carbonio-ce-na-aws-substituto-do-zimbra-4lj8</link>
      <guid>https://dev.to/alfredotavio/instalando-e-configurando-o-servidor-de-e-mail-carbonio-ce-na-aws-substituto-do-zimbra-4lj8</guid>
      <description>&lt;p&gt;A segurança em um servidor de e-mail é de extrema importância para qualquer organização ou empresa. Os servidores de e-mail lidam com uma quantidade significativa de informações sensíveis e confidenciais, incluindo comunicações internas e externas, documentos anexados, dados de contato e muito mais. Portanto, garantir a segurança desses dados é essencial para proteger a privacidade dos usuários e a integridade das informações da organização.&lt;/p&gt;

&lt;p&gt;A Synacor anunciou que, a partir de dezembro de 2023, não fornecerá mais suporte nem atualizações de segurança para o Zimbra Open Source. Isso significa que a versão 8.8.15 será a última Open Source disponível. Manter uma versão de um servidor de e-mail sem suporte ou sem atualizações de segurança pode acarretar diversos riscos, especialmente vulnerabilidades de segurança não corrigidas que podem ser exploradas por hackers. Como é de conhecimento geral, o e-mail representa uma das principais portas de entrada para esse tipo de ataque, e um sistema de e-mail vulnerável pode deixar as empresas expostas a sérias consequências.&lt;/p&gt;

&lt;p&gt;A Zextras resolveu disponibilizar e manter a sua própria versão chamada Carbonio CE, e é sobre ele que iremos falar hoje. O passo a passo abaixo irei demonstrar como instalar e configurar o servidor de e-mail Carbonio CE em uma instância EC2 na AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ambiente:
&lt;/h2&gt;

&lt;p&gt;Uma instância EC2 com um Elastic IP.&lt;/p&gt;

&lt;p&gt;Também é necessário possuir um registro DNS.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Sistema Operacional&lt;/th&gt;
&lt;th&gt;CPU&lt;/th&gt;
&lt;th&gt;RAM&lt;/th&gt;
&lt;th&gt;HD&lt;/th&gt;
&lt;th&gt;Versão do E-mail&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Ubuntu 20.04 LTS&lt;/td&gt;
&lt;td&gt;4vCPU&lt;/td&gt;
&lt;td&gt;16GB&lt;/td&gt;
&lt;td&gt;50GB&lt;/td&gt;
&lt;td&gt;Carbonio Release 24.3.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Portas externas (0.0.0.0/0):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;80 (HTTP)&lt;/li&gt;
&lt;li&gt;443 (HTTPs)&lt;/li&gt;
&lt;li&gt;25 (SMTP)&lt;/li&gt;
&lt;li&gt;465 (SMTPs)&lt;/li&gt;
&lt;li&gt;587 (SMTP)&lt;/li&gt;
&lt;li&gt;143 (IMAP)&lt;/li&gt;
&lt;li&gt;993 (IMAPs)&lt;/li&gt;
&lt;li&gt;110 (POP3)&lt;/li&gt;
&lt;li&gt;995 (POP3s)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Porta interna (VPN/IP Static):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6071 (Administração)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criando os registro DNS
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, vamos definir e criar a URL que iremos utilizar para o servidor de e-mail.&lt;/p&gt;

&lt;p&gt;Irei utilizar o domínio alfredocastro.com.br, defini a URL mail.alfredocastro.com.br para o portal web do Carbonio CE.&lt;/p&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie os registro abaixo de acordo com o seu cenário:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tipo&lt;/th&gt;
&lt;th&gt;Registro&lt;/th&gt;
&lt;th&gt;Valor&lt;/th&gt;
&lt;th&gt;Observação&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;A&lt;/td&gt;
&lt;td&gt;mail&lt;/td&gt;
&lt;td&gt;52.XX.XXX.216&lt;/td&gt;
&lt;td&gt;Elastic IP atribuído à EC2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;@&lt;/td&gt;
&lt;td&gt;10 mail.alfredocastro.com.br&lt;/td&gt;
&lt;td&gt;URL definida para o servidro de e-mail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TXT&lt;/td&gt;
&lt;td&gt;@&lt;/td&gt;
&lt;td&gt;v=spf1 ip4:52.XX.XXX.216/32 -all&lt;/td&gt;
&lt;td&gt;Elastic IP atribuído à EC2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TXT&lt;/td&gt;
&lt;td&gt;_dmarc&lt;/td&gt;
&lt;td&gt;v=DMARC1; p=none; sp=quarantine; rua=mailto:&lt;a href="mailto:admin@alfredocastro.com.br"&gt;admin@alfredocastro.com.br&lt;/a&gt;
&lt;/td&gt;
&lt;td&gt;E-mail para envio de recebimento de relatórios de conformidade DMARC&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7twra5awvu80rhli6w8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7twra5awvu80rhli6w8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl1lc3xdpjoyjvgfgp9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frl1lc3xdpjoyjvgfgp9g.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccfnposisq49iu1o3nq1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fccfnposisq49iu1o3nq1.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrl2efkfhk7a8girlauo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrl2efkfhk7a8girlauo.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8igjct9ni7gon14u8vve.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8igjct9ni7gon14u8vve.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Solicitando a remoção de restrição da porta 25 SMTP do Elastic IP
&lt;/h2&gt;

&lt;p&gt;Obs: Antes de criar um registro DNS reverso, você deve definir um registro DNS de encaminhamento correspondente (registro tipo A) que aponte para seu endereço Elastic IP (feito na etapa anterior).&lt;/p&gt;

&lt;p&gt;Criando um registro DNS reverso.&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "EC2".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Elastic IPs".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxv0lulrum5imjidduvok.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxv0lulrum5imjidduvok.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione o Elastic IP e clique em Actions &amp;gt; Update reverse DNS.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykcr5x91qu2x2kuqully.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fykcr5x91qu2x2kuqully.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite a URL criada na etapa anterior para o servidor de e-mail. Em seguida escreva update e clique no botão "Update".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fll10l8somyoctwca8jvo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fll10l8somyoctwca8jvo.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse a URL abaixo e preencha o formulário para solicitar a liberação da porta 25 (SMTP).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request" rel="noopener noreferrer"&gt;https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Email address: email para receber o contato da AWS&lt;/p&gt;

&lt;p&gt;Use case description: Descrição do motivo que você quer a liberação da porta SMTP&lt;/p&gt;

&lt;p&gt;Elastic IP address: O endereço IP atachado na instância EC2&lt;/p&gt;

&lt;p&gt;Reverse DNS record: A URL que você definiu para o DNS Reverso&lt;/p&gt;

&lt;p&gt;Em seguida clique em "Submit".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxrb7d8vp6udfarag1gl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhxrb7d8vp6udfarag1gl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você irá receber um e-mail de confirmação da solicitação.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8cdi3th5bw509h5u9uo2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8cdi3th5bw509h5u9uo2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Caso sua solicitação seja aprovada, você irá receber outro email confirmando.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfrvhxqvmwusmcfiu75a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdfrvhxqvmwusmcfiu75a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Utilizei o seguinte texto para solicitar a liberação:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I request the release of the SMTP port for sending emails through the provided EIP below. We will use an EC2 with this EIP to set up a business email server.
To ensure that the EC2 is not used for sending unwanted emails, the following measures will be implemented:
* Email Authentication: Implementation of SPF (Sender Policy Framework) and DKIM (DomainKeys Identified Mail) authentication to verify the authenticity of sent emails.
* Constant Monitoring: Implementation of monitoring tools to identify any suspicious activity or abnormal email volume.
* Responsible Use Policies: Establishment of internal policies to ensure that email sending is done responsibly and in compliance with applicable laws and regulations.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Para realizar um teste, acesse sua instância EC2 e execute um telnet em algum servidor de e-mail na porta 25. No exemplo abaixo utilizei o servidor do Gmail.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;telnet smtp.gmail.com 25
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflfcjym7k3h04hihae5z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fflfcjym7k3h04hihae5z.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Instalando e configurando o Carbonio CE
&lt;/h2&gt;

&lt;p&gt;Primeiro vamos atualizar a lista de pacotes disponíveis nos repositórios. Execute o seguinte comando:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq96g3fczmyk2slr1lxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqq96g3fczmyk2slr1lxp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora vamos alterar o hostname da máquina. Execute o seguinte comando:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hostnamectl set-hostname mail
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nx8tr72tusty51vu5mk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nx8tr72tusty51vu5mk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Precisamos atualizar o arquivo /etc/hosts com o IP da máquina seguido do FQDN e o hostname. Execute o primeiro comando para descobrir o seu IP, em seguida altere o segundo comando conforme o seu ambiente:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;hostname&lt;/span&gt; &lt;span class="nt"&gt;-I&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"10.0.2.133 mail.alfredocastro.com.br mail"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /etc/hosts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdcdjvp4l6t8r9wyaw0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdcdjvp4l6t8r9wyaw0y.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Reinicie a máquina utilizando o comando abaixo:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Execute os comandos abaixo para adicionar o repositório da Zextras:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Acesse a página do &lt;a href="https://www.zextras.com/carbonio-community-edition/?ref=blog.netcomms.au#discoverproduct" rel="noopener noreferrer"&gt;Carbonio Community Edition&lt;/a&gt; e preencha o formulário. Você receberá um e-mail com instruções de como adicionar o repositório, parecido com os comandos abaixo:&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
wget https://repo.zextras.io/inst_repo_ubuntu.sh
&lt;span class="nb"&gt;chmod&lt;/span&gt; +x inst_repo_ubuntu.sh
./inst_repo_ubuntu.sh
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvs2sbj51dulssjq9hwui.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvs2sbj51dulssjq9hwui.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwnskaxmw2o0pkcpa12vo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwnskaxmw2o0pkcpa12vo.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Agora execute o comando abaixo para realizar a instalação do Carbonio CE:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;service-discover-server &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-directory-server &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-proxy &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-webui &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-files-ui &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-admin-login-ui &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-mta &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-appserver &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-user-management &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-files-ce &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-files-db &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-storages-ce &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-preview-ce &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-docs-connector-ce &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-docs-editor &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-admin-ui &lt;span class="se"&gt;\&lt;/span&gt;
carbonio-admin-console-ui &lt;span class="se"&gt;\&lt;/span&gt;
postgresql-12 &lt;span class="nt"&gt;-y&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i7zuc9vfd1itjlllmu5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5i7zuc9vfd1itjlllmu5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute o seguinte comando para realizar a configuração inicial do Carbonio CE:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;carbonio-bootstrap
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i37qrnm695e3qy42cyn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3i37qrnm695e3qy42cyn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vamos realizar a alteração do timezone do Carbonio CE, digite "1" para entrar no menu "Common Configuration":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp1fig3cwbas4yl6ml83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsp1fig3cwbas4yl6ml83.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite "6" para entrar no menu "TimeZone":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzye6a5tyvoxqr1432gpa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzye6a5tyvoxqr1432gpa.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite o número corresponde ao seu timezone, irei configurar o timezone de "America/Sao_Paulo" número "43":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq15jt7uj5duqv20esu6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq15jt7uj5duqv20esu6g.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75vnats70oqzgd0ncryt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75vnats70oqzgd0ncryt.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Retorne ao menu principal digitando "r":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2x8kr8wsnhd5zuenkpq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2x8kr8wsnhd5zuenkpq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Confirme as configurações digitando "y":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdwhpa3yb9ctz70tmk5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdwhpa3yb9ctz70tmk5o.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aguarde até que ele exiba a mensagem "Configuration complete", e em seguida tecle "ENTER":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jn96ymuvh5rv8cf6q1n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jn96ymuvh5rv8cf6q1n.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora vamos configurar o Carbonio Mesh, ele é necessário para permitir a comunicação entre o Carbonio e seus componentes. Execute o comando abaixo para realizar a configuração de forma interativa:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;service-discover setup-wizard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Primeiro ele irá solicitar o seu endereço IP seguido da máscara de rede, no meu exemplo será o 10.0.2.133/20. Em seguida irá solicitar uma senha para o Carbonio Mesh que é usado para configurações e gerenciamento, repita a senha novamente (por segurança, ele não irá mostrar os caracteres):&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvr99gvct2dthgexqd0jd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvr99gvct2dthgexqd0jd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obs: Caso tenha perdido a senha, você pode encotrar ela no arquivo /var/lib/service-discover/password (acessível apenas pelo usuário root).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Para concluir a instalação do Carbonio Mesh, execute o seguinte comando (será solicitada a senha, digite a senha definida na etapa anterior):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pending-setups &lt;span class="nt"&gt;-a&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgvn3g49n5dt4bezf89x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftgvn3g49n5dt4bezf89x.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fowny6azml98wn4mdzh11.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fowny6azml98wn4mdzh11.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute os comandos abaixo para realizar a criação da Role, da Database e para o banco de dados inicial de arquivos para o Carbonio CE:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Altere DB_ADM_PWD para uma senha de sua escolha, no primeiro e no terceiro comando.&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - postgres &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"psql --command=&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;CREATE ROLE carbonio_adm WITH LOGIN SUPERUSER encrypted password 'DB_ADM_PWD';&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
su - postgres &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"psql --command=&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;CREATE DATABASE carbonio_adm owner carbonio_adm;&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;span class="nv"&gt;PGPASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;DB_ADM_PWD carbonio-files-db-bootstrap carbonio_adm 127.0.0.1
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30qsi1aslusga2wtxbd5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F30qsi1aslusga2wtxbd5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Execute um Stop/Start utilizando os comandos abaixo:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras
zmcontrol stop
zmcontrol start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gcnw02fk52ya0j9q0wj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8gcnw02fk52ya0j9q0wj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute o comando abaixo para definir uma senha para o usuário Global Admin (usuário administrador da console Carbonio CE acessível na porta 6071):&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Altere a informação do domínio conforme o seu ambiente e altere para uma senha de sua escolha.&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras
carbonio prov setpassword zextras@alfredocastro.com.br YOURPASSWORD
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy875evmqvfzq8owoohni.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy875evmqvfzq8owoohni.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
NOTA: Execute o comando logado com o usuário zextras (su - zextras).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Configurando o DKIM
&lt;/h2&gt;

&lt;p&gt;DKIM, ou DomainKeys Identified Mail, é um método de autenticação de emails. Ele ajuda a verificar a autenticidade do remetente e a integridade da mensagem de email. Quando um servidor de email usa DKIM, ele adiciona uma assinatura criptográfica aos cabeçalhos do email enviado. Essa assinatura é gerada usando uma chave privada específica do domínio do remetente.&lt;/p&gt;

&lt;p&gt;Quando o email é recebido pelo servidor de destino, o servidor verifica essa assinatura usando a chave pública disponível no registro DNS do domínio do remetente. Se a assinatura corresponder aos dados do cabeçalho do email, isso indica que o email não foi alterado após ter sido enviado pelo remetente autenticado.&lt;/p&gt;

&lt;p&gt;Essencialmente, DKIM ajuda a combater o spoofing de email e a garantir que os emails sejam autenticados como legítimos. Isso pode ajudar a reduzir a probabilidade de que emails falsificados ou maliciosos sejam entregues na caixa de entrada do destinatário.&lt;/p&gt;

&lt;p&gt;Para configurarmos, execute o seguinte comando para gerar o registro DNS:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Altere o domínio conforme o seu ambiente.&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras
/opt/zextras/libexec/zmdkimkeyutil &lt;span class="nt"&gt;-a&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; alfredocastro.com.br
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddhf8tmvyqe0ebmr5snx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddhf8tmvyqe0ebmr5snx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No exemplo acima, foi gerado o seguinte registro para ser criado no DNS:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Tipo: TXT

Registro: 9EEEDFAE-FC33-11EE-9B42-EAD105BED053._domainkey

Valor: &lt;span class="nv"&gt;v&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;DKIM1&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;k&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;rsa&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nv"&gt;p&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5IYCXNy92oQdyTDrXAIfDFz/fHzmNdeqhgSeErR/m0SYDguQKeb7c19zr4imctX2a6HdzV1W5c8w90jvbvKYGUuBOBhSA/APx0DEa+DxV59+D173PE/iKpDuAIBajWyXT+oVH9JX6iCg33Jk4ghEakZ4jz+NsSkVJ3rwUIHvBWnfb7BNF5MPnQ18O9YHvS3POdldIdIme/JHCuew3k/biXIhZxVE9zg2YXwq1AjxCo24jqtDIUhG26koAeSguDDXremk3hyzEG4qKLnF47gdbDSijBBllAMV3CVzqBhBuVOV3gNA1ifGtiAUXH3YHQJeYFqy2yld8oZlqFozuSXzFQIDAQAB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie o registro acima de acordo com o seu cenário:&lt;/p&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymsv921ppvkvl7pmpqz5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fymsv921ppvkvl7pmpqz5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vt4a04k2ke2ajf1gu7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0vt4a04k2ke2ajf1gu7a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Configurando um Certificado SSL Let's Encrypt no Carbonio CE via Console
&lt;/h2&gt;

&lt;p&gt;A Zextras introduziu uma maneira simplificada e aprimorada de configurar certificados SSL Let's Encrypt através da Console Web. Com esta atualização, você agora pode facilmente implementar certificados para um único domínio ou vários domínios.&lt;/p&gt;

&lt;p&gt;Para configurar o Let's Encrypt, você precisa ter o pacote certbot, execute o seguinte comando para verificar se ele está instalado:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;dpkg &lt;span class="nt"&gt;-l&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;carbonio-certbot
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbd2kl4bwasdoobicksv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flbd2kl4bwasdoobicksv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Verifique o modo zimbraReverseProxyMailMode do seu servidor. Por padrão é definido como https, execute o seguinte comando:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Altere a URL conforme o seu ambiente&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"carbonio prov gs mail.alfredocastro.com.br | grep -i zimbraReverseProxyMailMode"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fa6krvjkpfubijnbwk0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6fa6krvjkpfubijnbwk0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Para que o certbot funcione, precisamos alterar o modo zimbraReverseProxyMailMode de https para redirect, execute os comandos abaixo para realizar a alteração:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Altere a URL conforme o seu ambiente&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"carbonio prov ms mail.alfredocastro.com.br zimbraReverseProxyMailMode redirect"&lt;/span&gt;
su - zextras &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"zmconfigdctl restart"&lt;/span&gt;
su - zextras &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"carbonio prov gs mail.alfredocastro.com.br | grep -i zimbraReverseProxyMailMode"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o6qsn8fa3xmi0zsfdp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3o6qsn8fa3xmi0zsfdp0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Faça login no Console de administração do Carbonio CE, utilize o usuário &lt;a href="mailto:zextras@alfredocastro.com.br"&gt;zextras@alfredocastro.com.br&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: &lt;a href="https://mail.alfredocastro.com.br:6071/" rel="noopener noreferrer"&gt;https://mail.alfredocastro.com.br:6071/&lt;/a&gt; - altere a URL conforme o seu ambiente&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figmfs5dszapyif9fqxgx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Figmfs5dszapyif9fqxgx.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Domains" no menu lateral esquerdo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz937l1zmasg7e2n52vq8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz937l1zmasg7e2n52vq8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione o domínio desejado:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bnw3mdasmz2agi1r373.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7bnw3mdasmz2agi1r373.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Virtual Hosts &amp;amp; Certificates":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkka1g6tw8fkfi47iz9s7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkka1g6tw8fkfi47iz9s7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite a URL que você configurou em seu servidor de mail e clique em "ADD":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnw5d29y61ihrncqhu5t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvnw5d29y61ihrncqhu5t.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "SAVE":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6kydi0r543zhtvjv1rp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6kydi0r543zhtvjv1rp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "UPLOAD AND VERIFY CERTIFICATE":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2jhdvuius4bv9rnyqmz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn2jhdvuius4bv9rnyqmz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere "Certificate Type" para "I want to use a Let's Encrypt (longChain) certificate" e em seguida clique em "GENERATE CERTIFICATE":&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkiz5083rc9jt6njcdpj1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkiz5083rc9jt6njcdpj1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você verá uma notificação em verde escrito "The System is processing your certificate generation request. It will send the result to the Global and Domain notification recipients.", o Carbonio CE irá solicitar o certificado.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmdvetntu3rmvej4jw32b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmdvetntu3rmvej4jw32b.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se tudo ocorrer bem você irá receber dois e-mails com a conclusão da solicitação, acesse a URL do seu servidor de e-mail e faça login com o usuário &lt;a href="mailto:zextras@alfredocastro.com.br"&gt;zextras@alfredocastro.com.br&lt;/a&gt;:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftymor1sis6g5qstr90xl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftymor1sis6g5qstr90xl.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp07hkosikzsnokthlbfa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp07hkosikzsnokthlbfa.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc20gdiedahhtxrsnpfnn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc20gdiedahhtxrsnpfnn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para finalizar, execute o comando abaixo para reiniciar o Carbonio CE e finalizar a instalação do Certificado SSL:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;su - zextras &lt;span class="nt"&gt;-c&lt;/span&gt; &lt;span class="s2"&gt;"zmcontrol restart"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwi1inuqewf8whcxr8w4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkwi1inuqewf8whcxr8w4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://alfredocastro.com.br/posts/instalando-e-configurando-o-servidor-de-e-mail-carbonio-ce-na-aws-substituto-do-zimbra/" rel="noopener noreferrer"&gt;https://alfredocastro.com.br/posts/instalando-e-configurando-o-servidor-de-e-mail-carbonio-ce-na-aws-substituto-do-zimbra/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>carbonio</category>
      <category>email</category>
      <category>aws</category>
      <category>ec2</category>
    </item>
    <item>
      <title>Acessando Containers do Amazon ECS Fargate pelo AWS Cli</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Fri, 16 Feb 2024 21:00:30 +0000</pubDate>
      <link>https://dev.to/alfredotavio/acessando-containers-do-amazon-ecs-fargate-pelo-aws-cli-6j5</link>
      <guid>https://dev.to/alfredotavio/acessando-containers-do-amazon-ecs-fargate-pelo-aws-cli-6j5</guid>
      <description>&lt;p&gt;A utilização de containers, especialmente no ambiente da nuvem, revolucionou a maneira como desenvolvemos, implantamos e escalamos aplicações. No ambiente AWS, o AWS Fargate proporciona um mecanismo de computação sem servidor para execução de containers, permitindo maior agilidade e eficiência. Contudo, mesmo em ambientes altamente automatizados, a necessidade de debugar e realizar troubleshooting pode surgir, e é aí que o AWS Exec se torna uma ferramenta crucial.&lt;/p&gt;

&lt;p&gt;O AWS Exec é uma ferramenta poderosa que simplifica o processo de acesso a containeres em execução no AWS Fargate. Essa funcionalidade proporciona aos desenvolvedores a capacidade de interagir diretamente com os containeres, permitindo diagnósticos mais precisos e a resolução eficiente de problemas.&lt;/p&gt;

&lt;p&gt;Existem diversas razões pelas quais o AWS Exec se destaca na importância do processo de debug e troubleshooting em ambientes AWS Fargate. Uma delas é a capacidade de se conectar diretamente aos containeres em execução, possibilitando a execução de comandos interativos. Isso significa que os desenvolvedores podem inspecionar o estado interno do container, analisar logs em tempo real e até mesmo realizar alterações na configuração para testes pontuais.&lt;/p&gt;
&lt;h2&gt;
  
  
  Pré-requisito:
&lt;/h2&gt;

&lt;p&gt;Um Cluster ECS com uma task em execução.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Configurando a permissão necessária na Task Role do Cluster ECS
&lt;/h2&gt;

&lt;p&gt;Para acessarmos o Container, precisamos adicionar uma policy com permissão de SSM.&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "Elastic Cotainer Service".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Clusters".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9z2e07psuzd83t75efgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9z2e07psuzd83t75efgu.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no "Cluster" onde possui o container que você quer acessar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei11kbmtq84mmx90yl5v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fei11kbmtq84mmx90yl5v.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere para a aba "Tasks".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwesfyvkwr0fterwjdfk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwesfyvkwr0fterwjdfk.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no ID da "Task".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwepivzjy0lu59gyrb908.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwepivzjy0lu59gyrb908.png" alt="Image description" width="800" height="165"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere para a aba "Networking".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgsfgr8hx09d2da7ev0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flgsfgr8hx09d2da7ev0m.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no nome da "Task role", você será redirecionado para o "IAM" onde poderá editar a Role.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0l018ccpgt5c850rnp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh0l018ccpgt5c850rnp2.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Add permissions" e em seguida clique em "Create inline policy".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz3n2aqy0nn600t7o106m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz3n2aqy0nn600t7o106m.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere o "Policy editor" para o modo "JSON".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpu5u2iq7m6i8m41m1mbu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpu5u2iq7m6i8m41m1mbu.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Adicione o seguinte JSON e clique em "Next".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Sid"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"VisualEditor0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="s2"&gt;"ssmmessages:CreateDataChannel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="s2"&gt;"ssmmessages:OpenDataChannel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="s2"&gt;"ssmmessages:OpenControlChannel"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="s2"&gt;"ssmmessages:CreateControlChannel"&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1q8ox4ciz8bjy34d03em.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1q8ox4ciz8bjy34d03em.png" alt="Image description" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Defina um nome para a Policy e clique em "Create policy".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntjqqtauxg6gvdbbo3h7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fntjqqtauxg6gvdbbo3h7.png" alt="Image description" width="800" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, permissões necessárias adicionadas ao "Task role" do nosso cluster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn3k5tpx3vlbw9fdux8a7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn3k5tpx3vlbw9fdux8a7.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Criando uma Access key
&lt;/h2&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "IAM".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Users".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmg2f5cgn4vnul4bo0bq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmg2f5cgn4vnul4bo0bq.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create user".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8z7xl4dc1pwb3564rzpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8z7xl4dc1pwb3564rzpv.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Defina um nome para o "User name" e clique em "Next".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgefwmtj2uqaxiovb2chh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgefwmtj2uqaxiovb2chh.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Marque a opção "Attach policies directly", pesquise pela policy "AmazonECS_FullAccess" (policy gerenciada pela AWS) e selecione ela, em seguida clique em "Next".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw69wl717cv13xywd03o8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw69wl717cv13xywd03o8.png" alt="Image description" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Revise as informações e clique em "Create user".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Floio0jd246v18lbifv3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Floio0jd246v18lbifv3f.png" alt="Image description" width="800" height="333"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no "User name" que acabamos de criar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05yhf2gbz7x8yd76unk1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05yhf2gbz7x8yd76unk1.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create access key".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ul3cqj1m758b82tsl6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ul3cqj1m758b82tsl6.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Selecione "Command Line Interface (CLI)", marque a opção "I understand the above recommendation and want to proceed to create an access key.", em seguida clique em "Next".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauzoa770aek13eizfhmx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fauzoa770aek13eizfhmx.png" alt="Image description" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create access key".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmocasf3ps5o5xjztfuf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnmocasf3ps5o5xjztfuf.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anote a "Access key" e a "Secret access key" gerada, em seguida clique em "Done".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cyminwuyr09mkr1j2dv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4cyminwuyr09mkr1j2dv.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, access key criada com sucesso.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dj1vj2cnrpcm3xjvmpj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9dj1vj2cnrpcm3xjvmpj.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Instalando e configurando o AWS Cli e o SSM Plugin
&lt;/h2&gt;

&lt;p&gt;Na máquina que você irá utilizar para acessar o container, execute os seguintes comandos para realizar a instalação do AWS Cli e do SSM Plugin. Em seguida realize a configuração de um profile com a "Access key" e a "Secret access key" que geramos anteriormente.&lt;/p&gt;

&lt;p&gt;Para ambiente Ubuntu Server (22.04):&lt;/p&gt;

&lt;p&gt;Instalando o AWS Cli.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
apt-get update
curl &lt;span class="s2"&gt;"https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip"&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s2"&gt;"awscliv2.zip"&lt;/span&gt;
unzip awscliv2.zip
&lt;span class="nb"&gt;sudo&lt;/span&gt; ./aws/install
aws &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzp9kzaj4hzjeju75gt3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbzp9kzaj4hzjeju75gt3.png" alt="Image description" width="800" height="838"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Instalando o SSM Plugin.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="s2"&gt;"https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb"&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="s2"&gt;"session-manager-plugin.deb"&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;dpkg &lt;span class="nt"&gt;-i&lt;/span&gt; session-manager-plugin.deb
session-manager-plugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhh24u6ox4wzragyxfh8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqhh24u6ox4wzragyxfh8.png" alt="Image description" width="800" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configurando o profile no AWS Cli.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws configure &lt;span class="nt"&gt;--profile&lt;/span&gt; Site-Alfredo
AKIAR3YIWCET6PRJOIMI
GNL5NDMFKMqsA5umnIPBLiPLODchQl5wjhnYFDex
us-east-1

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62hn6lvv92ribqf424c6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F62hn6lvv92ribqf424c6.png" alt="Image description" width="659" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, instalamos o AWS Cli e o SSM Plugin e configuramos um profile com a Access key gerada na etapa anterior.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Habilitando o ECS Exec e acessando o container
&lt;/h2&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "Elastic Container Service".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Clusters".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mc0s074nm58za72mik4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6mc0s074nm58za72mik4.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no "Cluster".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpi2zpkzlp1kf04ery0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhpi2zpkzlp1kf04ery0f.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obs: Anote o "Cluster name" iremos utilizar para o próximo comando. Nesse exemplo o nome é "cluster-site-alfredo".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Clique na aba "Services".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2nihcn9st9ccfuc1rs7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi2nihcn9st9ccfuc1rs7.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmrpl1hgl6kpprswotfe1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmrpl1hgl6kpprswotfe1.png" alt="Image description" width="800" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obs: Anote o "Service name" e a "Task definition" iremos utilizar para o próximo comando. Nesse exemplo o nome do service é "service-site-alfredo" e a task definition é "task-site-alfredo:3".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Com as seguintes informações anotadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cluster Name: cluster-site-alfredo&lt;/li&gt;
&lt;li&gt;Service Name: service-site-alfredo&lt;/li&gt;
&lt;li&gt;Task Definition: task-site-alfredo:3&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Execute o comando abaixo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ecs update-service &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--cluster&lt;/span&gt; ECS_CLUSTER_NAME  &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--service&lt;/span&gt; ECS_SERVICE_NAME &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--task-definition&lt;/span&gt; ECS_TASK-DEFINITION_NAME &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--force-new-deployment&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--enable-execute-command&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--profile&lt;/span&gt; CLI_PROFILE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ecs update-service &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--cluster&lt;/span&gt; cluster-site-alfredo  &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--service&lt;/span&gt; service-site-alfredo &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--task-definition&lt;/span&gt; task-site-alfredo:3 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--force-new-deployment&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--enable-execute-command&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--profile&lt;/span&gt; Site-Alfredo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Obs: Lembre-se de adicionar o --profile com o nome do profile que você configurou em seu AWS Cli.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqzd21qijbgcm295vchn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbqzd21qijbgcm295vchn.png" alt="Image description" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere para a aba de "Tasks", no exemplo abaixo podemos ver que o ECS está com duas "Tasks". Aguarde por alguns minutos, o ECS irá provisionar a "Task" com o AWS Exec habilitado.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpy5ldfbu7y7yh8wzn97.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpy5ldfbu7y7yh8wzn97.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após aguardar por alguns minutos, acesse novamente a aba de "Tasks", no exemplo abaixo podemos ver que o ECS agora possui apenas uma "Task". Clique na "Task ID".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxva3x80isdunygtkpd3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffxva3x80isdunygtkpd3.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obs: Anote o "Task ID" iremos utilizar para o próximo comando. Nesse exemplo o ID da task é "3e63a718518c485fb64a749a3cc2a5ce".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Clique na aba "Configuration".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnqag5o4c3oqu25iqg5r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgnqag5o4c3oqu25iqg5r.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Desça até o campo "Containers".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyrkffmdvinjotquxf50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkyrkffmdvinjotquxf50.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obs: Anote o "Container name" iremos utilizar para o próximo comando. Nesse exemplo o nome do container é container-site-alfredo".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Com as seguintes informações anotadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cluster Name: cluster-site-alfredo&lt;/li&gt;
&lt;li&gt;Service Name: service-site-alfredo&lt;/li&gt;
&lt;li&gt;Task Definition: task-site-alfredo:3&lt;/li&gt;
&lt;li&gt;Task ID: 3e63a718518c485fb64a749a3cc2a5ce&lt;/li&gt;
&lt;li&gt;Container Name: container-site-alfredo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Execute o comando abaixo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ecs execute-command &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--region&lt;/span&gt; us-east-1 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--cluster&lt;/span&gt; ECS_CLUSTER_NAME &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--task&lt;/span&gt; ECS_TASK_ID &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--container&lt;/span&gt; CONTAINER_NAME &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--command&lt;/span&gt; &lt;span class="s2"&gt;"/bin/sh"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--interactive&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--profile&lt;/span&gt; CLI_PROFILE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Exemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aws ecs execute-command &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--region&lt;/span&gt; us-east-1 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--cluster&lt;/span&gt; cluster-site-alfredo &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--task&lt;/span&gt; 3e63a718518c485fb64a749a3cc2a5ce &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--container&lt;/span&gt; container-site-alfredo &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--command&lt;/span&gt; &lt;span class="s2"&gt;"/bin/sh"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--interactive&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--profile&lt;/span&gt; Site-Alfredo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Obs: Lembre-se de adicionar o --profile com o nome do profile que você configurou em seu AWS Cli e da região onde está o seu ECS, no nosso exemplo estamos utilizando N. Virginia "us-east-1".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17qbkjbgixwvszgfkxof.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F17qbkjbgixwvszgfkxof.png" alt="Image description" width="800" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, se tudo ocorrer conforme o esperado você terá como retorno o shell do container Fargate e poderá executar comandos dentro do container.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nbt39xf5wvsbwdsd9ag.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nbt39xf5wvsbwdsd9ag.png" alt="Image description" width="741" height="137"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Extra - Troubleshooting
&lt;/h2&gt;

&lt;p&gt;Ao tentarmos acessar o container apresenta o seguinte erro "ERROR: Unable to start command: Failed to start pty: fork/exec /bin/bash: no such file or directory".&lt;/p&gt;

&lt;p&gt;O erro ocorre pois não foi possível encontrar o executável /bin/bash, altere o shell no exemplo que utilizamos usamos o shell /bin/sh.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhw4lh60txao0vqk1pqhz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhw4lh60txao0vqk1pqhz.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ao tentarmos acessar o container apresenta o seguinte erro "An error occurred (InvalidParameterException) when calling the ExecuteCommand operation: The execute command failed because execute command was not enabled when the task was run or the execute command agent isn't running. Wait and try again or run a new task with execute command enabled and try again.".&lt;/p&gt;

&lt;p&gt;O erro ocorre porque não está habilitado o AWS Exec na "Task", execute os procedimentos da Etapa 04, caso já tenha executado pode ser que o ECS ainda não atualizou a "Task", aguarde alguns minutos até que ele atualize.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvuzomtxcjporzq7guygw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvuzomtxcjporzq7guygw.png" alt="Image description" width="800" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://alfredocastro.com.br/"&gt;https://alfredocastro.com.br/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>fargate</category>
      <category>ecs</category>
      <category>aws</category>
      <category>container</category>
    </item>
    <item>
      <title>Configurando Amazon SES para envio de e-mail</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Tue, 30 Jan 2024 03:28:50 +0000</pubDate>
      <link>https://dev.to/alfredotavio/configurando-amazon-ses-para-envio-de-e-mail-25</link>
      <guid>https://dev.to/alfredotavio/configurando-amazon-ses-para-envio-de-e-mail-25</guid>
      <description>&lt;p&gt;O Amazon Simple Email Service (SES) é um serviço econômico projetado para facilitar o envio de e-mails integrado a diversas aplicações, permitindo a automação de envios em larga escala.&lt;/p&gt;

&lt;p&gt;Se você utiliza um software de e-mail para enviar mensagens transacionais, campanhas de marketing ou newsletters, o Amazon SES oferece uma estrutura de pagamento flexível, permitindo que você pague apenas pelo que efetivamente utilizar. Além disso, ele suporta diferentes configurações de implantação, como endereços IP dedicados, compartilhados ou próprios.&lt;/p&gt;

&lt;p&gt;Neste tutorial, vou ajudá-lo a configurar o Amazon SES para o seu domínio. Vamos gerar uma credencial SMTP e enviar um e-mail de teste.&lt;/p&gt;
&lt;h2&gt;
  
  
  Pré-requisito:
&lt;/h2&gt;

&lt;p&gt;Uma conta AWS e um domínio (irei utilizar o domínio alfredocastro.com.br).&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Configurando o Amazon SES
&lt;/h2&gt;

&lt;p&gt;Acesse a console AWS e procure pelo serviço "Amazon Simple Email Service".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyn9pt9s6hyfw2dbkv31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyn9pt9s6hyfw2dbkv31.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Verified identities".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdlwt1av2i4wwzv48e5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdlwt1av2i4wwzv48e5q.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create identity".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvdtarekxv43ldoocj5y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsvdtarekxv43ldoocj5y.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nesta etapa, você poderá escolher entre a criação de uma identidade do tipo "Domain" ou "Email address".&lt;/p&gt;

&lt;p&gt;Uma identidade do tipo "Domain" significa que após o Amazon SES configurado, você terá a capacidade de enviar e-mails representando qualquer endereço vinculado ao domínio configurado, por exemplo, você poderá enviar e-mails representando &lt;a href="mailto:mkt@alfredocastro.com.br"&gt;mkt@alfredocastro.com.br&lt;/a&gt; ou &lt;a href="mailto:marketing@alfredocastro.com.br"&gt;marketing@alfredocastro.com.br&lt;/a&gt; e assim por diante.&lt;/p&gt;

&lt;p&gt;Já com a identidade do tipo "Email address", você irá configurar o Amazon SES para enviar e-mails apenas com um determinado endereço de e-mail.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnrmc7wr99pquy24zsd2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjnrmc7wr99pquy24zsd2.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para este tutorial, vamos utilizar o tipo "Domain", no campo "Domain" digite o seu domínio, deixe as demais configurações padrões e clique em "Create identity".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft26qnbtnvn8fpnixw96o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft26qnbtnvn8fpnixw96o.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, você concluiu com sucesso a criação da identidade para o seu domínio.&lt;/p&gt;

&lt;p&gt;Na próxima tela que abrir, será apresentada uma ação para confirmar que você é o proprietário desse domínio.&lt;/p&gt;

&lt;p&gt;Você precisará criar alguns registros do tipo CNAME no seu DNS para configurar o DKIM e, dessa forma, confirmar a propriedade do domínio.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fap2ux4nc0o3i5qx66z0k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fap2ux4nc0o3i5qx66z0k.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Na aba "Authentication", vá até o campo "Publish DNS records", será exibido 3 registro DNS do tipo CNAME para serem criados em seu DNS.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t80oti4z5nw3b0pa1rv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7t80oti4z5nw3b0pa1rv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Criando os registro DNS
&lt;/h2&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio.&lt;/p&gt;

&lt;p&gt;Crie os registros do tipo CNAME conforme exibido na etapa anterior. Veja um exemplo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmazo8apii6ymh9soj1l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmazo8apii6ymh9soj1l.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qaaoyfuctbw0lvocvu9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qaaoyfuctbw0lvocvu9.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gf13gfo29d6s8pimile.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3gf13gfo29d6s8pimile.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fapjdl2bkhsuy1ay9n4ib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fapjdl2bkhsuy1ay9n4ib.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após a propagação, você receberá um e-mail (e-mail que está configurado em sua Root Account da AWS) confirmando que a configuração do DKIM foi realizada com sucesso.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbiothqqffsxfiwwdzjxy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbiothqqffsxfiwwdzjxy.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse o Amazon SES e entre na identidade que acabamos de criar, você irá conseguir visualizar o status como "Verified" e o status do DKIM como "Successful".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh43l0tt291qwp6k4h3w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnh43l0tt291qwp6k4h3w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Solicitando acesso ao Amazon SES produção
&lt;/h2&gt;

&lt;p&gt;Acesse a console AWS e acesse o serviço "Amazon Simple Email Service".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Account dashboard".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7acye4vc658xf0go8vu3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7acye4vc658xf0go8vu3.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veja na mensagem em amarelo, a identidade que acabamos de criar está no modo "Sandbox", clique no botão "View Get set up page".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdpu2246ct8dp3v39bulc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdpu2246ct8dp3v39bulc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nossa conta está em "Sandbox" e com algumas restrições de utilização, podemos enviar apenas 200 e-mails por 24 horas e podemos enviar apenas e-mails para a nossa própria identidade verificada.&lt;/p&gt;

&lt;p&gt;Para remover essa restrição, precisamos abrir um chamado para a AWS, clique no botão "Request production access".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dv1l3b0lv4lbyq6n1qg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5dv1l3b0lv4lbyq6n1qg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Precisamos preencher esse formulário explicando para qual finalidade iremos utilizar o Amazon SES, a AWS irá analisar a solicitação e se estiver de acordo irá liberar nossa identidade para o modo "Production".&lt;/p&gt;

&lt;p&gt;Em "Mail type" selecione qual tipo de email você irá enviar, se é e-mail do tipo "Marketing" ou "Transactional", para este tutorial irei utilizar como "Transactional".&lt;/p&gt;

&lt;p&gt;Em "Website URL" digite a URL do site da sua empresa ou produto para que a AWS possa analisar qual o tipo do conteúdo será enviado.&lt;/p&gt;

&lt;p&gt;Em "Use case description", faça uma descrição do tipo de e-mail que será enviado e quais medidas você irá tomar para que os e-mails enviados não sejam considerados pelos usuários como Spam, a AWS solicita que você responda 3 questões:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

1) How will you build or acquire your mailing list?
2) How will you handle bounces and complaints?
3) How can recipients unsubscribe from your mailing list, and how will you respond to those requests?


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Eu utilizei o seguinte texto para a minha solicitação (basicamente expliquei que iria utilizar o Amazon SES como envio de email transacional, e-mails enviados por um novo sistema que estou criando e dei um exemplo do tipo de e-mail "Esqueci minha senha" e e-mails com novas postagens, também expliquei que para não ter meus e-mails marcados como indesejados ou serem enviados para o Spam, irei criar um link para que os usuários possam remover seu e-mail da lista de envio ou podem acessar o sistema e remover o envio de e-mails):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

How will you build or acquire your mailing list?
It's a new system, I will use AWS SES to send emails to new registered users, to send "I forgot my password" emails and to send notifications of new posts made on the website.

How will you handle bounces and complaints?
Each user will can cancelate the notification of system. Or via a link that will be sent along with the email.

How can recipients unsubscribe from your mailing list, and how will you respond to those requests?
Each user will can cancelate the notification of system through of a option 'help' inside the system. Or via a link that will be sent along with the email.

As it is a new system, I believe that daily emails will be sent around 100 emails.


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Marque a caixa "I agree to the AWS Service Terms and Acceptable Use Policy (AUP)" e clique em "Submit request".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvv08b4dma7a7vnpka6e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhvv08b4dma7a7vnpka6e.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você receberá uma mensagem informando que a requisição foi enviada com sucesso e a AWS irá revisar em 24 horas. O status será alterado para "Under review".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq2rdwqn0kycrg6lxyck.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffq2rdwqn0kycrg6lxyck.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Atualize a página e você irá visualizar uma mensagem com o ID do ticket aberto para a AWS. Você pode clicar no link e ir até o ticket para enviar mais informações para a AWS, caso a AWS encontre alguma inconsistencia, ela irá enviar uma mensagem pelo ticket.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofxipjlxd7ji15f9hc62.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofxipjlxd7ji15f9hc62.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após a análise da AWS, você irá receber uma e-mail (e-mail da conta Root Account) avisando que o Amazon SES foi liberado para o modo "Production".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdjqq171ow03xd0lrdqg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdjqq171ow03xd0lrdqg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse o serviço novamente e clique em "Account dashboard", agora podemos ver que a nossa cota para envios de e-mails foi alterada para 50.000 e-mails por 24 horas e o nosso status está como "Healthy".&lt;/p&gt;

&lt;p&gt;Esse número de e-mails foi definido pela AWS, você consegue solicitar um ajuste conforme a utilização.&lt;/p&gt;

&lt;p&gt;A AWS fornece um dashboard onde podemos ver como está nossa utilização diária.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0oyq9saketwposf5455w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0oyq9saketwposf5455w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Criando credencial SMTP via AWS Console
&lt;/h2&gt;

&lt;p&gt;Agora que já possuimos o nosso Amazon SES configurado e habilitado para envio de e-mails, devemos gerar uma credencial SMTP.&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e acesse o serviço "Amazon Simple Email Service".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "SMTP settings".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F84np77dx1rfzpxuf2wpn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F84np77dx1rfzpxuf2wpn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no botão "Create SMTP credentials".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tv5oq1o5cscgu4hfx8c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1tv5oq1o5cscgu4hfx8c.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Por padrão, a AWS irá criar o "User name" como "ses-smtp-user.YYYYMMDD-HHMMSS", caso você queira, poderá alterar o nome do "User name", abaixo irá mostrar qual a permissão o usuário possui.&lt;/p&gt;

&lt;p&gt;Basicamente a AWS cria um usuário IAM com uma Policy de Allow para ses:SendRawEmail, ela gera uma Access keys e executa um script para gerar uma credencial SMTP.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa33v0i0zn1xoi4fm9v83.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa33v0i0zn1xoi4fm9v83.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Eu alterei o nome do meu usuário para "ses-smtp-alfredo", clique em "Create user".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5ygbhpjrqx982jdci26.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm5ygbhpjrqx982jdci26.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copie os dados exibidos na tela e salve em um local seguro o "SMTP username" e "SMTP password" é a nossa credencial de autenticação no Amazon SES para envio de e-mails. Clique em "Return to SES console".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4cw9nxs3kaa3wdu2y02.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4cw9nxs3kaa3wdu2y02.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Retornando à guia "SMTP settings", encontraremos as informações essenciais para a configuração da nossa aplicação, incluindo o "SMTP endpoint", as configurações de "TLS" e "Port".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv5srdbjjzthx7o8fx48.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnv5srdbjjzthx7o8fx48.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Criando credencial SMTP via credencial programática
&lt;/h2&gt;

&lt;p&gt;Nesta etapa irei demonstrar como gerar uma credencial SMTP via credencial programática, para isso é necessário executar um script para transformar a Secret Key em uma credencial SMTP.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: A credencial SMTP é gerada por região e só funciona para o Amazon SES daquela região, você pode utilizar a mesma Secret Key para gerar credencial SMTP para outras regiões.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Acesse a console AWS e acesse o serviço "IAM".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Users".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6obgiw67w1kt0uk1io6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb6obgiw67w1kt0uk1io6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create user".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqckcn6d81st55fwmh1nq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqckcn6d81st55fwmh1nq.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "User name", defina um nome para o seu usuário e clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2uhqbva8qcqtvuqm86s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw2uhqbva8qcqtvuqm86s.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Iremos definir as permissões depois, apenas clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2078w9c40fzr5xyw604n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2078w9c40fzr5xyw604n.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create user".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l34ad8ounev4r1fs1vp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5l34ad8ounev4r1fs1vp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no usuário que acabamos de criar.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ox74jsgbela4nlf8qcg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3ox74jsgbela4nlf8qcg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Add permissions" e em seguida clique em "Create inline policy".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0frolv8ziaqc4uxjulu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0frolv8ziaqc4uxjulu1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere o "Policy editor" para "JSON".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmbms49j1kpqx0u01mn7u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmbms49j1kpqx0u01mn7u.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cole o seguinte JSON no "Policy editor" e clique em "Next".&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="w"&gt;

&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2012-10-17"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Statement"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Effect"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Allow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Action"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ses:SendRawEmail"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"Resource"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"*"&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;


&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F14v6j2k0whx8bwlb4f5q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F14v6j2k0whx8bwlb4f5q.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Defina um nome para a Policy e clique em "Create policy".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi463nkdhc2h5pmmhtkmp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi463nkdhc2h5pmmhtkmp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique na aba "Security credentials".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfnfn1q3n65m0v2qi65v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfnfn1q3n65m0v2qi65v.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Access keys", clique em "Create access key".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjne03zab19nkhu0zk2d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmjne03zab19nkhu0zk2d.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Escolha a "Use case" como "Other" e clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6updyn7grzgjpkzfqja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6updyn7grzgjpkzfqja.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create access key".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qu603zwscjg54or8obd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9qu603zwscjg54or8obd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Salve a "Access key" e a "Secret access key" gerada em um local seguro, clique em "Done".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funa25w9lqabcgk0a6m43.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Funa25w9lqabcgk0a6m43.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftt7yp54on1vg6ilv8nx3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftt7yp54on1vg6ilv8nx3.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora, precisamos converter nossa "Secret access key" em uma credencial SMTP.&lt;/p&gt;

&lt;p&gt;Utilizei um Linux com Ubuntu 22.04. Primeiro, instalei o python3 e, em seguida, criei o arquivo com o script em python.&lt;br&gt;
Ao executar o script, forneça a "Secret access key" e, em seguida, indique a região para a qual deseja gerar a credencial SMTP. Neste tutorial, estamos usando a região us-east-1.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

apt-get update
apt-get &lt;span class="nb"&gt;install &lt;/span&gt;python3 &lt;span class="nt"&gt;-y&lt;/span&gt;
vim /tmp/ses.py


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Script:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;

&lt;span class="c1"&gt;#!/usr/bin/env python3
&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;hmac&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;hashlib&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;argparse&lt;/span&gt;

&lt;span class="n"&gt;SMTP_REGIONS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-east-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# US East (Ohio)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-east-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# US East (N. Virginia)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-west-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# US West (Oregon)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ap-south-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Asia Pacific (Mumbai)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ap-northeast-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Asia Pacific (Seoul)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ap-southeast-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Asia Pacific (Singapore)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ap-southeast-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Asia Pacific (Sydney)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ap-northeast-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Asia Pacific (Tokyo)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ca-central-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Canada (Central)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;eu-central-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Europe (Frankfurt)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;eu-west-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Europe (Ireland)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;eu-west-2&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Europe (London)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;eu-south-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Europe (Milan)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;eu-north-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# Europe (Stockholm)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;sa-east-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# South America (Sao Paulo)
&lt;/span&gt;    &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;us-gov-west-1&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="c1"&gt;# AWS GovCloud (US)
&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# These values are required to calculate the signature. Do not change them.
&lt;/span&gt;&lt;span class="n"&gt;DATE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;11111111&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;SERVICE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ses&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;MESSAGE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;SendRawEmail&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;TERMINAL&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;aws4_request&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="n"&gt;VERSION&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mh"&gt;0x04&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;hmac&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;hashlib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;sha256&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;digest&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;calculate_key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;secret_access_key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;SMTP_REGIONS&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;raise&lt;/span&gt; &lt;span class="nc"&gt;ValueError&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; Region doesn&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;t have an SMTP endpoint.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AWS4&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;secret_access_key&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;DATE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;SERVICE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;TERMINAL&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;signature&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sign&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;signature&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;MESSAGE&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;signature_and_version&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;VERSION&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;signature&lt;/span&gt;
    &lt;span class="n"&gt;smtp_password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;base64&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;b64encode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;signature_and_version&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;smtp_password&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;decode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;parser&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;argparse&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;ArgumentParser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="n"&gt;description&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Convert a Secret Access Key to an SMTP password.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_argument&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;secret&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The Secret Access Key to convert.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;add_argument&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;region&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;help&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;The AWS Region where the SMTP password will be used.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="n"&gt;choices&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;SMTP_REGIONS&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;args&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parser&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse_args&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;calculate_key&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;secret&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;


&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;__name__&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;__main__&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Executando o script:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: A saída do script será a sua credencial SMTP.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

python3 /tmp/ses.py AedgghOlpaoKFYZ+5w/aoAo/BEBb/1z9RQ2V4N9W us-east-1


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgprh8ar0sm1jjh23ki5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdgprh8ar0sm1jjh23ki5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Testando envio de e-mail via AWS Console
&lt;/h2&gt;

&lt;p&gt;Agora vamos realizar um teste de envio de e-mail utilizando a própria Console da AWS.&lt;/p&gt;

&lt;p&gt;Acesse a console AWS e acesse o serviço "Amazon Simple Email Service".&lt;/p&gt;

&lt;p&gt;No menu lateral a esquerda, clique em "Verified identities".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5kemny2whkuk1reyace.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd5kemny2whkuk1reyace.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no seu domínio.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F51njz5er1rjbzuhqaogo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F51njz5er1rjbzuhqaogo.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no botão "Send test email".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkchuedze9xrb0i02n9pz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkchuedze9xrb0i02n9pz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Email format", selecione "Formatted".&lt;/p&gt;

&lt;p&gt;Em "From-address", digite o nome do email que irá enviar a mensagem.&lt;/p&gt;

&lt;p&gt;Em "Scenario", selecione "Custom".&lt;/p&gt;

&lt;p&gt;Em "Custom recipient", digite o e-mail do destinatário, quem irá receber o nosso e-mail de teste.&lt;/p&gt;

&lt;p&gt;Em "Subject", digite um assunto para o e-mail.&lt;/p&gt;

&lt;p&gt;Em "Body", digite uma mensagem de teste.&lt;/p&gt;

&lt;p&gt;Clique em "Send test email".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iomg037v9ah0a6xfqqp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8iomg037v9ah0a6xfqqp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veja as informações extraida do e-mail de teste que acabamos de enviar:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl49l17pmg8l8wu1ao3ih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl49l17pmg8l8wu1ao3ih.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv10mmofh77jkuriyscl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpv10mmofh77jkuriyscl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nosso e-mail foi enviado com sucesso!&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 07 - Testando envio de e-mail via script
&lt;/h2&gt;

&lt;p&gt;Agora vamos realizar um teste de envio de e-mail utilizando um script bash utilizando a nossa credencial SMTP gerada na etapa 05.&lt;/p&gt;

&lt;p&gt;Utilizei o mesmo Linux com Ubuntu 22.04, primeiro instalei o sendemail e em seguida criei o arquivo com o script em bash com permissão de execução.&lt;br&gt;
Antes de executar o script, altere as variáveis conforme o seu ambiente.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

apt-get update
apt-get &lt;span class="nb"&gt;install &lt;/span&gt;sendemail &lt;span class="nt"&gt;-y&lt;/span&gt;
vim /tmp/email.sh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Script:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;#!/bin/bash&lt;/span&gt;

&lt;span class="c"&gt;# STMP endpoint&lt;/span&gt;
&lt;span class="nv"&gt;SMTP_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"email-smtp.us-east-1.amazonaws.com"&lt;/span&gt;
&lt;span class="c"&gt;# STARTTLS Port&lt;/span&gt;
&lt;span class="nv"&gt;SMTP_PORT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"587"&lt;/span&gt;
&lt;span class="c"&gt;# Access key&lt;/span&gt;
&lt;span class="nv"&gt;SMTP_USER&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"AKIAR3YIWCET3TYHQR6T"&lt;/span&gt;
&lt;span class="c"&gt;# Credencial SMTP&lt;/span&gt;
&lt;span class="nv"&gt;SMTP_PASS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"BHqSfD7stBQJf55FGQ9RoSeNK5h2E0LvOaQFl0DmZs2Z"&lt;/span&gt;
&lt;span class="c"&gt;# Remetente&lt;/span&gt;
&lt;span class="nv"&gt;EMAIL_FROM&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"contato2@alfredocastro.com.br"&lt;/span&gt;
&lt;span class="c"&gt;# Destinatário&lt;/span&gt;
&lt;span class="nv"&gt;EMAIL_TO&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"alfredotavio@gmail.com"&lt;/span&gt;
&lt;span class="c"&gt;# Assunto&lt;/span&gt;
&lt;span class="nv"&gt;SUBJECT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"Teste de Envio 2"&lt;/span&gt;
&lt;span class="c"&gt;# Mensagem&lt;/span&gt;
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"E-mail de teste 2"&lt;/span&gt; | &lt;span class="se"&gt;\&lt;/span&gt;
        sendemail &lt;span class="nt"&gt;-o&lt;/span&gt; &lt;span class="nv"&gt;tls&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;yes&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;EMAIL_FROM&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;-u&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SUBJECT&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;EMAIL_TO&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SMTP_HOST&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;:&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SMTP_PORT&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;-xu&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SMTP_USER&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;-xp&lt;/span&gt; &lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;SMTP_PASS&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Executando o script:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;chmod&lt;/span&gt; +x /tmp/email.sh
/tmp/email.sh


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff58j5gx7su9c1ws5vr1q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff58j5gx7su9c1ws5vr1q.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veja as informações extraida do e-mail de teste que acabamos de enviar utilizando nosso script em bash:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29qwqoj5qcgmh9l62yp2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F29qwqoj5qcgmh9l62yp2.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxovjopih7bqc7dp491sc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxovjopih7bqc7dp491sc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>ses</category>
      <category>email</category>
      <category>iam</category>
    </item>
    <item>
      <title>Instalando a Wiki Outline em Docker com Autenticação via GitLab</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Fri, 22 Dec 2023 20:53:18 +0000</pubDate>
      <link>https://dev.to/alfredotavio/instalando-a-wiki-outline-em-docker-com-autenticacao-via-gitlab-2fk7</link>
      <guid>https://dev.to/alfredotavio/instalando-a-wiki-outline-em-docker-com-autenticacao-via-gitlab-2fk7</guid>
      <description>&lt;p&gt;Uma das ferramentas essenciais para empresas que desejam organizar, compartilhar e preservar conhecimento é a Wiki. Ela funciona como um repositório centralizado de informações, permitindo a criação, edição e colaboração em documentos de maneira simples e acessível a todos os membros da equipe.&lt;/p&gt;

&lt;p&gt;Neste tutorial, vamos abordar a instalação da Wiki Outline em um ambiente Docker, garantindo a facilidade na configuração. Além disso, vamos configurar a autenticação via GitLab, tornando o acesso à Wiki mais seguro e integrado aos sistemas existentes na empresa.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ambiente
&lt;/h2&gt;

&lt;p&gt;Para está implementação, estou utilizando um servidor Linux com a distribuição Ubuntu na versão 22.04.&lt;/p&gt;

&lt;p&gt;O servidor que utilizei possui a seguinte configuração: 2 vCPUs, 4GB RAM e um disco SSD de 30GB.&lt;/p&gt;

&lt;p&gt;Para que nosso servidor seja acessível pela internet, e para que o nosso Traefik gere o certificado via Let's Encrypt, precisamos possuir um endereço IP público e precisamos liberar as portas 80 e 443 para a internet.&lt;/p&gt;

&lt;p&gt;Também é necessário possuirmos um registro DNS para criarmos as URLs para o Outline e para o MinIO.&lt;/p&gt;

&lt;p&gt;Disponibilizei o Docker Compose no seguinte repositório do GitHub: &lt;a href="https://github.com/alfredotavio/outline-authgitlab-docker" rel="noopener noreferrer"&gt;https://github.com/alfredotavio/outline-authgitlab-docker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagens utilizadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/_/postgres" rel="noopener noreferrer"&gt;postgresql&lt;/a&gt; - Versão latest (16.1)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/_/redis" rel="noopener noreferrer"&gt;redis&lt;/a&gt; - Versão latest (7.2.3)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/minio/minio/" rel="noopener noreferrer"&gt;minio&lt;/a&gt; - Versão latest (RELEASE.2023-12-20T01-00-02Z)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/outlinewiki/outline" rel="noopener noreferrer"&gt;outline&lt;/a&gt; - Versão 0.74.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/_/traefik/" rel="noopener noreferrer"&gt;traefik&lt;/a&gt; - Versão latest (v2.10.7)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Estrutura:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

.
├── .env
└── docker-compose.yml


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Não irei abordar a instalação do Docker Engine, caso ainda não saiba realizar a instalação, consulte este outro post:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092"&gt;https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;É necessário possuirmos um servidor GitLab instalado e configurado, no tutorial não irei entrar em detalhes de como realizar a instalação do GitLab, caso não possua uma servidor GitLab, consulte este outro post:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/alfredotavio/instalando-gitlab-usando-docker-4b57"&gt;https://dev.to/alfredotavio/instalando-gitlab-usando-docker-4b57&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criando os registro DNS
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, vamos definir e criar as URLs que iremos utilizar para o Outline e para o nosso MinIO.&lt;/p&gt;

&lt;p&gt;Irei utilizar o domínio alfredocastro.com.br, defini a URL wiki.alfredocastro.com.br para o Outline e as URLs storage.alfredocastro.com.br e storage-admin.alfredocastro.com.br para o MinIO.&lt;/p&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie dois registro do tipo A colocando como valor o endereço IP público do seu servidor.&lt;/p&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6082nm8mys68819bbmf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6082nm8mys68819bbmf.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fqm8tfaxounmwrvusnn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2fqm8tfaxounmwrvusnn.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7aqf5s4bni774eo6rrs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs7aqf5s4bni774eo6rrs.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvep901hizk9lpdj3f4k3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvep901hizk9lpdj3f4k3.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Clonando o repositório do Docker Compose
&lt;/h2&gt;

&lt;p&gt;Após realizar a instalação do Docker Engine, vamos dar seguimento com a nossa implementação.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1ve6g492aaaxfe3r3h7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo1ve6g492aaaxfe3r3h7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute os seguintes comandos para clonar nosso Docker Compose para dentro do nosso servidor:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; /opt
git clone https://github.com/alfredotavio/outline-authgitlab-docker.git


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2k5kht6fty5l4zke40o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2k5kht6fty5l4zke40o.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Utilizei o diretório /opt do Linux, caso queira você pode alterar para outro diretório de sua escolha.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Gerando as keys SECRET_KEY e UTILS_SECRET
&lt;/h2&gt;

&lt;p&gt;Utilize o comando abaixo para gerar as keys SECRET_KEY e UTILS_SECRET, utilize o comando duas vezes.&lt;br&gt;
Iremos adicionar as keys geradas no arquivo de variáveis .env.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

openssl rand &lt;span class="nt"&gt;-hex&lt;/span&gt; 32


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85q7lhakjmsigzikm46f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F85q7lhakjmsigzikm46f.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Salve as keys aleatórias hex-encoded 32-byte geradas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Gerando o Token OAuth no GitLab
&lt;/h2&gt;

&lt;p&gt;Siga as etapas para gerar o Token OAuth para as variáveis ​​OIDC_CLIENT_ID e OIDC_CLIENT_SECRET.&lt;/p&gt;

&lt;p&gt;Faça login no GitLab.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxco2tfwvia7yivj7prw9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxco2tfwvia7yivj7prw9.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Clique na foto do perfil do usuário na aba lateral esquerda. Em seguida, clique em "Edit profile".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtu1twzyian4xzw0ty0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmtu1twzyian4xzw0ty0j.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
No menu lateral esquerdo, clique em "Applications".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6y11fcz1c0ep396rnpe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6y11fcz1c0ep396rnpe.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Clique no botão "Add new application".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxv2amr0eacflf40s20t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxv2amr0eacflf40s20t.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Preencha os seguintes campos:&lt;/p&gt;

&lt;p&gt;Nome: um nome para o token OAuth.&lt;/p&gt;

&lt;p&gt;Redirect URI: a URL para a qual o usuário será redirecionado após o Login. Substitua wiki.alfredocastro.com.br pela URL do Outline que você definiu na etapa 01, mantenha /auth/oidc.callback.&lt;/p&gt;

&lt;p&gt;Selecione: Confidential, openid, email.&lt;/p&gt;

&lt;p&gt;Em seguida, clique em "Save application".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij0we070y7uivpa5o9dw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fij0we070y7uivpa5o9dw.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Copie o "Application ID" e a "Secret", iremos utilizar no arquivo de variáveis .env para as variáveis OIDC_CLIENT_ID e OIDC_CLIENT_SECRET. Em seguida, clique em "Continue".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lp7p5nz3k745cqzpv4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3lp7p5nz3k745cqzpv4h.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxajmg4y7z86xir1s6a9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqxajmg4y7z86xir1s6a9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Definindo as variáveis
&lt;/h2&gt;

&lt;p&gt;Para definirmos as variáveis, devemos editar o arquivo .env na raiz do projeto, utilize o seguinte comando:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

vim /opt/outline-authgitlab-docker/.env


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Altere as seguintes variáveis (altere de acordo com o seu ambiente, lembre-se das informações geradas nas etapas anteriores):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="c"&gt;# URL do seu GitLab&lt;/span&gt;
&lt;span class="nv"&gt;GITLAB_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;gitlab.alfredocastro.com.br
&lt;span class="c"&gt;# Gere uma senha para o usuário PostgreSQL&lt;/span&gt;
&lt;span class="nv"&gt;POSTGRES_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;4plDjot8gsBuoUm2t8g
&lt;span class="c"&gt;# Gere uma senha para o usuário minioadmin&lt;/span&gt;
&lt;span class="nv"&gt;MINIO_ROOT_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;uuD4Tkqn1DLWK8L2NZL
&lt;span class="c"&gt;# Gere uma senha para o usuário minio&lt;/span&gt;
&lt;span class="nv"&gt;MINIO_USER_PASSWORD&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;K8uk1WL4TDqnNZLuL2D
&lt;span class="c"&gt;# Key aleatória hex-encoded 32-byte gerada na etapa 03&lt;/span&gt;
&lt;span class="nv"&gt;SECRET_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;ac19f89a7208b8b555391ac30df954d23c72cd73334d5464d9191b69db661b60
&lt;span class="c"&gt;# Key aleatória hex-encoded 32-byte gerada na etapa 03&lt;/span&gt;
&lt;span class="nv"&gt;UTILS_SECRET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;3858016d319b5ccdb0c6d81df8c5084395e3cd88d46a519d84719e59bbddf735
&lt;span class="c"&gt;# ID do Token OAuth gerado na etapa 04&lt;/span&gt;
&lt;span class="nv"&gt;OIDC_CLIENT_ID&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;bee5543039223825096f902a47b3860981c6f4b12ea7be803fcf30343db71f49
&lt;span class="c"&gt;# Secret do Token OAuth gerado na etapa 04&lt;/span&gt;
&lt;span class="nv"&gt;OIDC_CLIENT_SECRET&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;gloas-0748860386fd7ad12bfb6f81a72f389767f3c0f576d4570c4489738e0ce50243
&lt;span class="c"&gt;# URL do Outline definida na etapa 01&lt;/span&gt;
&lt;span class="nv"&gt;WIKI_URL_TRAEFIK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;wiki.alfredocastro.com.br
&lt;span class="c"&gt;# URL do MinIO definida na etapa 01&lt;/span&gt;
&lt;span class="nv"&gt;MINIO_URL_TRAEFIK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;storage.alfredocastro.com.br
&lt;span class="c"&gt;# URL do MinIO definida na etapa 01&lt;/span&gt;
&lt;span class="nv"&gt;MINIO_ADMIN_URL_TRAEFIK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;storage-admin.alfredocastro.com.br
&lt;span class="c"&gt;# Endereço de email para geração do certificado Let's Encrypt&lt;/span&gt;
&lt;span class="nv"&gt;ACME_EMAIL_TRAEFIK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;alfredotavio@gmail.com


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhp8inqo05w57lr7ddsd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmhp8inqo05w57lr7ddsd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Executando o Docker Compose
&lt;/h2&gt;

&lt;p&gt;Para subirmos nosso ambiente, basta executarmos o seguinte comando dentro do diretório raiz onde está nosso docker-compose.yml:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2q31taywj7jz9v8a68h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu2q31taywj7jz9v8a68h.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: O Docker irá fazer o download e o provisionamento de todas as imagens. Aguarde alguns minutos até que as imagens concluam a primeira configuração.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 07 - Acessando a Wiki Outline
&lt;/h2&gt;

&lt;p&gt;Acesse a URL da Wiki Outline que definimos na etapa 01, irá exibir uma tela com um botão "Continuar com o GtiLab" clique nele.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ryyemajutjcfer3nhe0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2ryyemajutjcfer3nhe0.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Você será redirecionado para a página de login do GitLab, utilize o seu usuário do GitLab para fazer login.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zqlp808atuc8ar5gwnk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9zqlp808atuc8ar5gwnk.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Clique no botão "Authorize" para autorizar o Outline a interagir com o GitLab via Token OAuth.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofptt9xpmhf9jm9zebmt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fofptt9xpmhf9jm9zebmt.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Você será redirecionado para a página inicial da Wiki Outline, seu usuário terá acesso admin e você poderá realizar as configurações que achar melhor para a sua Wiki.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fye23gz8hqq64dozrz5g5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fye23gz8hqq64dozrz5g5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>outline</category>
      <category>gitlab</category>
      <category>docker</category>
      <category>minio</category>
    </item>
    <item>
      <title>Instalando GitLab Usando Docker</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Sat, 09 Dec 2023 22:12:59 +0000</pubDate>
      <link>https://dev.to/alfredotavio/instalando-gitlab-usando-docker-4b57</link>
      <guid>https://dev.to/alfredotavio/instalando-gitlab-usando-docker-4b57</guid>
      <description>&lt;p&gt;O GitLab é uma plataforma robusta para gerenciamento de repositórios Git, oferecendo uma variedade de recursos para equipes de desenvolvimento colaborarem de forma eficiente. Uma forma prática de implantar o GitLab é através do Docker Compose, facilitando a configuração e o gerenciamento do ambiente.&lt;/p&gt;

&lt;p&gt;Neste tutorial, irei demonstrar os passos necessários para instalar o GitLab usando Docker Compose, permitindo que você tenha seu próprio servidor GitLab em execução rapidamente e com facilidade.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ambiente
&lt;/h2&gt;

&lt;p&gt;Para está implementação, estou utilizando um servidor Linux com a distribuição Ubuntu na versão 22.04.&lt;/p&gt;

&lt;p&gt;O servidor que utilizei possui a seguinte configuração: 2 vCPUs, 4GB RAM e um disco SSD de 30GB.&lt;/p&gt;

&lt;p&gt;Para que nosso servidor seja acessível pela internet, e para que o nosso GitLab gere o certificado via Let's Encrypt, precisamos possuir um endereço IP público e precisamos liberar as portas 80 e 443 para a internet.&lt;/p&gt;

&lt;p&gt;Também é necessário possuirmos um registro DNS para criarmos as URLs para o GitLab.&lt;/p&gt;

&lt;p&gt;Disponibilizei o Docker Compose no seguinte repositório do GitHub: &lt;a href="https://github.com/alfredotavio/gitlab-docker"&gt;https://github.com/alfredotavio/gitlab-docker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagens utilizadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/gitlab/gitlab-ce/"&gt;gitlab&lt;/a&gt; - Versão 16.6.1-ce.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/gitlab/gitlab-runner/"&gt;gitlab-runner&lt;/a&gt; - Versão Alpine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Estrutura:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.
└── docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Não irei abordar a instalação do Docker Engine, caso ainda não saiba realizar a instalação, consulte este outro post:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092"&gt;https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criando os registro DNS
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, vamos definir e criar a URL que iremos utilizar para o GitLab.&lt;/p&gt;

&lt;p&gt;Irei utilizar o domínio alfredocastro.com.br, defini a URL gitlab.alfredocastro.com.br - ATENÇÃO: Você precisa alterar no arquivo do Docker Compose (docker-compose.yml).&lt;/p&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie um registro do tipo A colocando como valor o endereço IP público do seu servidor.&lt;/p&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e_4FePeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/narku6lrthv32ds7jebw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e_4FePeA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/narku6lrthv32ds7jebw.png" alt="Image description" width="800" height="166"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CoLga_vz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hqgfkacqm012834ljqu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CoLga_vz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1hqgfkacqm012834ljqu.png" alt="Image description" width="800" height="573"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 02 - Clonando o repositório do Docker Compose
&lt;/h2&gt;

&lt;p&gt;Após realizar a instalação do Docker Engine, vamos dar seguimento com a nossa implementação.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bZmGe68---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdgszukhrcy0u9v1uv8r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bZmGe68---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wdgszukhrcy0u9v1uv8r.png" alt="Image description" width="425" height="76"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute os seguintes comandos para clonar nosso Docker Compose para dentro do nosso servidor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /opt
git clone https://github.com/alfredotavio/gitlab-docker.git
&lt;span class="nb"&gt;cd &lt;/span&gt;gitlab-docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zq0h7uFQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oa31w8trfgwfu48gmy4z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zq0h7uFQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oa31w8trfgwfu48gmy4z.png" alt="Image description" width="784" height="192"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Utilizei o diretório /opt do Linux, caso queira você pode alterar para outro diretório de sua escolha.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Definindo a URL do GitLab
&lt;/h2&gt;

&lt;p&gt;Primeiro vamos definir a URL de acesso, edite o arquivo docker-compose.yml na raiz do projeto e altere a URL do GitLab, são duas linhas, no atual projeto está definido como gitlab.example.com.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;vim /opt/gitlab-docker/docker-compose.yml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WM8f88af--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g4adpd9djoy3xmvek7c2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WM8f88af--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g4adpd9djoy3xmvek7c2.png" alt="Image description" width="753" height="952"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Executando o Docker Compose
&lt;/h2&gt;

&lt;p&gt;Para subirmos nosso ambiente, basta executarmos o seguinte comando dentro do diretório raiz onde está nosso docker-compose.yml:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QYOnKxli--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fu0ntmh5hmskph6jjyk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QYOnKxli--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8fu0ntmh5hmskph6jjyk.png" alt="Image description" width="800" height="285"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: O Docker irá fazer o download e o provisionamento de todas as imagens. Aguarde alguns minutos até que as imagens concluam a primeira configuração.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Acessando o ambiente
&lt;/h2&gt;

&lt;p&gt;Por padrão, o GitLab define automaticamente uma senha temporária encontrada dentro do arquivo "initial_root_password". Para obter a senha, utilize o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; gitlab &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"Password:"&lt;/span&gt; /etc/gitlab/initial_root_password
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ylX9azXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/va5uk5brilgre6ztckhm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ylX9azXe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/va5uk5brilgre6ztckhm.png" alt="Image description" width="800" height="32"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse a URL do GitLab que definimos na primeira etapa, será solicitado um usuário e senha para acessar, por padrão o usuário é o "root" e a senha será a exibida no comando anterior.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0c5XNt_H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ygmsq5vo7j75ejznhjj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0c5XNt_H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ygmsq5vo7j75ejznhjj.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QnT88CyS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0o2y254tk5jpu7eoxgl9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QnT88CyS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0o2y254tk5jpu7eoxgl9.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após realizar o primeiro login, é recomendado alterar a senha e o email do usuário "root", também é recomendado desativar a opção de registro público.&lt;/p&gt;

&lt;p&gt;Para alterar a senha e o email do usuário "root", após realizar o login, clique na foto do perfil do usuário na aba lateral esquerda.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--36hEggl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uiu352zahme2pus0gnnb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--36hEggl1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uiu352zahme2pus0gnnb.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em seguida, clique em "Edit profile".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7oENuXpV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywgm12ne6sytyei6hgxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7oENuXpV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywgm12ne6sytyei6hgxp.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Na aba "Profile", desça até o campo "Email" e altere o email "&lt;a href="mailto:admin@example.com"&gt;admin@example.com&lt;/a&gt;" para o seu endereço de email, em seguida clique em "Update profile settings".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ATnaAd1A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vol4zcdv60mvs5d3dgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ATnaAd1A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3vol4zcdv60mvs5d3dgu.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Será solicitado a confirmação da senha do usuário "root", utilize a senha temporária que pegamos anteriormente.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WpHF2EI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/he9j05fsh0il7qgkwflr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WpHF2EI4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/he9j05fsh0il7qgkwflr.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora clique na aba "Password" no menu lateral esquerdo.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a_sQQ29p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gyofle5dzfvevzjdd702.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a_sQQ29p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gyofle5dzfvevzjdd702.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em "Current password", digite a senha temporária que pegamos anteriormente, em "New password" defina uma nova senha e em "Password confirmation" repita a nova senha, em seguida clique em "Save password".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--U166Rr4H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e67g7y4xj6hudcrglafs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--U166Rr4H--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e67g7y4xj6hudcrglafs.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Você será deslogado e irá exibir uma mensagem dizendo que a senha foi atualizada com sucesso.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GLufZHYR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kwxog52zzrp9rikspwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GLufZHYR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6kwxog52zzrp9rikspwp.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Faça o login novamente, agora utilizando a nova senha. Vamos desativar a opção de registro público, após o login, será exibido uma mensagem de alerta "Check your sign-up restrictions - Your GitLab instance allows anyone to register for an account, which is a security risk on public-facing GitLab instances. You should deactivate new sign ups if public users aren't expected to register for an account." clique no botão "Deactivate".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CYeuNbO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucklum9cjlf5xr1xflmf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CYeuNbO---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ucklum9cjlf5xr1xflmf.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Desmarque a opção "Sign-up enabled" e clique no botão "Save changes".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nsh8kzEk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufykh5202ug8ou9qonph.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nsh8kzEk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufykh5202ug8ou9qonph.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, agora já subimos o GitLab e fizemos as primeiras configurações de segurança.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 06 - Integrando o GitLab com o GitLab Runner
&lt;/h2&gt;

&lt;p&gt;Para realizar a integração do GitLab Runner com o GitLab, é necessário a geração de um token e realizar o registro dentro do GitLab Runner.&lt;/p&gt;

&lt;p&gt;Para gerar o token você precisar acessar a "Admin Area", na tela inicial após realizar o login, clique na caixa "Configure GitLab".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sm_7AXO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ma33ht5sywvqjw9oxtr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sm_7AXO2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ma33ht5sywvqjw9oxtr.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No menu lateral esquerdo, clique em "CI/CD" e depois em "Runners".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oSYukz3G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cnjsuggtjtisi65s9hjh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oSYukz3G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cnjsuggtjtisi65s9hjh.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no botão "New instance runner".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---05hlm78--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87vvl1f878qd2noadou4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---05hlm78--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87vvl1f878qd2noadou4.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Faça as seguintes configurações:&lt;/p&gt;

&lt;p&gt;Em "Platform" marque "Linux".&lt;/p&gt;

&lt;p&gt;Em "Tags" marque a caixa "Run untagged jobs".&lt;/p&gt;

&lt;p&gt;Clique no botão "Create runner".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lQX5fCxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7rqgz6lde29wdbeezfp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lQX5fCxk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e7rqgz6lde29wdbeezfp.png" alt="Image description" width="800" height="350"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M470YSGa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qjamhwus7yuflbzod6jm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M470YSGa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qjamhwus7yuflbzod6jm.png" alt="Image description" width="800" height="559"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Copie e anote o comando exibido no "Step 1" e clique no botão "Go to runners page".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YpxIDqC_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b9xm44bmyox40lxhnldv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YpxIDqC_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b9xm44bmyox40lxhnldv.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Veja que o nosso Runner está com o status "Idle" e a última interação está como "Never".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NpVXUm8z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fwfqt6y9q8d5d8p6140b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NpVXUm8z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fwfqt6y9q8d5d8p6140b.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora devemos acessar o terminal onde está o nosso Docker Compose para executar o comando de registro do GitLab Runner. Acesse sua instância Linux e digite o seguinte comando para realizar o registro do GitLab Runner dentro do seu GitLab, lembre-se de alterar os campos "--url" e "--token" para as informações correspondentes ao seu Runner gerado anteriormente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; gitlab-runner gitlab-runner register &lt;span class="nt"&gt;--name&lt;/span&gt; MyRunner &lt;span class="nt"&gt;--url&lt;/span&gt; &lt;span class="s2"&gt;"https://gitlab.alfredocastro.com.br"&lt;/span&gt; &lt;span class="nt"&gt;--token&lt;/span&gt; &lt;span class="s2"&gt;"glrt-FyeL9ZZz6QozSD2aJE3x"&lt;/span&gt; &lt;span class="nt"&gt;--executor&lt;/span&gt; docker &lt;span class="nt"&gt;--docker-image&lt;/span&gt; &lt;span class="s2"&gt;"docker:latest"&lt;/span&gt; &lt;span class="nt"&gt;--non-interactive&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A execução deve retornar uma mensagem parecida com a do print seguinte "Runner registered sucessfully".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mD5Wpddt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ef2dkwsma0l8vdqj15kp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mD5Wpddt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ef2dkwsma0l8vdqj15kp.png" alt="Image description" width="800" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Volte para o browser com os Runners e atualize a página para vermos o status do nosso Runner, veja no print que ele está com o status "Online" e já possui o tempo da última interação.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--09lbiK-Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ou4dtw7t526gfgb2pgi4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--09lbiK-Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ou4dtw7t526gfgb2pgi4.png" alt="Image description" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pronto, já subimos nosso ambiente com GitLab e GitLab Runner integrado.&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>gitlab</category>
      <category>docker</category>
      <category>linux</category>
      <category>devops</category>
    </item>
    <item>
      <title>Instalando Zabbix Server com MySQL, Grafana e Traefik em Docker</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Mon, 13 Nov 2023 11:42:04 +0000</pubDate>
      <link>https://dev.to/alfredotavio/instalando-zabbix-server-com-mysql-grafana-e-traefik-em-docker-50em</link>
      <guid>https://dev.to/alfredotavio/instalando-zabbix-server-com-mysql-grafana-e-traefik-em-docker-50em</guid>
      <description>&lt;p&gt;O monitoramento eficaz da infraestrutura de TI é uma necessidade crítica para qualquer organização que deseje manter o desempenho e a disponibilidade de seus sistemas. O Zabbix é uma plataforma Open Source amplamente utilizada para monitorar servidores, redes e serviços, oferecendo recursos poderosos de coleta de dados e geração de alertas. Além disso, a combinação do Zabbix com outras ferramentas, como MySQL para armazenamento dos dados, Grafana para visualização de métricas e Traefik para gerenciamento de tráfego, pode criar um ambiente de monitoramento completo e altamente escalável.&lt;/p&gt;

&lt;p&gt;Neste tutorial, irei guiá-lo pelo processo de instalação do Zabbix Server utilizando o MySQL como Banco de Dados, o Grafana para criação de Dashboards robustos para analisar métricas geradas pelo Zabbix Server, e o Traefik para gerenciar o tráfego das URLs para os respectivos serviços, além da geração do certificado utilizando o Let's Encrypt, tudo dentro de contêineres Docker. Essa abordagem facilita a implantação e a manutenção do sistema de monitoramento, permitindo que você tenha um ambiente configurado rapidamente. Vamos abordar cada etapa do processo, desde a configuração do Docker até a integração das ferramentas, garantindo que você tenha uma solução robusta de monitoramento em funcionamento. Prepare-se para explorar o mundo do monitoramento de sistemas de forma eficaz e eficiente.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ambiente
&lt;/h2&gt;

&lt;p&gt;Para está implementação, estou utilizando um servidor Linux com a distribuição Ubuntu na versão 22.04.&lt;/p&gt;

&lt;p&gt;O servidor que utilizei possui a seguinte configuração: 2 vCPUs, 2GB RAM e um disco SSD de 30GB.&lt;/p&gt;

&lt;p&gt;Para que nosso servidor seja acessível pela internet, e para que o nosso Traefik gere o certificado via Let's Encrypt, precisamos possuir um endereço IP público e precisamos liberar as portas 80 e 443 para a internet.&lt;/p&gt;

&lt;p&gt;Também é necessário possuirmos um registro DNS para criarmos as URLs para o Zabbix Server Web e para o nosso Grafana.&lt;/p&gt;

&lt;p&gt;Disponibilizei o Docker Compose no seguinte repositório do GitHub: &lt;a href="https://github.com/alfredotavio/zabbix-grafana-docker" rel="noopener noreferrer"&gt;https://github.com/alfredotavio/zabbix-grafana-docker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Imagens utilizadas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/_/mysql/" rel="noopener noreferrer"&gt;mysql&lt;/a&gt; - Versão 8.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/zabbix/zabbix-server-mysql/" rel="noopener noreferrer"&gt;zabbix-server-mysql&lt;/a&gt; - Versão 6.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql/" rel="noopener noreferrer"&gt;zabbix-web-apache-mysql&lt;/a&gt; - Versão 6.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/zabbix/zabbix-web-service/" rel="noopener noreferrer"&gt;zabbix-web-service&lt;/a&gt; - Versão 6.0&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/r/grafana/grafana/" rel="noopener noreferrer"&gt;grafana&lt;/a&gt; - Versão 9.5.3&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hub.docker.com/_/traefik/" rel="noopener noreferrer"&gt;traefik&lt;/a&gt; - Versão latest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Estrutura:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

.
├── env
│   ├── db.env
│   ├── grafana.env
│   ├── traefik.env
│   ├── zbx-rpt.env
│   ├── zbx-srv.env
│   └── zbx-web.env
├── .env
└── docker-compose.yml


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Não irei abordar a instalação do Docker Engine, caso ainda não saiba realizar a instalação, consulte este outro post:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092"&gt;https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criando os registro DNS
&lt;/h2&gt;

&lt;p&gt;Antes de tudo, vamos definir e criar as URLs que iremos utilizar para o Zabbix Server Web e para o nosso Grafana.&lt;/p&gt;

&lt;p&gt;Irei utilizar o domínio alfredocastro.com.br, defini a URL zabbix.alfredocastro.com.br para o Zabbix Server e a URL grafana.alfredocastro.com.br para o Grafana.&lt;/p&gt;

&lt;p&gt;Acesse o seu gerenciador de registros DNS do seu domínio e crie dois registro do tipo A colocando como valor o endereço IP público do seu servidor.&lt;/p&gt;

&lt;p&gt;Veja um exemplo:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8m0ov7o2cialdfrhs4pp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8m0ov7o2cialdfrhs4pp.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para consultar a propagação do registro criado, consulte o site: &lt;a href="https://www.whatsmydns.net/" rel="noopener noreferrer"&gt;WhatsMyDNS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1f3fx615iirjdr47vsi5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1f3fx615iirjdr47vsi5.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1za8rtew3gxs2fthst9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1za8rtew3gxs2fthst9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Clonando o repositório do Docker Compose
&lt;/h2&gt;

&lt;p&gt;Após realizar a instalação do Docker Engine, vamos dar seguimento com a nossa implementação.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbp6rfc0jhxypbyyc7a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fspbp6rfc0jhxypbyyc7a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute os seguintes comandos para clonar nosso Docker Compose para dentro do nosso servidor:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; /opt
git clone https://github.com/alfredotavio/zabbix-grafana-docker.git
&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/zabbix-grafana-docker


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff04ceakighj5obsxvv2a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff04ceakighj5obsxvv2a.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Utilizei o diretório /opt do Linux, caso queira você pode alterar para outro diretório de sua escolha.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Definindo as variáveis
&lt;/h2&gt;

&lt;p&gt;Primeiro vamos definir as variáveis com as URLs de acesso, edite o arquivo .env na raiz do projeto e altere as variáveis ZABBIX_URL para a URL do Zabbix Server e a GRAFANA_URL para a URL do Grafana, altere a variável ACME_EMAIL para um endereço de e-mail seu:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

vim /opt/zabbix-grafana-docker/.env


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqu6vb6sz4b13uvqh962.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgqu6vb6sz4b13uvqh962.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora devemos definir as variáveis do Banco de Dados MySQL. Edite o arquivo db.env dentro do diretório env. Irei alterar apenas as variáveis MYSQL_ROOT_PASSWORD e MYSQL_PASSWORD, essas variáveis define a senha para o usuário root e a senha para o usuário da variável MYSQL_USER.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

vim /opt/zabbix-grafana-docker/env/db.env


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupdkyz1ycpum05leogtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fupdkyz1ycpum05leogtl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Não irei alterar as demais variáveis pois irei subir apenas para demonstração. Recomendo você ler a documentação do Zabbix para definir as variáveis de acordo com o cenário do seu ambiente a ser monitorado.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Executando o Docker Compose
&lt;/h2&gt;

&lt;p&gt;Para subirmos nosso ambiente, basta executarmos o seguinte comando dentro do diretório raiz onde está nosso docker-compose.yml:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bm8l0c67y0r84jawfsj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5bm8l0c67y0r84jawfsj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: O Docker irá fazer o download e o provisionamento de todas as imagens. Aguarde alguns minutos até que as imagens concluam a primeira configuração.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Acessando o ambiente
&lt;/h2&gt;

&lt;p&gt;Acesse a URL do Zabbix Server que definimos na primeira etapa, será solicitado um usuário e senha para acessar, por padrão o usuário é o "Admin" e a senha é "zabbix".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficvt4nwzrb8byw9iwjsj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ficvt4nwzrb8byw9iwjsj.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2d7cu1br89so22xyaeoa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2d7cu1br89so22xyaeoa.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após o primeiro login, altere a senha do usuário Admin o quanto antes para evitar qualquer acesso indevido, para isso, clique em "User settings &amp;gt; Profile" no campo inferior esquerdo.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92bjfzqcaujglsq7yi4x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F92bjfzqcaujglsq7yi4x.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Change password".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbnwj75t96ciovo55q6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjbnwj75t96ciovo55q6w.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Digite a nova senha em "Password" e repita em "Password (once again)", em seguida clique em "Update".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8a65i52dxdapw8xbhco.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd8a65i52dxdapw8xbhco.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvjknvnekexbv04nauwd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvjknvnekexbv04nauwd.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Agora acesse a URL do Grafana que definimos na primeira etapa, será solicitado um usuário e senha para acessar, por padrão o usuário é o "admin" e a senha é "admin".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdl115ucsz0gqnulwat9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzdl115ucsz0gqnulwat9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Em seguida será solicitado a alteração da senha, digite a senha no campo "New password" e repita em "Confirm new password", em seguida clique em "Submit".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3xenbhqlcpzt42wuu0s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw3xenbhqlcpzt42wuu0s.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fch9armnpfepqdqybpvy4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fch9armnpfepqdqybpvy4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Integrando o Grafana com o Zabbix Server
&lt;/h2&gt;

&lt;p&gt;Para realizar a integração do Grafana com o Zabbix Server, é necessário a instalação de um plugin, em nosso arquivo Docker Compose está configurado para realizar a instalação automaticamente.&lt;/p&gt;

&lt;p&gt;Antes de configurar o plugin, devemos acessar o Zabbix Server e criar um usuário para realizar a integração, toda a comunicação entre o Grafana e o Zabbix Server é feita por API e o Grafana irá utilizar esse usuário para acessar a API.&lt;/p&gt;

&lt;p&gt;Clique em "Administration &amp;gt; Users" na barra lateral esquerda.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsitr6xwenq0samzkhhdh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsitr6xwenq0samzkhhdh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique em "Create user" no canto superior direito.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4zwnghxowxnf1xtk1k1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd4zwnghxowxnf1xtk1k1.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Preencha as informações para a criação do usuário:&lt;/p&gt;

&lt;p&gt;Username: grafana&lt;/p&gt;

&lt;p&gt;Name: Grafana&lt;/p&gt;

&lt;p&gt;Last name: User&lt;/p&gt;

&lt;p&gt;Groups: Zabbix administrators&lt;/p&gt;

&lt;p&gt;Password: DEFINA-UMA-SENHA&lt;/p&gt;

&lt;p&gt;Password (once again): DEFINA-UMA-SENHA&lt;/p&gt;

&lt;p&gt;Altere para a aba "Permissions".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frxeh8d74e8gi5kd15hmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frxeh8d74e8gi5kd15hmn.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Role: Admin role&lt;/p&gt;

&lt;p&gt;Em seguida, clique em "Add".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq4bxzlwh7zxzs844m4o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcq4bxzlwh7zxzs844m4o.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2gkiaevih6cgkkgxcja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2gkiaevih6cgkkgxcja.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Acesse o Grafana, clique nos três tracinhos no canto superior esquerdo, clique em "Administration &amp;gt; Plugins".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk61wo9y2o89jcqmzw0ip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk61wo9y2o89jcqmzw0ip.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pesquise por "zabbix", ele irá mostrar o plugin "Zabbix - By Alexander Zobnin" já instalado, clique no plugin.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyp319hp78cb3e7jbdb0n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyp319hp78cb3e7jbdb0n.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No canto superior direito, clique no botão "Enable".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbv8pwy6m1pngmx6n1by7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbv8pwy6m1pngmx6n1by7.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No menu lateral esquerdo, clique em "Data sources".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5pvj80kluwgihzwmaf6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl5pvj80kluwgihzwmaf6.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no botão "Add data source".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5rmp8g74rjxoziajoz0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz5rmp8g74rjxoziajoz0.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Filtre por "zabbix", em seguida clique no plugin do "Zabbix".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tu6k9driy8475c2agnc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5tu6k9driy8475c2agnc.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Faça as seguintes configurações:&lt;/p&gt;

&lt;p&gt;URL: &lt;a href="https://zabbix.alfredocastro.com.br/api_jsonrpc.php" rel="noopener noreferrer"&gt;https://zabbix.alfredocastro.com.br/api_jsonrpc.php&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp52x90198hmi031i08xy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp52x90198hmi031i08xy.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Username: grafana&lt;/p&gt;

&lt;p&gt;Password: SENHA-DEFINIDA-PARA-O-USUÁRIO-GRAFANA&lt;/p&gt;

&lt;p&gt;Clique em "Save &amp;amp; test".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxv6lipqpu7hnuplouogk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxv6lipqpu7hnuplouogk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se tudo ocorreu conforme o esperado, o Grafana exibirá uma mensagem contendo a versão do Zabbix API.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8h7n24dohmj20kti777.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs8h7n24dohmj20kti777.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Instalando o Zabbix Agent no próprio servidor
&lt;/h2&gt;

&lt;p&gt;Ao logar no Zabbix Server Web, você pode perceber que possui um alerta falando que o Zabbix Agent no host Zabbix server não está disponível.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqk1p85urri2kk3t6xdj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftqk1p85urri2kk3t6xdj.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Para corrigir esse alerta, devemos instalar o Zabbix Agent em nosso servidor, onde o nosso Docker está. Acesse o servidor via SSH e siga os procedimentos abaixo:&lt;/p&gt;

&lt;p&gt;Adicione o repositório do Zabbix Release 6.0, execute os seguintes comandos:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; /tmp
wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest%2Bubuntu22.04_all.deb
dpkg &lt;span class="nt"&gt;-i&lt;/span&gt; zabbix-release_latest+ubuntu22.04_all.deb
apt-get update
apt-get &lt;span class="nb"&gt;install &lt;/span&gt;zabbix-agent &lt;span class="nt"&gt;-y&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrw692he48bv1li9qdsh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxrw692he48bv1li9qdsh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Execute os comandos abaixo para realizarmos a configuração do arquivo zabbix_agentd.conf:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; /etc/zabbix/
&lt;span class="nb"&gt;mv &lt;/span&gt;zabbix_agentd.conf zabbix_agentd.conf.original
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"##### Zabbix Agent #####"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /etc/zabbix/zabbix_agentd.conf
&lt;span class="nb"&gt;cat &lt;/span&gt;zabbix_agentd.conf.original | &lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-Ev&lt;/span&gt; &lt;span class="s1"&gt;'^#|^$'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; zabbix_agentd.conf
&lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s1"&gt;'s/127.0.0.1/10.10.0.11/g'&lt;/span&gt; /etc/zabbix/zabbix_agentd.conf
&lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="s1"&gt;'s/Zabbix server/Zabbix server/g'&lt;/span&gt; /etc/zabbix/zabbix_agentd.conf
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"Timeout=15"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /etc/zabbix/zabbix_agentd.conf
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"DebugLevel=3"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; /etc/zabbix/zabbix_agentd.conf
systemctl &lt;span class="nb"&gt;enable &lt;/span&gt;zabbix-agent
service zabbix-agent restart


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fycigw226y88k4nmltn1t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fycigw226y88k4nmltn1t.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Para o Zabbix Agent do servidor Docker, devemos adicionar o IP privado do container chamado zabbix-server, de acordo com o nosso docker-compose.yml esse IP é o 10.10.0.11.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Agora devemos alterar o IP dentro do Zabbix Server Web, acesse a URL, faça login e clique em "Configuration &amp;gt; Hosts" na barra lateral esquerda.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9x94jodkuemnacldboy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd9x94jodkuemnacldboy.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clique no nome do host "Zabbix server".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkhtthoeear3s1y3qq8he.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkhtthoeear3s1y3qq8he.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Altere o "IP address" de "127.0.0.1" para o endereço IP privado do servidor Docker, você pode visualizar o endereço IP privado executando o comando "ifconfig" ou "ip addr", em seguida clique em "Update".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ekg81d6nzzpp6wg5rxb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9ekg81d6nzzpp6wg5rxb.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv4160clpiniwszpu49mh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv4160clpiniwszpu49mh.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Após alguns instantes o alerta será marcado com o Status "RESOLVED".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9n5rbf69fcihrcvdhyg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9n5rbf69fcihrcvdhyg.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Troubleshooting - Docker Logs
&lt;/h2&gt;

&lt;p&gt;Se por algum motivo você está enfrentado algum problema para subir o ambiente em Docker, você pode utilizar o comando abaixo para verificar os logs dos containers e com isso encontrar um norte para a resolução.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;

&lt;span class="nb"&gt;cd&lt;/span&gt; /opt/zabbix-grafana-docker/
docker compose logs &lt;span class="nt"&gt;-f&lt;/span&gt;


&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4iupxm6jnafemmixd1g8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4iupxm6jnafemmixd1g8.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>zabbix</category>
      <category>docker</category>
      <category>grafana</category>
      <category>traefik</category>
    </item>
    <item>
      <title>Como instalar o Docker Engine no Linux</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Sun, 12 Nov 2023 17:00:56 +0000</pubDate>
      <link>https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092</link>
      <guid>https://dev.to/alfredotavio/como-instalar-o-docker-engine-no-linux-5092</guid>
      <description>&lt;p&gt;O Docker é uma tecnologia open source que revolucionou e facilitou a criação, administração e implementação de aplicativos por meio de contêineres. Esta ferramenta resolve um desafio de longa data enfrentado por desenvolvedores e administradores de sistemas. Quem da área de TI que nunca ouviu a frase "Na minha máquina funciona".&lt;/p&gt;

&lt;p&gt;O Docker entra em cena como uma solução brilhante para resolver esse problema. Funcionando como uma espécie de máquina virtual leve, o Docker permite a execução de aplicativos em contêineres isolados, superando as complexidades das dependências. Dessa forma, preocupações relacionadas aos requisitos e compatibilidade são praticamente eliminadas, tornando a implantação de aplicativos mais simples e consistente.&lt;/p&gt;

&lt;p&gt;Neste tutorial irei te ajudar a instalar o Docker em Sistemas Linux.&lt;/p&gt;
&lt;h2&gt;
  
  
  Ambiente
&lt;/h2&gt;

&lt;p&gt;Irei abordar a instalação em ambientes onde o gerenciamento de pacotes é o APT - Advanced Package Tool (distribuições baseadas em Debian) e onde o gerenciamento de pacotes é o YUM - Yellowdog Updater Modified (distribuições baseadas em Red Hat).&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalação no Sistema Operacional Ubuntu
&lt;/h2&gt;

&lt;p&gt;Irei utilizar a distribuição Ubuntu na versão 22.04, é possível que os comandos variem de acordo com a versão da distribuição.&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 01 - Atualizando a lista de pacotes dos repositórios configurados
&lt;/h3&gt;

&lt;p&gt;Execute o seguinte comando para atualizar a lista de pacotes disponíveis nos repositórios configurados.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RTnekZh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q77gyfds314n06gchw72.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RTnekZh---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q77gyfds314n06gchw72.png" alt="Image description" width="734" height="115"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 02 - Configurando o repositório Docker
&lt;/h3&gt;

&lt;p&gt;Para instalarmos o Docker utilizando o gerenciado de pacotes, primeiro devemos configurar o repositório oficial do Docker. Para isso, execute os seguintes comandos:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;ca-certificates curl gnupg
&lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-m&lt;/span&gt; 0755 &lt;span class="nt"&gt;-d&lt;/span&gt; /etc/apt/keyrings
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://download.docker.com/linux/ubuntu/gpg | &lt;span class="nb"&gt;sudo &lt;/span&gt;gpg &lt;span class="nt"&gt;--dearmor&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; /etc/apt/keyrings/docker.gpg
&lt;span class="nb"&gt;chmod &lt;/span&gt;a+r /etc/apt/keyrings/docker.gpg
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="s2"&gt;"deb [arch="&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;dpkg &lt;span class="nt"&gt;--print-architecture&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu &lt;/span&gt;&lt;span class="se"&gt;\&lt;/span&gt;&lt;span class="s2"&gt;
  "&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt; /etc/os-release &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$VERSION_CODENAME&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;" stable"&lt;/span&gt; | &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/docker.list &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; /dev/null
apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HHT4CDVP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xp6ihfw6yuwpdg0c6a4h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HHT4CDVP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xp6ihfw6yuwpdg0c6a4h.png" alt="Image description" width="800" height="596"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 03 - Instalando a versão mais recente do Docker
&lt;/h3&gt;

&lt;p&gt;Utilize o seguinte comando para instalar a versão mais recente do Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;apt-get &lt;span class="nb"&gt;install &lt;/span&gt;docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rTQsR9vf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eu2tki1sqj40rci7wy73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rTQsR9vf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eu2tki1sqj40rci7wy73.png" alt="Image description" width="800" height="593"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 04 - Verificando a versão instalada
&lt;/h3&gt;

&lt;p&gt;Para confirmar a instalação do Docker e verificar a versão instalada, utilize o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nt"&gt;--version&lt;/span&gt;
docker compose version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gwAszz8l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yltv27vw84x1pq3fmdzx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gwAszz8l--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yltv27vw84x1pq3fmdzx.png" alt="Image description" width="456" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Instalação no Sistema Operacional CentOS
&lt;/h2&gt;

&lt;p&gt;Irei utilizar a distribuição CentOS na versão 9, é possível que os comandos variem de acordo com a versão da distribuição.&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 01 - Instalando o gerenciado de repositórios
&lt;/h3&gt;

&lt;p&gt;Execute o seguinte comando para instalar o yum-config-manager, ele é um utilitário para gerenciar repositórios de pacotes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yum &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; yum-utils
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LynDIIHq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ovtjxou6edpf5xf0vzq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LynDIIHq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4ovtjxou6edpf5xf0vzq.png" alt="Image description" width="800" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 02 - Configurando o repositório Docker
&lt;/h3&gt;

&lt;p&gt;Assim como fizemos para a distribuição Ubuntu, precisamos fazer para o CentOS, primeiro devemos configurar o repositório oficial do Docker. Para isso, execute o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yum-config-manager &lt;span class="nt"&gt;--add-repo&lt;/span&gt; https://download.docker.com/linux/centos/docker-ce.repo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8JQM3B-A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2t61vezrlq3vscrzhimm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8JQM3B-A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2t61vezrlq3vscrzhimm.png" alt="Image description" width="800" height="35"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapa 03 - Instalando a versão mais recente do Docker
&lt;/h3&gt;

&lt;p&gt;Utilize o seguinte comando para instalar a versão mais recente do Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yum &lt;span class="nb"&gt;install &lt;/span&gt;docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MKsc5LzD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rv9ct7kogckikehttb7n.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MKsc5LzD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rv9ct7kogckikehttb7n.png" alt="Image description" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Será exibido um resumo dos pacotes que serão instalados. No final, será solicitada a confirmação da instalação. Pressione 'y' e depois tecle Enter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JHGc6iZF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t4u7rnqqow2xkkudo91m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JHGc6iZF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t4u7rnqqow2xkkudo91m.png" alt="Image description" width="800" height="281"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Se por acaso for solicitado aceitar a chave GPG, verifique se o fingerprint é igual a&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 Pressione 'y' e depois tecle Enter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Etapa 04 - Verificando a versão instalada
&lt;/h3&gt;

&lt;p&gt;Para confirmar a instalação do Docker e verificar a versão instalada, utilize o seguinte comando:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nt"&gt;--version&lt;/span&gt;
docker compose version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AxtmmgJf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78dc7j26favy0770irpi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AxtmmgJf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/78dc7j26favy0770irpi.png" alt="Image description" width="419" height="78"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>docker</category>
      <category>linux</category>
      <category>ubuntu</category>
      <category>centos</category>
    </item>
    <item>
      <title>Instalar Zabbix Agent no Sistema Operacional Windows via Script Batch</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Wed, 08 Nov 2023 00:37:44 +0000</pubDate>
      <link>https://dev.to/alfredotavio/instalar-zabbix-agent-no-sistema-operacional-windows-via-script-batch-hgk</link>
      <guid>https://dev.to/alfredotavio/instalar-zabbix-agent-no-sistema-operacional-windows-via-script-batch-hgk</guid>
      <description>&lt;p&gt;Veja como simplificar o processo de instalação do Zabbix Agent em seus servidores Windows utilizando um Script Batch, ele irá automatizar toda a instalação do Zabbix Agent. Baixar, instalar, liberar firewall e realizar todas as configurações necessárias de maneira eficiente e sem complicações.&lt;/p&gt;

&lt;p&gt;Disponibilizei o script em um repositório do &lt;a href="https://github.com/alfredotavio/install-zabbix-windows" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: O script atual utiliza o instalador do Zabbix Agent na versão 6.0.22. Caso deseje utilizar uma versão diferente do instalador, basta editar o script e ajustar a URL para a versão desejada. Você pode encontrar as diversas versões disponíveis nas &lt;a href="https://www.zabbix.com/download_agents" rel="noopener noreferrer"&gt;URL1&lt;/a&gt; ou &lt;a href="https://cdn.zabbix.com/zabbix/binaries/stable/" rel="noopener noreferrer"&gt;URL2&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Executando o Prompt de Comando como Administrador
&lt;/h2&gt;

&lt;p&gt;1) Clique no menu iniciar do Windows e pesquise pelo Prompt de Comando digitando "cmd".&lt;br&gt;
2) Clique com o botão direito do mouse e escolha a opção "Run as administrator".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hl7hacupmwzosifde3f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8hl7hacupmwzosifde3f.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Executando o Script
&lt;/h2&gt;

&lt;p&gt;1) Primeiro vamos baixar o Script, execute no Prompt de Comando, o seguinte comando:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="nb"&gt;curl&lt;/span&gt; &lt;span class="kd"&gt;https&lt;/span&gt;://raw.githubusercontent.com/alfredotavio/install&lt;span class="na"&gt;-zabbix-windows/main/install-zabbix-agent&lt;/span&gt;.bat &lt;span class="na"&gt;--silent --output &lt;/span&gt;&lt;span class="kd"&gt;C&lt;/span&gt;:\install&lt;span class="na"&gt;-zabbix-agent&lt;/span&gt;.bat
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjuklib1nftmcq02w7or4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjuklib1nftmcq02w7or4.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: O Script será baixado para dentro do C:\ .&lt;br&gt;
2) Execute o Script com o seguinte comando:&lt;/p&gt;
&lt;pre class="highlight batchfile"&gt;&lt;code&gt;&lt;span class="kd"&gt;C&lt;/span&gt;:\install&lt;span class="na"&gt;-zabbix-agent&lt;/span&gt;.bat
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdccj663yx9diwiamlu8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwdccj663yx9diwiamlu8.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
NOTA: Será solicitado duas informações, na primeira você deve digitar o IP ou o DNS do seu Zabbix Server, na segunda você deve digitar o Hostname que você cadastrou para este servidor dentro do Zabbix Server. Por último, ele irá mostrar um "Ok", isso indica que a regra no Firewall foi criada com sucesso.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa 03 - Verificando a instalação
&lt;/h2&gt;

&lt;p&gt;1) Acesse os arquivos de programas do Windows, e procure pelo diretório "Zabbix Agent".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0ks6ktxb3iz72c8iu3d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe0ks6ktxb3iz72c8iu3d.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTA: Diretório C:\Program Files\Zabbix Agent.&lt;br&gt;
2) Clique com o botão direito do mouse em cima do arquivo "zabbix_agentd.conf" e abra o arquivo com o "Notepad" do Windows.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsppomtazt7dc2fwao5oo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsppomtazt7dc2fwao5oo.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) Pesquise pelas opções "Server" e "ServerActive", confirme que a opção foi definida conforme digitamos na etapa anterior.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3p7f02jw3ebrxnzohxz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl3p7f02jw3ebrxnzohxz.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8yrq1s7yri403jb0seu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr8yrq1s7yri403jb0seu.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
4) Agora pesquise pela opção "Hostname", confirme que a opção foi definida conforme digitamos na etapa anterior.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui60jzyhbhh9wyi8wzjd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fui60jzyhbhh9wyi8wzjd.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
5) Clique no menu iniciar e pesquise por "firewall", execute o "Windows Defender Firewall with Advanced Security".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosq8ce9jelu39xaokunb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fosq8ce9jelu39xaokunb.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
6) No menu lateral esquerdo, clique em "Inbound Rules".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flz2l3d3xj85hf5vv9y7q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flz2l3d3xj85hf5vv9y7q.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
7) Pesquise pela regra chamada "Zabbix Agent".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmb585hw1117mii7w4ac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvmb585hw1117mii7w4ac.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
NOTA: Action - Allow, Protocol - TCP, Local Port - 10050.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Etapa Extra: Verificando o arquivo de logs da instalação
&lt;/h2&gt;

&lt;p&gt;1) Caso a instalação não seja bem sucedida, você pode encontrar logs no seguinte arquivo: install-zabbix-agent-log.txt (Dentro dos arquivos temporários do Windows). Segure as teclas "Win+R" para abrir o "Run" do Windows.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcjwl0vip9ehpq4oxyqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flcjwl0vip9ehpq4oxyqd.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
2) Digite "%TEMP%\install-zabbix-agent-log.txt" e aperte "Ok".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v7nz3eheg1ul73dth6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7v7nz3eheg1ul73dth6g.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) O arquivo irá abrir no "Notepad" do Windows.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe2s8nwm0q8s0rj9vt0vk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe2s8nwm0q8s0rj9vt0vk.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em entrar em contato.&lt;/p&gt;

</description>
      <category>zabbix</category>
      <category>windows</category>
      <category>monitoramento</category>
      <category>script</category>
    </item>
    <item>
      <title>Criar IAM Role Cross-Account</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Sun, 29 Oct 2023 07:29:01 +0000</pubDate>
      <link>https://dev.to/alfredotavio/criar-iam-role-cross-account-2lga</link>
      <guid>https://dev.to/alfredotavio/criar-iam-role-cross-account-2lga</guid>
      <description>&lt;p&gt;A Amazon Web Services (AWS) oferece uma ampla variedade de serviços e recursos poderosos para atender às necessidades de organizações em todo o mundo. No entanto, garantir que esses recursos estejam seguros e acessíveis apenas para as partes autorizadas é essencial. Para alcançar esse equilíbrio entre segurança e acessibilidade, a AWS fornece um mecanismo chamado IAM (Identity and Access Management), que permite definir e gerenciar permissões para usuários, grupos e recursos de maneira granular.&lt;/p&gt;

&lt;p&gt;É uma prática recomendada pela AWS a utilização de várias contas para aprimorar a segurança, eficiência, controle de recursos e a segregação de ambientes.&lt;/p&gt;

&lt;p&gt;Neste tutorial, abordaremos um cenário comum: a necessidade de conceder acesso a recursos da AWS em uma conta de destino a partir de uma conta de origem diferente. Isso é conhecido como "IAM Role Cross-Account". Essa configuração é útil em casos como compartilhamento de recursos entre equipes, ambientes de desenvolvimento e produção separados ou até mesmo entre organizações diferentes que colaboram na AWS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pré-requisito:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Duas contas AWS, a conta A (origem - conta que requer acesso à conta de destino) será nossa conta principal onde iremos criar o usuário (IAM User) e a conta B (destino - conta com os recursos aos quais você deseja acessar) será a conta onde iremos criar a função (IAM Role) para que o nosso usuário da conta A assuma e tenha as permissões necessárias para administrar a conta B.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criar o usuário (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "IAM".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Users".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3m6zellkhjlhr6ldgxp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk3m6zellkhjlhr6ldgxp.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique em "Create user".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8lnkkij0elvezfg52ce.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk8lnkkij0elvezfg52ce.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
4) Defina um username para o usuário, marque a opção "Provide user access to the AWS Management Console" para que o usuário tenha acesso via Console Web da AWS, marque a opção "I want to create an IAM user" para criar um usuário IAM. Se você deseja especificar uma senha personalizada, marque a opção "Custom password" e digite a senha. Por último, se desejar que o usuário redefina a senha assim que acessar o console, marque a opção "Users must create a new password at next sign-in" e clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxh8ldkmfnywc1bcp4pj3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxh8ldkmfnywc1bcp4pj3.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
5) Nesta etapa, definimos as permissões para o usuário. Por enquanto, não iremos atribuir nenhuma permissão, apenas clique em "Next.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k5s2qm7n5z55qujxunq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4k5s2qm7n5z55qujxunq.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
6) Revise as informações e clique em "Create user".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb5v5vxi6yjrdsm70tyfc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb5v5vxi6yjrdsm70tyfc.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
7) Salve as informações de acesso e clique em "Return to users list".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2g0l17y6mskuvfx7r3o1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2g0l17y6mskuvfx7r3o1.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
8) Na tela de "Users", podemos ver o nosso usuário recém criado.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq14hri9jygew0xovc7ze.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq14hri9jygew0xovc7ze.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 02 - Criar a IAM Role (Conta B)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "IAM".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Roles".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2mlgmaev4zxh4jqcsji9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2mlgmaev4zxh4jqcsji9.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique em "Create role".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgtivsp5vob6q17ig3bt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffgtivsp5vob6q17ig3bt.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
4) Marque a entidade confiável como "AWS account", marque a opção "Another AWS account" e digite o Account ID de 12 digitos da conta A (você consegue visualizar o Account ID no passo 8 da etapa anterior), em seguida clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft18oddm6b2ihcha214ai.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft18oddm6b2ihcha214ai.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
5) Selecione as permissões que deseja conceder ao usuário da conta A. Neste exemplo, estamos concedendo a permissão "AmazonEC2FullAccess". O usuário da conta A que criamos terá permissão total para acessar os recursos EC2 na conta B. Em seguida, clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgivjykxynk7crei64vpe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgivjykxynk7crei64vpe.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
6) Defina um nome para a Role, revise as informações da entidade confiável (garanta que esteja com o Account ID da conta A) e as permissões corretas. Em seguida, clique em "Create role".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk84e6eihsspjucaqmuex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk84e6eihsspjucaqmuex.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
7) Na tela de "Roles", podemos ver a nossa Role recém criado, clique nela para podermos copiar o ARN (iremos utilizar para a próxima etapa).&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktzse33u3e3m6lk32usg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fktzse33u3e3m6lk32usg.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
8) Clique nos dois quadradinhos para copiar o ARN da Role.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpp5mlyxidlxo4gzbvpjz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpp5mlyxidlxo4gzbvpjz.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 03 - Conceder acesso a Role da conta B via Inline Policy (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "IAM".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Users".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzl7ynl1kemavn76nqwg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhzl7ynl1kemavn76nqwg.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique no usuário criado na etapa 01.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bjioeak1moyvu6lqqxb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4bjioeak1moyvu6lqqxb.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
4) Clique em "Add permissions" e em seguida clique em "Create inline policy".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb8gxvntcwbkw1c7r7gft.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb8gxvntcwbkw1c7r7gft.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
5) Clique em "JSON" para alternar o Policy editor.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2mwykhk3mmh4q5lmfn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm2mwykhk3mmh4q5lmfn5.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
6) Adicione o seguinte JSON alterando o "Resource" para o ARN da Role criada na etapa 02. Em seguida, clique em "Next".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Version": "2012-10-17",
  "Statement": {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::XXXXXXXXXXXX:role/CrossAccount-RoleEC2"
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo2q81dqrbdaazo43ijy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvo2q81dqrbdaazo43ijy.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
7) Defina um nome para a Policy, revise as informações e clique em "Create policy".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffy6n7a9gmahs2s8i2gwy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffy6n7a9gmahs2s8i2gwy.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
8) Nesta tela podemos ver a Policy definida para o nosso usuário.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz1lx0mjewmxa2sxhrxk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjz1lx0mjewmxa2sxhrxk.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Executando o Switch role para trocar de conta (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a URL de login da Console Web da AWS &lt;a href="https://console.aws.amazon.com/" rel="noopener noreferrer"&gt;&lt;/a&gt;&lt;br&gt;
2) Selecione "IAM user", digite o Account ID de 12 dígitos da conta A. Em seguida, clique em "Next".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fml678bf54ycsk9p3tx1w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fml678bf54ycsk9p3tx1w.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
3) Confirme o Account ID da conta A, digite o username do usuário criado na etapa 01 e a senha que você definiu. Em seguida, clique em "Sign in".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqusrp2yct81ihnjlmja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqusrp2yct81ihnjlmja.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
(Obs: Caso tenha marcado a opção de redefinir a senha no primeiro login, a AWS irá solicitar que você defina uma nova senha para continuar, digite a nova senha e avance para o próximo passo).&lt;br&gt;
4) Com o Console logado na conta A, clique no nome do usuário no canto superior direito.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F164zc4g4jp8niljw41rl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F164zc4g4jp8niljw41rl.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
5) Clique em "Switch role".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9zazj17yp58qvprd7ly.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn9zazj17yp58qvprd7ly.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
6) Clique em "Switch role".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufxtm30panqdgwz49622.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fufxtm30panqdgwz49622.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
7) No campo "Account" digite o Account ID da conta B, no campo "Role" digite o nome da Role criada na etapa 02. Em seguida, clique em "Switch role".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9s3kmanfea9mnexkvgtd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9s3kmanfea9mnexkvgtd.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
8) No canto superior direito da Console Web, podemos ver que assumimos a Role CrossAccount-RoleEC2 da conta B.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2n4s4z6iitp9gl9s5a5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj2n4s4z6iitp9gl9s5a5.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Testando as permissões (Conta B)
&lt;/h2&gt;

&lt;p&gt;1) Após assumirmos a Role "CrossAccount-RoleEC2" da conta B, procure pelo serviço "EC2".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66x9njdtqcscrw8g7rse.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F66x9njdtqcscrw8g7rse.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
(Obs: na imagem podemos ver que estamos com acesso a todas as informações do Dashboard do recurso EC2, se desejar, crie uma instância EC2 para testar a permissão)&lt;br&gt;
2) Agora procure pelo serviço "S3".&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhrghompem2k05yhgmz6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhhrghompem2k05yhgmz6.png" alt="Image description"&gt;&lt;/a&gt;&lt;br&gt;
(Obs: na imagem podemos ver imediatamente o erro "You don't have permissions to list buckets", a permissão que concedemos para o usuário foi apenas para o recurso "EC2")&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em deixar um comentário.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>iam</category>
      <category>security</category>
    </item>
    <item>
      <title>Criptografar Amazon EBS utilizando KMS com CMK gerenciada pelo cliente</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Thu, 13 Jul 2023 05:42:45 +0000</pubDate>
      <link>https://dev.to/alfredotavio/criptografar-amazon-ebs-utilizando-kms-com-cmk-gerenciada-pelo-cliente-5me</link>
      <guid>https://dev.to/alfredotavio/criptografar-amazon-ebs-utilizando-kms-com-cmk-gerenciada-pelo-cliente-5me</guid>
      <description>&lt;p&gt;A criptografia do Amazon Elastic Block Store (EBS) desempenha um papel fundamental na proteção dos dados sensíveis e confidenciais armazenados na nuvem da Amazon Web Services (AWS). Ela fornece uma camada adicional de segurança, ajudando a evitar violações de dados e possíveis danos à reputação da empresa. Além disso, a criptografia do EBS é fácil de configurar e usar, não exigindo conhecimentos avançados em criptografia por parte dos usuários. Outro ponto importante é que a criptografia do EBS ajuda as empresas a cumprir requisitos de conformidade regulatória, como a Lei Geral de Proteção de Dados (LGPD) no Brasil ou o Regulamento Geral sobre a Proteção de Dados (GDPR) na União Europeia. Ao criptografar os dados armazenados no EBS, as empresas estão adotando uma abordagem proativa para proteger a privacidade dos dados dos seus clientes.&lt;/p&gt;

&lt;p&gt;No cenário abaixo, irei demonstrar como criptografar um volume EBS de uma instância em produção.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Criar chave KMS gerenciada pelo cliente
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "Key Management Service".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Customer managed keys".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yfCiGZvF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thc03sqhwbbdltxghqm4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yfCiGZvF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thc03sqhwbbdltxghqm4.png" alt="Image description" width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique em "Create key".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--S82HdpWC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oq8jx1bk1sm3q1cdlmaz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--S82HdpWC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oq8jx1bk1sm3q1cdlmaz.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aaLWc0O4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bwhzwggo8mirmbqxykq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aaLWc0O4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9bwhzwggo8mirmbqxykq.png" alt="Image description" width="800" height="477"&gt;&lt;/a&gt;&lt;br&gt;
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hZEVi3i6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is6swmytra1zlcy8c5l8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hZEVi3i6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/is6swmytra1zlcy8c5l8.png" alt="Image description" width="800" height="625"&gt;&lt;/a&gt;&lt;br&gt;
6) Em "Define key administrative permissions" clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KrzvCIHe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4uu8f0neuaizdxj66m2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KrzvCIHe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b4uu8f0neuaizdxj66m2.png" alt="Image description" width="800" height="422"&gt;&lt;/a&gt;&lt;br&gt;
7) Em "Define key usage permissions" clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hY1IDAtA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oirmbly58q77i3p5nu7l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hY1IDAtA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oirmbly58q77i3p5nu7l.png" alt="Image description" width="800" height="484"&gt;&lt;/a&gt;&lt;br&gt;
8) Revise as informações e clique em "Finish" para criar a chave KMS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 02 - Criptografando o volume EBS
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "EC2".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Instances".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mppfpV7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/db68xbsn3rbxs9skalcw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mppfpV7s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/db68xbsn3rbxs9skalcw.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
3) Selecione a instância desejada, clique em "Instance state" &amp;gt; "Stop instance", confirme clicando em "Stop".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uRhDo3t3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7t0wjg6t7wth3de44q86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uRhDo3t3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7t0wjg6t7wth3de44q86.png" alt="Image description" width="800" height="98"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0DDhlU2R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dxpsi3r3k5nhydfelkjy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0DDhlU2R--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dxpsi3r3k5nhydfelkjy.png" alt="Image description" width="589" height="221"&gt;&lt;/a&gt;&lt;br&gt;
4) Após a instância desligar, gere um snapshot do volume EBS da instância, no menu lateral a esquerda, clique em "Volumes".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2FWgLCbL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sqay8fbclsks0lkbleuw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2FWgLCbL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sqay8fbclsks0lkbleuw.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
5) Selecione o volume EBS e clique em "Actions" &amp;gt; "Create snapshot".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--L11iYDTZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9shtkby0bgcrlymzfoow.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--L11iYDTZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9shtkby0bgcrlymzfoow.png" alt="Image description" width="800" height="175"&gt;&lt;/a&gt;&lt;br&gt;
6) Clique em "Create snapshot".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rIR_TQkJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/canu196iejrwau6ckx75.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rIR_TQkJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/canu196iejrwau6ckx75.png" alt="Image description" width="800" height="758"&gt;&lt;/a&gt;&lt;br&gt;
7) No menu lateral a esquerda, clique em "Snapshots".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wgCvEOuX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rznpg8t59j4fk8dvtn1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wgCvEOuX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2rznpg8t59j4fk8dvtn1.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
8) Selecione o snapshot, clique em "Actions" &amp;gt; "Copy snapshot".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2vk6JrS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zxlamu9ta60vc04q9og.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2vk6JrS7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2zxlamu9ta60vc04q9og.png" alt="Image description" width="800" height="175"&gt;&lt;/a&gt;&lt;br&gt;
9) Marque a opção "Encrypt this snapshot", em "KMS key" selecione a CMK criada na etapa 01 e clique em "Copy snapshot".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MjqPfMYi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xux0107tgqoybtpgv4zg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MjqPfMYi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xux0107tgqoybtpgv4zg.png" alt="Image description" width="800" height="1033"&gt;&lt;/a&gt;&lt;br&gt;
10) Após a cópia do snapshot finalizar, selecione o snapshot criptografado e clique em "Actions" &amp;gt; "Create volume from snapshot".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z0y82iFr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awx69s6yrvsv4e6rap2i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z0y82iFr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awx69s6yrvsv4e6rap2i.png" alt="Image description" width="800" height="172"&gt;&lt;/a&gt;&lt;br&gt;
11) Defina o "Volume type" de sua escolha, garanta que o volume seja criado na mesma "Availability Zone" da instância EC2, em "KMS key" selecione a CMK criada na etapa 01 e clique em "Create volume".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2VGJjZie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p1xglvdeuyk7y7j5xvmi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2VGJjZie--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p1xglvdeuyk7y7j5xvmi.png" alt="Image description" width="800" height="1608"&gt;&lt;/a&gt;&lt;br&gt;
12) No menu lateral a esquerda, clique em "Volumes".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zRhePepe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9vsqu62bunazckcg7nk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zRhePepe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v9vsqu62bunazckcg7nk.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
13) Primeiro precisamos desatachar o volume sem criptografia da instância EC2, selecione o volume e clique em "Actions" &amp;gt; "Detach volume", confirme clicando em "Detach".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aWnOfB0k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xc1auj94saf2k8z3oo0b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aWnOfB0k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xc1auj94saf2k8z3oo0b.png" alt="Image description" width="800" height="178"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hIBUtIUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7v5jt42u61hrmwmuwfd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hIBUtIUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p7v5jt42u61hrmwmuwfd.png" alt="Image description" width="595" height="227"&gt;&lt;/a&gt;&lt;br&gt;
14) Em seguida, selecione o volume criptografado e clique em "Actions" &amp;gt; "Attach volume".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SAvrCLfq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svy6nq0cqfycgz14zinx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SAvrCLfq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/svy6nq0cqfycgz14zinx.png" alt="Image description" width="800" height="173"&gt;&lt;/a&gt;&lt;br&gt;
15) Em "Instance" selecione a instância EC2 e em "Device name" digite "/dev/sda1" pois o volume é um root volume de uma instância Linux e clique em "Attach volume".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZwHwkNLd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5p9eq548jhq3r70ntsac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZwHwkNLd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5p9eq548jhq3r70ntsac.png" alt="Image description" width="800" height="815"&gt;&lt;/a&gt;&lt;br&gt;
16) No menu lateral a esquerda, clique em "Instances".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zoLGKH1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wkebgj9mlme87ajbgd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zoLGKH1j--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7wkebgj9mlme87ajbgd9.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;br&gt;
17) Selecione a instância desejada, clique em "Instance state" &amp;gt; "Start instance".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Jql5wJJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0a31outvue4d6kkyj125.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Jql5wJJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0a31outvue4d6kkyj125.png" alt="Image description" width="800" height="95"&gt;&lt;/a&gt;&lt;br&gt;
18) Pronto, no print abaixo podemos ver que o volume EBS está criptografado.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OP9gk95Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mr5mpzwz36ad6j91llvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OP9gk95Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mr5mpzwz36ad6j91llvf.png" alt="Image description" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>cloud</category>
      <category>security</category>
    </item>
    <item>
      <title>AWS Backup Cross-Account com KMS para instâncias EC2</title>
      <dc:creator>Alfredo Castro</dc:creator>
      <pubDate>Thu, 13 Jul 2023 03:41:25 +0000</pubDate>
      <link>https://dev.to/alfredotavio/aws-backup-cross-account-com-kms-para-instancias-ec2-30jm</link>
      <guid>https://dev.to/alfredotavio/aws-backup-cross-account-com-kms-para-instancias-ec2-30jm</guid>
      <description>&lt;p&gt;Em um mundo cada vez mais digital e dependente de tecnologia, as aplicações desempenham um papel fundamental para empresas, organizações e até mesmo para usuários individuais. Elas armazenam informações críticas, processam dados essenciais e fornecem funcionalidades vitais para o funcionamento diário de diversos setores. Diante desse cenário, é de extrema importância garantir a segurança e disponibilidade dessas aplicações, e uma das medidas essenciais nesse sentido é a realização de backups.&lt;/p&gt;

&lt;p&gt;O backup de aplicações é uma medida essencial para garantir a segurança e disponibilidade dos dados vitais em um mundo digitalizado. Diante de ameaças como falhas técnicas, ataques cibernéticos e erros humanos, a perda de informações pode ser desastrosa para empresas e indivíduos. Realizar backups regularmente protege contra tais situações, permitindo a recuperação rápida e eficiente dos dados. Além disso, backups são fundamentais para garantir a continuidade dos negócios, minimizar prejuízos financeiros e evitar danos à reputação.&lt;/p&gt;

&lt;p&gt;A Amazon Web Services (AWS) oferece uma solução de backup chamada AWS Backup, que fornece uma maneira centralizada de gerenciar backups em vários serviços e contas da AWS. O AWS Backup permite que as empresas criem, automatizem e gerenciem backups de seus dados, aplicativos e recursos.&lt;/p&gt;

&lt;p&gt;No cenário abaixo, irei explicar como configurar o AWS Backup para realizar backups de suas instâncias EC2 em uma região específica e como configurar ele para enviar os backups para outra conta da AWS (Backup Cross-Account).&lt;/p&gt;

&lt;p&gt;O backup entre contas oferece suporte apenas a CMKs gerenciadas pelo cliente. Ele não oferece suporte a cofres de backup criptografados usando CMKs gerenciadas pela AWS, incluindo cofres padrão, as CMKs gerenciadas pela AWS não devem ser compartilhadas entre contas, por isso precisamos criar nossa própria chave.&lt;/p&gt;

&lt;p&gt;O cenário abaixo também funciona para volumes que estão criptografados com a CMK gerenciada pelo cliente.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pré-requisito:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Duas contas AWS, a conta A (origem) será nossa conta de aplicação onde está rodando nossa instância EC2 e a conta B (destino) será nossa conta de gerencia onde iremos armazenar a cópia do Backup.&lt;/li&gt;
&lt;li&gt;Precisamos configurar o AWS Organizations em nossa conta B e ingressar a conta A no Organization (não entrarei em detalhes de como realizar a criação do AWS Organizations).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Etapa 01 - Ativar o Cross-Account Backup (Conta B)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "AWS Backup".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Settings".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Nc3XB6Mk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/611c3l9hkc8fuqig2ncy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Nc3XB6Mk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/611c3l9hkc8fuqig2ncy.png" alt="Image description" width="800" height="374"&gt;&lt;/a&gt;&lt;br&gt;
3) Procure o campo "Cross-account management" e habilite as funções "Backup policies", "Cross-account monitoring" e "Cross-account backup", clicando no botão "Turn on", o status deverá mudar de "Off" para "On".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dbxi_cJi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt35616eivqflpvdlc5j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dbxi_cJi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mt35616eivqflpvdlc5j.png" alt="Image description" width="800" height="373"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 02 - Criar chave KMS na conta de destino (Conta B)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "Key Management Service".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Customer managed keys".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rRlVdgby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/suizucj1gnbammtu7uts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rRlVdgby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/suizucj1gnbammtu7uts.png" alt="Image description" width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique em "Create key".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rx5qpEdF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3onk6hnmvs3r4sgcb2z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rx5qpEdF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3onk6hnmvs3r4sgcb2z.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eU2Wo6tB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9howz2q24nbblxdcgwn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eU2Wo6tB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9howz2q24nbblxdcgwn5.png" alt="Image description" width="800" height="477"&gt;&lt;/a&gt;&lt;br&gt;
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zm3hjW7U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asbatlbdxlipvirrv430.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zm3hjW7U--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/asbatlbdxlipvirrv430.png" alt="Image description" width="800" height="625"&gt;&lt;/a&gt;&lt;br&gt;
6) Em "Define key administrative permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vXF4IzEI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bekcbz5qq44sqttaj4xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vXF4IzEI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bekcbz5qq44sqttaj4xf.png" alt="Image description" width="800" height="394"&gt;&lt;/a&gt;&lt;br&gt;
7) Em "Define key usage permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_msgL5Ir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/weeb5c8kmeq0aylsk2qo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_msgL5Ir--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/weeb5c8kmeq0aylsk2qo.png" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;br&gt;
8) Revise as informações e clique em "Finish" para criar a chave KMS.&lt;/p&gt;
&lt;h2&gt;
  
  
  Etapa 03 - Criar o Backup Vault na conta de destino (Conta B)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "AWS Backup".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Backup vaults".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_9ISLP_0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rz6qfnlssygpwymn0mn5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_9ISLP_0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rz6qfnlssygpwymn0mn5.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique no botão "Create backup vault".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zf9MZZiZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sujtgupl6hew8qvl7nb6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zf9MZZiZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sujtgupl6hew8qvl7nb6.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
4) Defina um nome de sua escolha para o Backup Vault, em seguida selecione a "Encrypt key" criada na etapa 02 "arn:aws:kms:us-east-1:XXXXXXXXXXXX:alias/AWS-Backup-Dest" e clique em "Create backup vault".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KWbKa8j1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g1502npd6k5rit9xdouj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KWbKa8j1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g1502npd6k5rit9xdouj.png" alt="Image description" width="800" height="714"&gt;&lt;/a&gt;&lt;br&gt;
5) Agora precisamos definir uma política permitindo a conta A de enviar backups para o Vault criado. Clique em "Edit access policy" e adicione o seguinte JSON (substituindo o "AccountSrcID" para o ID da conta A de origem), clique em "Save policy".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Allow AccountSrcID to copy into DestMyBackupVault",
      "Effect": "Allow",
      "Action": "backup:CopyIntoBackupVault",
      "Resource": "*",
      "Principal": {
        "AWS": "arn:aws:iam::AccountSrcID:root"
      }
    }
  ]
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--f08RP4NY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/taxi09mb8o0qgsz8w45w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--f08RP4NY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/taxi09mb8o0qgsz8w45w.png" alt="Image description" width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VrkiPIOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yvfa54je69bohhvy631g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VrkiPIOy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yvfa54je69bohhvy631g.png" alt="Image description" width="800" height="839"&gt;&lt;/a&gt;&lt;br&gt;
6) Copie o ARN do Vault para utilizarmos na próxima etapa.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 04 - Criar chave KMS na conta de origem (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "Key Management Service".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Customer managed keys".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jnsMSHyP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9b1ok2p261bfth7kp63a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jnsMSHyP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9b1ok2p261bfth7kp63a.png" alt="Image description" width="800" height="390"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique em "Create key".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RlisyVBt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5rspa2hut5az7mrg4px9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RlisyVBt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5rspa2hut5az7mrg4px9.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
4) Selecione a "Key type" como "Symmetric" e a "Key usage" como "Encrypt and decrypt" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Rr7BtidK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0cud6p6yndimav7z5hkt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Rr7BtidK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0cud6p6yndimav7z5hkt.png" alt="Image description" width="800" height="477"&gt;&lt;/a&gt;&lt;br&gt;
5) Defina um nome de sua escolha para o "Alias" da key e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rlq9MdvX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xisdwcxss35m5z5d7lbh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rlq9MdvX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xisdwcxss35m5z5d7lbh.png" alt="Image description" width="800" height="624"&gt;&lt;/a&gt;&lt;br&gt;
6) Em "Define key administrative permissions" selecione a role "AWSServiceRoleForBackup" e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q6hZjcxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0u16eavj9cwflc79tsq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q6hZjcxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0u16eavj9cwflc79tsq.png" alt="Image description" width="800" height="394"&gt;&lt;/a&gt;&lt;br&gt;
7) Em "Define key usage permissions" selecione a role "AWSServiceRoleForBackup", em "Other AWS accounts" clique em "Add another AWS account" e digite o ID da conta de destino (conta B) e clique em "Next".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tadeAzbU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ofklp6k0dqp8f1vex2xg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tadeAzbU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ofklp6k0dqp8f1vex2xg.png" alt="Image description" width="800" height="493"&gt;&lt;/a&gt;&lt;br&gt;
8) Revise as informações e clique em "Finish" para criar a chave KMS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 05 - Configurar o AWS Backup (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "AWS Backup".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Backup vaults".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CTU9wTuY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3pzqc602dr3jgvarmdnv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CTU9wTuY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3pzqc602dr3jgvarmdnv.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
3) Clique no botão "Create backup vault".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--QXcKACCT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/alnkkosm19v0hc5ddayk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QXcKACCT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/alnkkosm19v0hc5ddayk.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
4) Defina um nome de sua escolha para o Backup Vault, em seguida selecione a "Encrypt key" criada na etapa 04 "arn:aws:kms:us-east-1:XXXXXXXXXXXX:alias/AWS-Backup" e clique em "Create backup vault".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kTdfg0do--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qauia44loug7wz2omti.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kTdfg0do--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qauia44loug7wz2omti.png" alt="Image description" width="800" height="709"&gt;&lt;/a&gt;&lt;br&gt;
5) No menu lateral a esquerda, clique em "Backup plans".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5rz0ascF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8u3o5g3aaiba3xijnxx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5rz0ascF--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c8u3o5g3aaiba3xijnxx.png" alt="Image description" width="800" height="392"&gt;&lt;/a&gt;&lt;br&gt;
6) Clique no botão "Create backup plan".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pRYkiqub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p6fougmyvh6y6oobo853.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pRYkiqub--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p6fougmyvh6y6oobo853.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
7) Em "Start options", defina "Build a new plan", em seguida defina um nome de sua escolha para o Backup Plan.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--13je-n8M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wejdshh2pesknwo7ubgu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--13je-n8M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wejdshh2pesknwo7ubgu.png" alt="Image description" width="800" height="473"&gt;&lt;/a&gt;&lt;br&gt;
8) Em "Backup rule configuration", defina um nome de sua escolha para o Backup Rule, em "Backup vault" selecione o Vault criado anteriormente, em "Backup frequency" defina a frequência de backup desejada (nesse exemplo a frequência será diária), em "Backup window" definimos qual será o horário que a regra de backup será executada (nesse exemplo será as 03:00 AM UTC. Obs: 00:00 horário de brasília), em "Retention period" definimos o tempo de retenção do backup (nesse exemplo a retenção será de 1 semana).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9QqWU6H8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yss5vub5gtqgnjh5wnqu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9QqWU6H8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yss5vub5gtqgnjh5wnqu.png" alt="Image description" width="800" height="822"&gt;&lt;/a&gt;&lt;br&gt;
9) Em "Copy to destination" definimos para qual região/conta iremos enviar a cópia do backup (nesse exemplo iremos enviar para a região US East (N. Virginia) e para o Vault da conta B), em "External vault ARN" adicionamos o ARN do Vault criado na etapa 03 Ex: arn:aws:backup:us-east-1:XXXXXXXXXXXX:backup-vault:DestMyBackupVault (irá aparecer uma mensagem falando que será necessário adicionar permissão de acesso da conta B no vault da conta A) clique no botão "Allow" para adicionar a permissão.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u6s1-_1o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/azzvjkfyf0nmn08tmsqi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u6s1-_1o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/azzvjkfyf0nmn08tmsqi.png" alt="Image description" width="800" height="578"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qxojO0LS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/su074jr06lqne3dk0o99.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qxojO0LS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/su074jr06lqne3dk0o99.png" alt="Image description" width="592" height="658"&gt;&lt;/a&gt;&lt;br&gt;
10) Em "Retention period" definimos qual será a retenção dos backups na conta B (nesse exemplo a retenção da conta B será de 3 dias). Clique em "Create plan".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--abIE_bOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/764vqhk0akhh5auk7fzr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--abIE_bOa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/764vqhk0akhh5auk7fzr.png" alt="Image description" width="800" height="560"&gt;&lt;/a&gt;&lt;br&gt;
11) Agora definimos qual será os recursos que iremos fazer Backup (nesse exemplo vamos realizar o backup das instâncias EC2 que possuem a TAG "Backup = True"). Em "General" defina um nome de sua escolha para o Assign Resources, mantenha a "IAM role" como "Default role".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UAkAF8Vi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/or3m0pbmjdgwgv0fw2n0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UAkAF8Vi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/or3m0pbmjdgwgv0fw2n0.png" alt="Image description" width="800" height="410"&gt;&lt;/a&gt;&lt;br&gt;
12) Em "Resource selection", marque a opção "Include specific resource types", em "Select specific resource types" selecione "EC2", em "Refine selection using tags" adicione a TAG "Key" = Backup o "Condition for value" = Equals e o "Value" = True. Clique em "Assign resources".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DaQ3El0v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d04elydlsv4odt33ytxc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DaQ3El0v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d04elydlsv4odt33ytxc.png" alt="Image description" width="800" height="998"&gt;&lt;/a&gt;&lt;br&gt;
13) Clique em "Continue".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u26h_yFs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/731xlltsr40nj4x326ec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u26h_yFs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/731xlltsr40nj4x326ec.png" alt="Image description" width="594" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 06 - Adicionar a TAG de Backup = True em todas as instâncias que você deseja realizar o Backup (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "EC2".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Instances".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VsGTfN7O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hihz2amefyi09svm7l0v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VsGTfN7O--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hihz2amefyi09svm7l0v.png" alt="Image description" width="800" height="386"&gt;&lt;/a&gt;&lt;br&gt;
3) Selecione a instância desejada, clique em "Actions" &amp;gt; "Instance settings" &amp;gt; "Manage tags".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VbrF9wrK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wvg1sesco2mli3lxuo1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VbrF9wrK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1wvg1sesco2mli3lxuo1.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;br&gt;
4) Clique em "Add new tag", em "Key" digite Backup e em "Value" digite True. Clique em Save.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ed0PuFHQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ho2c8f9lxu75blew7wg0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ed0PuFHQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ho2c8f9lxu75blew7wg0.png" alt="Image description" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Etapa 07 - Verificar backups realizados (Conta A)
&lt;/h2&gt;

&lt;p&gt;1) Acesse a console AWS e procure pelo serviço "AWS Backup".&lt;br&gt;
2) No menu lateral a esquerda, clique em "Jobs".&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xYskbsg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nz5orkqba20trqddkst0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xYskbsg0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nz5orkqba20trqddkst0.png" alt="Image description" width="800" height="388"&gt;&lt;/a&gt;&lt;br&gt;
3) Em "Backup jobs" podemos ver os backups realizados na conta de origem (Conta A).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DbeblFCO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zp6dclallffj3f0blfau.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DbeblFCO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zp6dclallffj3f0blfau.png" alt="Image description" width="800" height="244"&gt;&lt;/a&gt;&lt;br&gt;
4) Em "Copy jobs" podemos ver os backups copiados para a conta de destino (Conta B).&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YBH8L6dH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20p0rklv5bgbkt5lj08z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YBH8L6dH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20p0rklv5bgbkt5lj08z.png" alt="Image description" width="800" height="243"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espero tê-lo ajudado! Se houver alguma dúvida, não hesite em deixar um comentário.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>backup</category>
      <category>tutorial</category>
      <category>cloud</category>
    </item>
  </channel>
</rss>
