Bom pessoal, então nós temos aqui o nosso cluster, nós já temos o nosso auto scaling group com as suas policies, nós temos ali duas policies que garantem que quando houver um aumento no tráfego, um aumento na carga de trabalho dentro do nosso cluster, nós teremos novas instâncias sendo adicionadas e temos também uma policy que garante que quando o nosso cluster estiver trabalhando tranquilo, nós não tivermos ali uma carga de trabalho muito grande, instâncias serão removidas para que a gente não gaste tantos recursos de forma desnecessária. Mas, se nós estivermos trabalhando com um web server, com uma aplicação que ela precisa ser exposta publicamente, nós precisamos, evidentemente, de um load balancer para distribuir o tráfego entre todas essas instâncias. Então, os nossos clients vão se conectar ao load balancer e o load balancer é quem faz a distribuição dessas requisições entre as instâncias dentro do nosso cluster. Beleza? Mas antes de nós criarmos, de fato, esse load balancer, eu gostaria de fazer um ajuste aqui no nosso cluster para que a gente consiga ver esse load balance funcionando na prática, para que a gente tenha um exemplo um pouco mais interessante. Então eu vou abrir aqui o nosso arquivo main.tf do módulo do cluster, e nós temos aqui o template de inicialização da nossa máquina, então nós temos aqui a imagem, o tipo da instância e o nosso user data. Aqui no momento nós temos simplesmente a criação de um arquivo para verificar isso funciona na prática né nós ele ficamos aqui se o nosso beira só se funciona se o arquivo é criado e nós vemos que isso acontece de fato mas nós não precisamos mais desse desse usadeira dessa forma aqui tá por isso nós vamos remover nós não precisamos mais desse ter as sources, foi simplesmente para um teste, ok? E aqui nós vamos aproveitar para fazer o seguinte, nós vamos instalar o Nginx e através do Nginx nós conseguimos ali colocar um arquivo index.html por exemplo e expor essa página HTML, tá? Só para nós vermos funcionando na prática a nossa aplicação, a nossa infraestrutura. Então, vamos lá. Eu tenho aqui um script e eu vou colocar esse script aqui para nós entendermos linha a linha, tá? Primeiro, nós vamos aqui atualizar o nosso gerenciador de pacotes. Beleza. Nós vamos agora fazer a instalação de fato do Nginx, que é esse web server. Nós vamos agora inicial a instalação de fato do Nginx, que é esse web server. Nós vamos agora inicializar o serviço do Nginx, beleza? E vamos também habilitar para que sempre que a nossa máquina seja inicializada, sempre no start da nossa máquina, esse serviço também seja inicializado. Então nós já temos aqui o Nginx. Quando nós instalamos o Nginx, ele já cria um diretório, ele já cria um arquivo index.html que é o arquivo default, se nós não configurarmos o Nginx, quando nós acessarmos a porta 80 da nossa máquina, nós vamos acessar esse arquivo index.html padrão do Nginx. Mas nós queremos fazer algo diferente, Nós vamos aqui então fazer o seguinte Eu vou obter o public IP da nossa instância Nós não sabemos aqui de antemão qual vai ser esse IP Qual vai ser o IP público da nossa máquina E é por isso que nós vamos utilizar esse checkip amazonaws.com Se nós rodarmos aqui, se nós dermos um get nesse endpoint Como por exemplo eu vou fazer aqui agora, eu tenho acesso ao IP que está associado aqui à minha máquina. Então, nós faremos isso daqui, nós vamos associar a uma variável public IP. Então, nós vamos alterar o nosso arquivo index.html, do Nginx para mostrar agora este IP então eu vou copiar aqui o comando para nós fazermos isso e nós vamos entender como isso vai acontecer nós estamos dando um echo aqui e estamos criando uma página HTML com o título hello e aqui no body nós temos um h1 com hello e aqui o nosso public IP, beleza? aqui nós então salvamos o output desse comando echo aqui neste arquivo index.html que é justamente o arquivo index padrão do Nginx beleza e nós direcionamos aqui o output para dev barra null então dessa forma nós teremos aqui, agora, um arquivo index.html, que quando nós acessarmos a máquina, quando nós acessarmos o IP dessa máquina, nós vamos acessar este arquivo index.html, que vai nos mostrar de novo o IP da máquina. Então, é algo bem simples e caso você não esteja entendendo onde eu quero chegar com isso, logo logo vai ficar mais claro. E agora, antes de nós finalizarmos aqui, nós vamos dar um restart também no NGINX, para termos certeza de que essas alterações aqui serão válidas. Porém, nós não podemos nos esquecer de que nós temos ali um Security Group que nós criamos dentro do módulo de Network. Nós temos aqui um Security Group que nós criamos dentro do módulo de network, nós temos aqui um security group que nós depois referenciamos, e esse security group permite simplesmente o acesso na porta 22. E agora como nós estamos trabalhando com uma aplicação web, com web server, nós precisamos permitir o acesso na porta 80. Então nós vamos alterar esse ingress rule aqui, agora ela será o sg ssh ingress rule caso você tenha sua infraestrutura de IP aí desde a última aula e não tenha destruído a infraestrutura alterar aqui a chave pode ser de algum problema, de algum conflito caso você rode novamente o terraform apply, então pra evitar aí qualquer problema, eu sugiro que você rode o Terraform Destroy. E agora nós vamos duplicar aqui este resource e nós teremos agora SG e HTTP Ingress Rule, onde nós vamos simplesmente liberar a porta 80. Então, vamos liberar a porta 80 e agora nós temos aqui a sucessão com o nosso Security Group, portanto a nossa máquina agora terá acesso liberado na porta 22 e na porta 80. Perfeito, voltando aqui no nosso cluster, eu acho que tudo está certo, então nós já podemos executar aqui o nosso Terraform Plan. Vamos verificar qual é o Output do nosso Plan, verificar se nós fizemos tudo certo. Aparentemente sim. E agora nós vamos dar um Terraform Apply, menos menos, alto, approve. E nós vamos aguardar que todos os nossos recursos estejam disponíveis. E aqui temos o Output do nosso Terraform Apply, agora com 17 recursos adicionados com sucesso. Então nós vamos dar uma olhada aqui na AWS, deixa eu dar um refresh aqui nas nossas instâncias. Temos duas instâncias, o status check ainda está como inicializado, mas vamos verificar aqui se nós já conseguimos acessar aqui o nosso IP. Então, vou abrir aqui este IP, beleza? E aqui, como nós abrimos somente a porta 80, nós precisamos acessar através do protocolo HTTP e não HTTPS. E nós já podemos ver que está funcionando corretamente, tá? Nós temos Hello e temos aqui o nosso IP address, o nosso IP público. Eu vou fechar, eu vou voltar aqui nas instâncias. Nós temos uma outra instância, né? Então, se nós clicarmos aqui, deixa eu verificar se nós conseguimos pegar as informações a partir daqui. Sim. Vamos abrir aqui esse novo IP. Deixa eu copiar aqui. HTTP, beleza. E agora nós temos também a nossa outra instância com o Nginx instalado e com o nosso arquivo index.html, ok, já funcionando corretamente da forma como nós esperávamos. Então nós já temos aqui o nosso ambiente para nós testarmos o nosso load balancer, se ele vai estar funcionando corretamente. Mas para isso, para que a gente finalize e a gente não tenha uma aula muito longa, nós faremos isso na próxima aula. O load balancer então será criado na nossa próxima aula. Espero que você esteja gostando. Vejo você lá.