se você tá querendo aprender como que funciona a jornada do zero até o Deploy olha só o que a gente vai fazer nesse vídeo de hoje utilizando aqui terraform e Calma se você nunca ouviu falar sobre terraform fica tranquilo a gente também vai dar uma introduzida O que é como instala e como terraform funciona E além disso a gente vai fazer diversas tarefas aqui então a gente vai inicializar um projeto aqui utilizando infra S code que é o terraform e com a nuvem aws ali para poder fazer a criação dos nossos recursos a gente vai
criar um servidor do zero ali naws utilizando terraform a gente vai fazer um controle de acesso dentro desse servidor utilizando ali Security groups a gente vai criar também dentro desse vídeo um contêiner ali Spring boot e a gente vai fazer um Deploy desse contêiner dentro desse servidor que a gente vai criar na WS e para fechar a gente ainda vai conseguir acessar o nosso servidor de forma remota utilizando ali o SSH então o vídeo de hoje tá bem completo Eu recomendo que você fique até o final porque isso aqui vai agregar muito conhecimento paraa sua
carreira Então antes da gente começar conteúdo gratuito como esse aqui dá trabalho então se você quiser apoiar o nosso canal deixa um like aqui embaixo se inscreve no canal e compartilha esse vídeo aqui com a maior quantidade de desenvolvedores que você conhece pra gente poder trazer mais conteúdos com esse aqui no futuro então pro vídeo de hoje a gente vai ter uma lista de tarefas que tá bem completa aqui mas a gente vai passar um passo de cada vez aqui pra gente não se embolar então sem enrolação aqui já vamos pra nossa primeira tarefa que
é entender porque você precisa do terraform E como que ele funciona e Quais formas que a gente tem ali para criar essa infraestrutura Então beleza antes da gente entender o que é o terraform e porque que a gente PR precisa aprender ele vamos entender aqui o que que a gente tá perdendo quando a gente não utiliza o terraform Então a gente vai entender aqui a forma de criação de recursos utilizando ali o click Ops que é basicamente uma criação manual de recursos Então vamos supor que você é um desenvolvedor ali e precisa criar um ambiente
na WS por exemplo para poder ter dois ambientes um ambiente para você testar o seu projeto e um outro ambiente onde os clientes de fato vão estar acessando que a gente chama ali de um ambiente produtivo então para você gerenciar todos os recursos que são criados na nuvem Você tem todo um trabalho manual de acessando cada menu fazer a criação prestar atenção se você tá criando o recurso com a configuração correta você vai ter que manter uma sincronia né entre os ambientes ali de testes e o ambiente de produção pode dar diversos problemas ali de
esquecimento né da gente fazer num determinado ambiente e esquecer de fazer no outro então quando a gente utiliza ali uma criação manual ela é muito sujeita a falhas então de tanto a gente fazer ali trabalhos repetitivos a gente pode acabar esque Endo porque isso é natural e isso acaba impactando ali o nosso ambiente por exemplo então fazer a criação de recursos aqui manualmente é algo bem trabalhoso imagina se você tivesse centenas de recursos para criar e você vai ter que criar isso em uma conta depois em uma outra conta e ficar gerenciando ISO tudo dá
muito trabalho então ao invés da gente utilizar isso aqui o que as grandes empresas hoje utilizam no mercado é a estrutura aqui de infra S code a utilização de infra S code é basicamente você ter toda a sua infraestrutura toda a configuração de infraestrutura como código então assim como a gente faz ali o desenvolvimento de uma aplicação Spring boot o nosso código JAVA a gente consegue pegar esse código JAVA e jogar num Git e deixar tudo versionado quando a gente utiliza aqui a infra S code a gente consegue ter um comportamento bem parecido a gente
consegue ter arquivos de configuração onde o desenvolvedor ali consegue fazer esse arquivo né escrever ele ali implementar e Quando ele precisar de fato criar esses recursos ali na nuvem ele basicamente emite um comando para esse infra S code que por exemplo poderia ser o terraform mas a gente também tem o cloud formation e essa infraestrutura ali ela começa a ser criada automaticamente então ao utilizar aqui a infras CDE a gente ganha diversos benefícios o principal aqui é que a gente consegue ter o versionamento da nossa infraestrutura Ou seja a gente consegue deixar ela num github
da vida e deixar tudo bonitinho ali pra gente poder ter um histórico de modificação dessa infraestrutura a gente consegue reduzir o trabalho manual que é algo que é bem ruim e bem sujeito a falhas se a gente começa a criar os nossos recursos ali manualmente na nuvem a w s por exemplo então utilizando aqui infras code a gente deixa tudo bem automatizado a gente consegue deixar também parametrizável então lembrando ali quando a gente faz manualmente a gente precisava fazer todo o trabalho em um ambiente por exemplo de testes e depois replicar em um outro ambiente
isso gastava muito tempo e era bem trabalhoso com a infras code aqui basicamente você escreve um arquivo e deixa ele parametrizável e basicamente você altera os parâmetros ali para cada ambiente Então dessa forma aqui a gente escreve o código uma vez mas a gente consegue deixar ele Bem customizável Além disso tudo a gente tem esse código aqui muito mais fácil paraa manutenção então qualquer problema que dê a gente consegue ter uma fonte única ali onde tá centralizada todas as configurações e a gente altera ela e consegue replicar automaticamente pro ambiente Então esse aqui é um
dos benefícios principais ali da utilização de infra S code o que a gente vai est vendo nesse vídeo é basicamente sobre o terraform Mas é bom você saber que existem outras opções ali no mercado Então vamos entender aqui como que funciona o terraf então basicamente nós como desenvolvedores quando a gente utiliza ali o terraform a gente tem um arquivo de configuração de todos os nossos recursos que a gente quer fazer a criação na nuvem Então esse arquivo a gente costuma ter ali com o final ptf que indica ali que é um arquivo terraform e esse
arquivo ele é gerenciado por nós desenvolvedores então a gente ali nesse arquivo a gente consegue fazer um indicativo de todos os recursos que a gente quer criar a ordem o nome dos recursos e tudo mais então depois que o desenvolvedor ele configura esse arquivo m F ele tem ali uma possibilidade de comandos que ele pode utilizar através da linha de comando do terraform para poder aplicar esse arquivo na nuvem depois que o terraform ele faz a criação desses recursos ele mantém uma sincronia num arquivo chamado state file esse arquivo aqui state file ele mantém um
registro de tudo que ele já criou dentro da nuvem e ele é gerenciado automaticamente pelo terraform então o desenvolvedor ele só se preocupa em alterar esse arquivo aqui ptf ele executa essas linhas de comando aqui para poder aplicar esse arquivo na nuvem e depois disso a gente consegue ter esse registro todo guardado aqui dentro do state file que ele é gerenciado automaticamente pelo terraform o terraform ele tem um funcionamento bem diferente vamos ver aqui um exemplo pra gente poder consolidar realmente como é que ele funciona então a gente vai est vendo aqui um exemplo de
criação de infraestrutura vamos supor que um desenvolvedor ele queira fazer uma criação de um servidor dentro da WS Então dentro desse arquivo aqui main.tf o desenvolvedor Faria declaração na sintaxe ali do terraform que ele quer criar esse determinado servidor então por exemplo aqui ele tá definindo um servidor do tipo recurso servidor e ele teria o nome aqui x y z depois que o desenvolvedor ele define isso dentro do arquivo ali terraform ele poderia executar o comando ali via linha de comando terraform apply depois que o desenvolvedor ele executa terraform P apply o próprio terraform vai
interpretar todo esse arquivo aqui main.tf e ele vai fazer a criação desses recursos dentro da nuvem aws então por exemplo Ele identificou aqui que ele tá querendo criar um servidor chamado XY Z e ele vai fazer a criação desse servidor dentro ali da nuvem depois que o terraform faz a criação dentro da nuvem e consegue ter um sucesso nessa criação ele mantém essa referência aqui no seu state file então ele tem ali um rastreio do recurso que ele acabou de criar vamos supor agora que eu queira fazer uma deleção desse recurso para eu fazer a
deleção dessa infraestrutura a gente poderia executar um comando aqui chamado terraform Destroy quando a gente executa Esse comando o terraform ele olha o state file para verificar quais recursos ele já tem criado ali dentro da nuvem e para cada recurso que ele sabe que ele já criou ele vai mandar um comando de deleção lá pra nuvem então por exemplo aqui ele vai verificar que o servidor x y z ele estava criado então quando a gente dá um Destroy aqui ele vai mandar destruir esse servidor XY Z que já tinha sido criado depois que esse destrói
aqui ele é realizado o terraform limpa o state file para poder deixar o estado ali de fato 100% atualizado então de uma maneira macro é assim que o terraform funciona eu espero que tenha ficado um pouco mais claro para você mas se ficou ainda com alguma dúvida coloca aqui embaixo que a gente vai tentar te ajudar então sem enrolação pra gente já colocar a mão na massa aqui vamos pra prática para poder começar de fato toda a construção que a gente vai fazer nesse vídeo que vai ficar bem legal então vamos voltar ali pra nossa
lista de tarefas pra gente poder marcar que a gente entendeu ali o por que a gente precisa do terraform e também com qu são as formas que a gente tem ali de criar que é o click Ops E ali a infra S code pra gente poder seguir aqui vamos conhecer e instalar o terraform para você instalar o terraform aí dentro do seu computador você pode jogar basicamente terraform no Google ou digitar terraform.io que você vai cair diretamente no site ali do terraform assim que você entrar você pode vir aqui em cima no botão download e
ele já vai começar a te direcionar as diversas formas que tem ali para você instalar no teu sistema operacional Então aqui tem macos tem o Windows tem Linux tem diversas opções e a instalação aqui é bem tranquila então entra nesse site e faz a instalação depois que você fizer a instalação você pode vir aqui no teu terminal e você executa terraform traço traço Version para ele te dar ali a versão desse teu terraform se ele retornar um número por exemplo o meu aqui é 1.7.5 quer dizer que a tua instalação tá certinha então a gente
pode continuar aqui o vídeo Então vamos voltar para essas tarefas pra gente poder marcar que a gente já instalou aqui o terraform dentro do nosso computador e agora como a gente vai utilizar ali a nuvem aws para poder fazer a criação desses recursos Vamos acessar diretamente o site da aws então você pode jogar no Google também aws e já vai cair ali no primeiro site ou se você preferir dá para acessar aws.amazon.com assim que você entrar se você ainda não tem uma conta criada vem aqui em cima na direita e faz todo o processo de
criação de conta ele vai pedir algumas informações pode ser ali um pouquinho demorado mas fica tranquilo que é um passo a passo bem intuitivo então depois que você criar suaa conta ou fizer o login na sua conta WS já vai diretamente ali pro console da WS e deixa aqui na região norte Virgínia que é uma das regiões ali que tem um custo um pouco mais baixo Então beleza se você já conseguiu fazer isso tudo aí também do teu lado vamos voltar aqui pra nossa lista de tarefas pra gente poder marcar que a gente já conseguiu
finalizar aqui a nossa criação de conta WS então Seguindo aqui pra nossa lista de tarefas Então como no vídeo de hoje a gente vai fazer uma jornada do zero até o Deploy vamos inicializar aqui uma aplicação Java Spring boot pra gente deixar ela redondinha e e depois a gente conseguir fazer o Deploy dela na WS ali com o terraform Então vamos diretamente aqui pro site do Spring pra gente criar um novo projeto como dependência você pode colocar somente o Spring web vai ser um projeto bem simples aqui eu vou deixar como o maven a última
versão estável ali do Spring boot vou deixar tech.on build Run aqui eu vou deixar como Deploy por exemplo Deploy beleza e eu vou estar utilizando aqui o Java 21 aqui eu posso deixar essa descrição mesmo depois disso tudo aqui Aperta generate aqui embaixo e importa lá dentro da sua ide eu vou fazer esse passo a passo aqui e quando eu importar lá dentro aí eu volto Beleza já fiz o Import aqui dentro da Mide eu criei uma pastinha app aqui e coloquei meu código fonte todo ali dentro e eu já tenho aqui o projeto redondinho
Então vamos voltar lá para essas tarefas pra gente poder marcar que a gente já inicializou esse projeto vamos agora configurar aqui um end Point básico para depois a gente conseguir ter ele publicamente lá dentro da WS Então vou vir aqui dentro desse projeto e vamos criar uma Controller vou aqui uma Controller eu vou chamar ela de api Controller e vai ser um api bem simples basicamente vai ser um hash Controller aqui e eu vou colocar um get mapping pra gente retornar a hora corrente Então vai ser um get qualquer pessoa que chamar eu vou retornar
ali a hora corrente Então vai ser Public response en eu posso botar sei lá time stamp response e aqui eu posso botar lá Hello aws e aqui dentro eu vou criar esse esse Record aqui dentro do nosso pacote Controller vou criar esse Record Então vou colocar como Instant Então vou botar request date time só para poder indicar que é o momento ali da requisição que a pessoa fez eu vou est retornando isso aqui então vai ser return response.ok New timestamp response Instant P Now então basicamente aqui vai ser uma rota get qualquer pessoa que chamar
eu vou retornar ali a hora corrente vamos rodar esse projeto aqui só só para saber se ele tá redondinho vou dar um Run aqui a partir do Main application né e assim que ele subir eu já vou fazer um get aqui via linha de comando eu vou fazer um http local host 8080 e beleza ele já tá me retornando aqui um Jon indicando ali a hora corrente Então vai ser um projeto bem simples isso aqui é só para exemplificar a partir de uma aplicação de spring boot mas funciona aqui para qualquer tipo de aplicação mais
complexa que você tenha Então beleza a aplicação aqui já tá Redonda o que a gente precisa fazer agora é publicar Nossa app Java dentro de um contêiner lá no dockerhub então pra gente poder fazer isso vamos vir aqui na raiz da nossa pasta app eu vou criar um novo arquivo chamado docker file esse docker file é o arquivo ali que a gente utiliza para poder criar um contêiner então pra gente poder criar um contêiner A partir dessa nossa aplicação primeiro a gente precisa buildar ela vamos fazer aqui um comando de maven install para poder gerar
o nosso jar Então deixa eu só ver onde eu tô vou entrar aqui na pasta App e eu vou rodar o comando a partir do maven rapper maven install quando eu rodar Esse comando aqui mvn install ele vai começar a buildar esse projeto aqui e ele vai gerar o nosso jar ali dentro da pasta target Então beleza ele gerou aqui tudo certinho se eu Viar na pasta target eu já tenho aqui o meu arquivo Deploy P jar Beleza agora que eu já tenho o meu arquivo ali build digamos assim a gente precisa configurar esse docker
file para colocar ele dentro de uma imagem docker então como eu tô utilizando usando aqui o Java 21 eu vou inicializar a partir da openjdk 21 vou colocar um diretório aqui de inicialização como app por exemplo e eu vou copiar esse arquivo que a gente gerou ali dentro da pasta target para dentro do nosso container Então vai ser copy target Deploy al. jar e lá dentro ele vai se chamar app.jar depois disso eu vou expor a porta a porta padrão de quando o projeto Spring boot ele roda é 8080 Então vou dar aqui um expose
na 8080 e pra gente poder rodar esse projeto a gente vai definir aqui um entry Point que vai ser basicamente aquele Java menu jar e aqui a gente coloca o nome do nosso jar que é app.jar dessa forma aqui a gente tá a partir da imagem ali do Java 21 a gente tá começando no diretório app eu tô copiando o meu jar que eu gerei ali utilizando o maven sty para dentro do contêiner e dentro do contêiner ele vai se chamar app.jar eu vou est expondo aqui a porta 8080 que é a porta padrão e
eu vou est inicializando a nossa aplicação Então beleza em tese esse docker file aqui tá OK agora a gente precisa construir essa imagem Então vamos vir aqui na nossa linha de comando eu vou dar um Clear aqui então pra gente poder criar essa imagem docker certifica primeiro que você tá na raiz aqui onde tem o arquivo docker file se tiver a gente vai rodar o comando docker build ponto para poder indicar que é o arquivo aqui o diretório local que a gente tá e a gente vai colocar uma tag como o seu nome de usuário
no docker Hub e depois o nome da nossa imagem que vai ser Public api com a versão aqui latest depois que você definir Esse comando pode dar enter que ele vai começar a construir essa imagem docker local aí para você então beleza que o meu ele construiu bem rapidinho depois disso a gente precisa enviar isso aqui pro docker Hub para depois a gente conseguir puxar lá dentro do nosso contêiner na WS então pra gente poder enviar essa imagem docker pro docker Hub a gente primeiro precisa fazer login então executa Esse comando aí dentro da sua
máquina que é o docker login Ele vai tentar autenticar se ele não tiver as credenciais corretas ali ele vai tentar te pedir né o usuário sem ali você faz o login e depois disso aqui a gente pode executar o seguinte comando docker push e a gente vai colocar o nome daquela imagem que a gente gerou então é Bruno grana Public api na versão latest quando você fizer isso ele vai começar a empurrar essa imagem lá pro docker Hub e ela vai ficar publicamente exposta então só se atenta aqui eu tô colocando Bruno grana que é
o meu nome de usuário Mas você tem que colocar o seu nome de usuário Então beleza aqui ele indicou que já enviou essa imagem lá pro dockerhub a gente consegue verificar entrando aqui em docker HUB no site deles né Vamos abrir aqui rapidinho beleza abriu aqui o dockerhub eu vou fazer um login aqui na minha conta Beleza já fiz o login e já tá indicando aqui ó que a nossa imagem Public api ela já aparece aqui publicamente disponível lá no docker Hub então a gente já consegue puxar ela depois lá dentro da WS então só
para você tirar essa dúvida se essa imagem docker tá funcionando ou não vamos vir aqui dentro do nosso projeto Então a gente vai executar aqui docker Run eu vou indicar a porta 8080 8080 e o nome da imagem é Bruno grana barra Public api 2. latest quando eu executar isso aqui ele deu um problema basicamente é porque meu projeto aqui já tá rodando deixa eu stopar ele vamos agora dar um Clear aqui e vou executar novamente e agora ele já vai começar a subir a nossa aplicação certo através agora do docker Então a nossa imagem
docker aqui já tá redondinha já subiu tudo certo pra gente poder testar que tá funcionando a gente pode fazer aqui um http local host 8080 e ele já vai retornar ali pra gente aquele response que a gente já tinha definido Então a nossa imagem docker aqui ela já tá redondinha já tá certinha vamos voltar lá pra nossa lista de tarefas pra gente poder marcar que a gente concluiu essa parte então a gente Já publicou a nossa app e a gente também acabou já testando ali a a nossa app Java dentro do contêiner Então bora seguir
aqui a nossa lista de tarefas agora a gente precisa inicializar o nosso projeto de infraestrutura Então vamos voltar aqui para dentro da nossa ide e a gente vai criar uma nova pasta chamada infra então eu tenho aqui uma pastinha app onde tá todo o meu código fonte Java e eu tô criando uma outra pasta aqui do lado dessa pasta app chamada infra que é onde vai ter toda a infraestrutura relacionada ao Deploy desse código JAVA então aqui dentro o primeiro arquivo terraform que a gente vai criar é o ptf esse arquivo aqui quando você criar
se você tiver utilizando ali o intelij ele vai te dar uma sugestão de baixar uma extensão né que vai dar todo esse auto complete ali pro terraform Eu recomendo ali fortemente que você aceite essa sugestão e faça a instalação vai ser algo bem rapidinho e com isso aqui ele já vai te facilitar bastante na escrita aqui do arquivo terraform Então beleza pra gente já definir aqui a primeira configuração do nosso arquivo terraform como hoje a gente vai estar utilizando aqui a nuvem aws aws é um Provedor de nuvem a gente vai definir aqui um provider
chamado então aws e aqui a gente precisa definir a região que a gente vai est utilizando daws a região você pode utilizar qualquer região mas eu recomendo que você venha aqui no console da WS e a gente utilize essa região aqui do Norte Virgínia essa região essa aqui a US East One então a gente pega esse valor e a gente coloca aqui dentro US East One Beleza depois que você fizer isso aqui vem aqui na sua linha de comando entra dentro desse diretório de infra aí então você executa aqui o comando terraform init quando você
fizer isso o terraform ele vai começar a baixar ali todo esse provider né da WS para poder entender ali de fato o que que a gente vai definir e ele vai criar um arquiv aqui na raiz do teu projeto chamado pon terraform com a configuração desse provider aws então beleza se você já fez isso aqui e já conseguiu baixar tá tudo certinho então vamos pensar aqui a gente tá querendo Endo se conectar a WS e a gente já definiu aqui esse provider mas o terraform ele ainda não sabe qual é a conta WS que ele
tem que utilizar e nem mesmo as credenciais para poder chegar nessa conta WS então pra gente poder dar todo esse permissionamento ali pro terraform a gente precisa configurar o seu acesso programático que a gente chama aqui então na nossa lista de tarefas a gente pode marcar que a gente já fechou a inicialização aqui do projeto mas agora a gente precisa criar um usuário somente ali pro nosso terra poder atuar então para isso que que a gente vai fazer então pra gente poder criar essas credenciais de acesso aqui a gente vai procurar pelo serviço iam o
serviço iam aqui da WS é onde tem todo o cadastro ali de usuários de permissionamento de perfis de acesso então depois que você entrar aqui você vem em users e a gente vai criar um novo usuário eu vou colocar o nome dele como terraform e eu vou apertar next eu vou colocar uma pólice aqui nele que é a pólice de administrador eu vou simplificar aqui pro vídeo eo depois isso aqui eu recomendo que você faça a deleção desse usuário porque não é recomendado tá Dá uma permissão tão grande ali pro usuário mas como aqui é
só um exemplo eu vou deixar pra gente não ter dor de cabeça então depois de colocar isso você pode apertar next aqui embaixo e revisa aqui se tá tudo certinho o nome a permissão se tiver você aperta Create user ele vai começar o processo de criação desse usuário depois que ele fizer a criação de usuário você aperta aqui em cima View user e ele vai ter uma opção aqui na direita de criar uma chave de acesso você aperta Create access Key e aqui ele vai dar uma opção de qual é o nosso caso de uso
você pode colocar como local code ele vai te dar um warning aqui mas fica tranquilo você pode marcar aqui entende essa recomendação e você aperta next depois disso Create access Key e ele vai criar a nossa chave de acesso aqui agora um ponto bem importante ele vai gerar essa chave de acesso e você só tem acesso a ela agora se você perder depois você vai ter que gerar uma outra chave de acesso Então pega isso aqui já deixa armazenado num lugar seguro para depois a gente continuar as configurações então beleza vou deixar essa chave aqui
só não vou fechar essa aba pra gente poder configurar as credenciais ali pro terraform a gente já fez a primeira parte que é gerar as chav de acesso pra gente poder configurar ali pro terraform poder utilizar a gente precisa baixar a wsc que é a linha de comando da WS então você pode pesquisar awsc aqui no Google e entrar nesse link aqui de instalar e atualizar aqui ele vai ter todo um tutorial de como que você consegue baixar e instalar e ele dá aqui para todos os sistemas operacionais então é basicamente seguir o passo não
tem muito estresse depois que você finalizar aí a gente volta aqui para continuar Beleza espero que você tenha conseguido ali instalar wsl agora a gente precisa configurar essas credenciais aqui dentro do nosso computador então para certificar que você conseguiu instalar a wsc roda aws tro traço version dentro do seu terminal se ele retornar ali uma versão quer dizer que tá certinho a WS elar e foi instalada então pra gente poder configurar essas credenciais a gente vai rodar o seguinte comando aws configure quando você rodar isso aqui ele vai pedir para você o access Key id
e o Secret access Key então o primeiro ele já pediu aqui eu vou copiar o exess Key daqui e eu vou colar aqui dentro é shift insert tá para você poder colar aqui dentro de um terminal e ele agora tá pedindo a chave secreta que eu também vou copiar aqui e eu vou fazer um insert aqui também utilizando shift insert e beleza a região se ele não tiver nenhuma para você você pode colocar o S East One que é aquela mesma que a gente definiu dentro do terraform Que Você Dá um enter o output Format
pode dar um enter não tem nenhum problema e beleza isso aqui a gente tá configurando um acesso ali pra nossa conta WS quando você faz esse comando aqui aws configure ele vai est criando um arquivo dentro da sua pasta de usuários Então você entra aí dentro da sua pasta de usuários você vai ver que tem uma pasta chamada pon aws essa pasta ela vai ter um arquivo chamado credentials se você abrir é ali que tem o cadastro aí da tua chave o teu exess Key id e o teu Secret aess Key então isso aqui eu
tô mostrando para vocês porque depois eu vou deletar mas se você não deletar não mostra isso aqui para ninguém porque pode correr um risco ali de alguém pegar e utilizar e criar recursos na sua conta então bem cuidado aí na hora de Expor essas chaves então beleza A gente já configurou aqui a nossa acesso vamos voltar pra lista de tarefas pra gente já marcar que a gente criou o usuário e a gente já configurou também as credenciais Então beleza Seguindo aqui pra nossa próxima tarefa agora de fato a gente já vai colocar a mão na
massa aqui no terraform então primeira coisa que a gente vai fazer vai ser criar o servidor ec2 então pra gente poder criar um servidor aqui dentro do terraform a sintasse do terraform é parecida com essa aqui a gente para definir o recurso a gente tem a palavra research que aqui ela dá duas opções pra gente a primeira opção é o tipo desse recurso no nosso caso como a gente quer criar uma instância é do tipo aqui aws instance e depois a gente coloca o nome desse recurso que eu posso colocar aqui como servidor por exemplo
pra gente poder saber quais são todos os tipos ali de recursos que a gente tem pro provedor WS a gente pode pesquisar aqui dentro do Google provider aws terraform quando você pesquisar você vai cair nesse primeiro link aqui do terraform registry onde ele vai ter ter todo o indicativo aqui dos serviços da WS aqui na esquerda e para cada um que você apertar para poder entender ele vai te dar um exemplo de utilização então por exemplo vamos filtrar por esse aws instance e ele já dá aqui ó E2 recurso aws instance quando você entrar ele
vai dar um exemplo né de como que a gente consegue utilizar como que são as configurações né ele já vai dar diversas informações ali para você então isso aqui é um link bem interessante para você sempre tem ali na manga Quando você quiser criar alguma coisa terraform na WS olha nesse link aqui que ele vai dar vários exemplos de recurso de Como você consegue criar e você consegue ir seguindo esses exemplos aqui para poder ir se localizando então no vídeo de hoje a gente vai estar utilizando esse aqui mesmo de a WS instance que é
basicamente a criação de um servidor comum ali dentro da WS então quando a gente faz isso aqui O plugin do intelij ele já dá a opção pra gente dos Campos que a gente tem ele tem aqui a opção de ami e o instance Type quando a gente cria um servidor na WS a gente tem que indicar entre aspas ali a imagem ou basicamente o sistema operacional que a gente vai est utilizando então pra gente poder pegar esse valor aqui dessa Ami a gente precisa ir lá na WS Então vamos abrir aqui o nosso console e
esse aqui eu já posso fechar não tem problema e agora a gente vai pesquisar aqui por ec2 ec2 é a máquina virtual que a gente vai criar e a gente precisa ver aqui o catálogo de ami que basicamente a tradução de ami é Amazon Machine image Então vamos vir aqui na esquerda em image e a gente vem em ami catalog que é basicamente um catálogo ali de imagens que a gente tem para poder utilizar então pra gente ficar aqui dentro do nível gratuito você marca esse free Tier only aqui ele vai te dar as opções
somente ali do free Tier e a gente consegue olhar as imagens aqui pra gente utilizar para esse vídeo a gente pode pegar essa imagem aqui propriamente da Amazon e a gente copia esse link aqui esse ami até o finalzinho aqui então aqui a gente vai est pegando uma imagem específica ali da Amazon o entendimento aqui de imagens e compatibilidades é um pouco mais complexo por exemplo a gente tem aqui outros sistemas operacionais como o bunto tem o Windows aqui tem até de Mac também mas a gente vai focar aqui por enquanto na imagem da Amazon
que ela é uma imagem bem simples e atende aqui o nosso caso de uso então copia esse valor aqui vamos voltar lá pro nosso terraform e a gente coloca esse valor aqui como a depois a gente precisa definir o instance Type o instance Type é basicamente a potência da máquina que a gente vai estar criando dentro da WS existem diversas máquinas ali com diversos níveis com mais memória menos memória mais CPU menos CPU e pro nosso vídeo de hoje pra gente também ter uma máquina bem simples A gente vai est utilizando a máquina T2 P
nano é uma máquina bem simples ali basicamente pra gente Expor a nossa api e a gente ficar com um custo bem reduzido que ela tá dentro ali da faixa de gratuidade da WS então olhando aqui a sintasse do terraform é bem simples como isso aqui tá a gente define o recurso o tipo do recurso depois o nome desse recurso e a gente vai definindo os seus atributos Então beleza vamos voltar pra nossa lista de tarefas pra gente ver que que a gente já precisa fazer então a gente configurou o nosso servidor ec2 e agora a
gente vai precisar configurar aqui o acesso http no servidor quando a gente cria uma máquina WS ela não tem acesso a nada do mundo externo e ninguém consegue na ela ela fica privada ali todos os acessos são bloqueados o que a gente precisa fazer agora é liberar os acessos das portas ali que a gente quer utilizar Então a gente vai utilizar aqui um recurso da WS que é uma espécie de Firewall mas o nome aqui é Security group então pra gente poder fazer criação desse controle de acesso ali dentro do nosso servidor a gente vai
criar aqui mais um recurso chamado aws Security group aqui dentro eu vou colocar como Security group e aqui dentro a gente consegue definir alguns basicamente o nome eu posso colocar como Security group mesmo eu posso colocar uma descrição eu posso colocar aqui por exemplo permitir acesso http e acesso à internet então a gente aqui vai permitir a entrada de acesso http dentro do nosso servidor e também vai deixar o nosso servidor sair pra internet então pra gente definir essas duas regras aqui no nosso Fir a gente tem as regras de ingress a regra de ingress
é tudo que tá entrando dentro do nosso servidor então aqui a gente consegue indicar a porta então vou deixar na porta 80 que é a porta padrão ali de um servidor web e tport também 80 aqui o protocolo a gente pode deixar como TCP que é basicamente a forma de comunicação ali que a gente vai utilizar e aqui a gente precisa definir também esse CDR Blocks CDR Blocks ali é um pouco mais complexo para entender mas basicamente aqui é pra gente definir Quais são os rang de IPs ali que podem acessar essa porta pra gente
poder fazer toda essa definição para eu não restringir muito aqui a nossa aplicação eu vou deixar o acesso liberado para qualquer IP então vou deixar 0.0.0.zip eu não tô restringindo aqui vamos deixar agora então essa configuração de acesso http finalizada beleza eu tô deixando entrar acessos ali na porta 80 mas agora eu preciso deixar que a nossa aplicação ela consiga também sair pra internet para poder se comunicar com qualquer lugar então a gente vai definir aqui uma regra de saída então a regra de entrada é ingress e a regra de saída é egress então aqui
dentro a gente pode colocar para qualquer porta que a gente quiser se comunicar Então vou colocar de desde a porta zero até essa 65550 aqui que é uma porta bem grande o protocolo eu também posso posso deixar TCP e o CDR Blocks eu posso colocar esse mesmo daqui de cima então vou deixar ele se comunicar com qualquer lugar que ele quiser então beleza com isso aqui definido agora a gente precisa amarrar esse nosso Security group deixa eu Minimizar aqui agora a gente precisa amarrar esse Security group com a nossa máquina a gente consegue ver aqui
que a gente tem dois recursos criados Mas a gente não tá indicando que esse Firewall aqui que a gente criou digamos assim ele tá amarrado a essa Instância pra gente definir isso a gente vai precisar definir esse campo vpc Security groups ID basicamente aqui a gente tem uma lista e a lista dentro do terraform ela se dá através aqui do colchete é basicamente um arrei pra gente poder definir esse ID eu vou precisar referenciar esse meu Security group que eu criei aqui em cima então eu posso colocar Security group ó WS Security group pon Security
group que é o nome do meu Security group que eu defini ali em cima e aqui eu coloco o seu identificador então se eu colocar ponto aqui eu já consigo ver que eu consigo acessar diversos parâmetros ali e atributos desse Security group como esse campo aqui ele tá pedindo o ID eu vou colocar basicamente ponto ID Então dessa forma eu tô criando uma Instância e tô amarrando ela com o nosso Security group que a gente criou acima então dessa forma aqui o terraform ele já vai ter inteligência de criar primeiro Security group e depois criar
nossa Instância vinculando ali os dois então vamos voltar aqui pra nossa lista de tarefas pra gente poder marcar que a gente configurou o acesso http ali no servidor o que agora a gente precisa fazer é configurar o script de inicialização do nosso projeto Então como a gente quer rodar o nosso projeto Spring boot lá dentro a gente vai precisar configurar aqui um arquivo dentro do E2 tem um arquivo chamado userdata.sdf P sh e aqui dentro a gente vai definir ele como barra Bin barbash só para definir aqui que é um script B vamos voltar aqui
pro main.tf agora pra gente fazer um link Entre esses dois então aqui dentro do teu aws instance a gente vai ter o parâmetro user data e aqui a gente vai indicar que a gente vai referenciar aquele arquivo Então dentro do terraform a gente também tem acesso a diversos métodos que a gente consegue utilizar aqui para facilitar o nosso trabalho esse file basicamente eu vou conseguir referenciar um arquivo aqui dentro então eu vou indicar aqui userdata psh com isso aqui ele vai olhar na raiz desse diretório e ele vai importar esse arquivo userdata.sdf ele vai executar
assim que o nosso servidor subir e como a gente quer fazer o Deploy da nossa aplicação a gente vai customizar esse arquivo aqui para poder instalar o docker baixar a nossa imagem docker e colocar ela para rodar então pra gente poder configurar esse arquivo Vamos colocar aqui sudu para poder rodar tudo como administrador a gente vai rodar um Yan update menos Y para ele poder atualizar os seus pacotes e a gente vai rodar um Yan install menos y docker dessa forma aqui ele vai também instalar o docker dentro desse nosso servidor depois de instalar o
docker a gente precisa inicializar então service docker start então agora depois que o docker tá instalado e ele subiu ali vamos dar uma permissão pro usuário da sc2 ter acesso ao docker porque quando a gente instala o docker tá lá na documentação dele quando você instala no Linux por exemplo que somente o root ele tem acesso então pra gente poder dar acesso também ao usuário da C2 a gente vai ter que utilizar aqui user mod - a- g a gente coloca aqui como docker e depois E2 user que é o nome ali do usuário Esse
comando aqui ele tá lá na documentação do docker basicamente a gente pega e segue para ele poder incluir esse usuário aqui beleza depois de fazer is tudo basicamente são comandos aqui de configuração não precisa gravar o que a gente vai precisar fazer agora é Rodar Aquela nossa imagem que a gente publicou no docker Hub Então vamos dar aqui um docker Run menos P para definir a porta vai ser a porta 80 do lado do servidor e a porta 8080 do lado do contêiner e aqui agora a gente coloca o nome da nossa imagem que seria
Bruno grana barra Public api 2. latest dessa forma aqui ele vai rodar Aquela nossa imagem e vai deixar escutando and na porta 80 Então se esse comando aqui tiver tudo certinho em tese quando a gente começar a rodar o nosso terraform ele já vai subir a nossa máquina então bora logo testar isso aqui vamos voltar para essas tarefas pra gente poder marcar que a gente já configurou o nosso script ali do Servidor e agora a gente vai fazer criação da infra pra gente poder fazer a criação da infra agora a gente vai conhecer de fato
aqui os comandos terraform o terraform ele tem um comando chamado terraform plan onde ele vai identificar o nosso arquivo main.tf e vai indicar aqui para gente que que ele detectou que a gente vai querer fazer e o que que ele vai criar então quando eu fiz isso aqui o terraform play ele já indicou para mim aqui um output bem grande então ele tá dizendo por exemplo que ele vai criar um novo aws instance com as seguintes configurações e ele começa a dar aqui pra gente todo o indicativo de detalhes ali que a gente vai ter
ao criar esse recurso Ele indica esse no After apply porque essas configurações ele só vai descobrir depois que a gente de fato criar esses recursos porque que ele já sabe o valor ele já vai indicar aqui pra gente por exemplo ami Ele já sabe que o valor vai ser esse então ele tá indicando que ele vai criar uma aws instance e ele também tá indicando que ele vai criar aqui um Security group então a gente consegue saber de fato o detalhe técnico do que que ele tá traduzindo do que que a gente escreveu no main.tf
e o que ele vai criar então o play aqui é basicamente pra gente saber o que que ele entendeu E o que que ele vai criar se você tiver de acordo eu vou rodar aqui um Clear e agora seria terra forme apply quando você fizer um terraform apply ele vai dar o mesmo indicativo de tipo ó eu vou criar esses recursos aqui então Ó o plano dele é criar dois recursos não vai modificar nenhum e ele também não vai destruir nenhum tudo que tiver com esse mais aqui é um indicativo de um recurso que ele
vai criar quando a gente for aqui experimentando a gente vai ver que quando ele vai fazer a deleção fica um vermelho e quando ele vai modificar fica um til assim em amarelo então vamos ver aqui pra gente ver se ele vai criar tudo certinho beleza aqui ele tá falando você tem certeza que você quer fazer essa ação a gente pode dar aqui um is e ele vai começar o processo de criar esses recursos então a gente já consegue ver aqui vialog que ele tava tentando criar um recurso e ele deu um problema então a gente
já consegue ver que caso dê algum problema no recurso vai ser basicamente essa imagem que ele vai retornar aqui pra gente a gente consegue analisar esse problema corrigir e depois a gente tenta aplicar novamente então basicamente que ele tá dando um problema no nosso Security group que ele tá além do Range ali de portas né disponíveis e isso aqui a gente precisa ajustar que o máximo ali é 5 é 65 5 3 5 Então dessa forma aqui agora a gente já tem o nosso Security group ajustado e agora quando a gente rodar a gente já
consegue ver aqui um resultado certinho então vou rodar aqui de novo o terraform apply e quando eu rodar isso aqui ele vai dar aquele indicativo de cara vou criar aquilo você tem certeza a gente a gente digita aqui um Yes e olha só ele já deu indicativo aqui pra gente Esse tio aqui que ele vai atualizar e esse cara aqui ele vai remover então é interessante a gente saber que ele vai mostrando pra gente de fato o que que ele vai fazer então vamos dar o Yes e deixar ele criar aqui tudo certinho então ele
fez a destruição do antigo que tinha dado problema e agora ele tá criando o novo Security group então ele já deu Aqui ó o indicativo que conseguiu fazer a criação e agora ele tá criando o nosso servidor Algo interessante pra gente acompanhar aqui é que enquanto ele tá rodando o terraform conforme a gente viu no início do vídeo ele tem um state file que é onde ele armazena tudo que ele tá fazendo então aqui dentro da raiz do seu projeto Ele criou esse arquivo terraform PF state esse arquivo TF state ele vai armazenar Todo o
estado ali de criação dos seus recursos então por exemplo aqui ele vai dar pra gente que esse arquivo já tá na versão qu que ele vai versionando e ele indica aqui os recursos que ele já tem criado então a gente consegue ver aqui ó que ele criou um Security group e ele já dá aqui o arn do Security group na WS todos os parâmetros que a gente definiu de ingress de egress e tudo mais se eu der um refresh aqui ó Reload from Disk a gente já consegue ver aqui que esse Arquivo ele foi atualizado
mais uma vez que o processo ainda tava rodando e agora ele já tem o indicativo aqui ó de uma criação de uma Instância aws então ele tá indicando aqui a nossa ami e aqui ele tá dando dando todo indicativo de todas as configurações do nosso servidor Então esse arquivo aqui do state file tu não precisa interpretar ele é bom você saber que existe para ele poder manter essa sincronia do que que ele já fez o que que ele não fez para ele poder saber que que ele faz então pra gente ter a certeza que o
comando finalizou Ó ele finalizou aqui como apply complete Ele criou todos os recursos E se a gente for agora na WS eu vou vir aqui ó no menu de ec2 então você pode pesquisar por ec2 depois que você ent você vem em instance aqui na esquerda e ele vai dar o indicativo ó que a nossa máquina ela já tá Running ela já tá subindo lá no ambiente certinho pra gente poder acessar essa máquina aqui publicamente você abre essa configuração aqui dela e basicamente aqui embaixo tem esse Public ipv4 DNS tu pode copiar e a gente
joga aqui no navegador quando você jogar Ele vai tentar acessar a porta 80 do seu servidor assim que você subir ele pode dar um pouquinho de demora até subir o seu docker lá dentro então ele pode dar algum erro você aguarda um pouquinho e depois disso você pode tentar acessar depois que você tentar por exemplo aqui já tá funcionando a gente já tá conseguindo ir lá na nossa máquina WS e chamar a nossa aplicação Spring boot e ela já tá retornando aqui tudo certinho então dessa forma aqui a gente já fez basicamente o Deploy da
nossa aplicação Java ali com Spring boot aqui é uma aplicação comum que ela só tá retornando aquele request date time mas se eu quisesse ter já uma aplicação aqui um pouco mais complexa Eu também já poderia então se você tá gostando desse vídeo aqui eu venho deixar um pedido para você deixa um like aqui embaixo se inscreva no canal e acompanha a gente lá pelas redes sociais para ficar por dentro de tudo que acontece aqui no canal Então vamos voltar para uma série de tarefas para poder marcar que a gente já fez a criação da
infra e a gente já testou a nossa ap aí agora pra gente chegar na parte final aqui do vídeo e conseguir fazer um acesso remoto ali dentro desse nosso servidor a gente vai configurar o nosso kir e depois todo esse controle ali pra gente poder acessar dentro da nossa máquina então quando a gente fala aqui do SSH a gente precisa ter um controle aqui de chave pública e privada que fica dentro do seu computador então você pode abrir aí o seu terminal pra gente poder gerar essas duas Chaves A pública e a privada e a
gente vai rodar o seguinte comando SSH traço Key gen Esse comando aqui ele vai gerar uma chave pública e privada pra gente poder acessar via SSH não precisa mudar nada aqui só dar enter enter e Enter depois que você fizer isso ele vai gerar uma chave por exemplo aqui dentro da sua par de usuários dentro dessa pasta pssh então ele vai gerar um ID RSA uma chave pública e uma chave privada Depois disso aqui você pode dar um Clear quer dizer que ele já fez a criação tudo certinho então a gente já configurou agora a
gente precisa amarrar essa nossa chave lá dentro do Servidor da WS pra gente poder fazer esse acesso remoto então pra gente poder configurar isso aqui vamos voltar aqui para dentro do nosso intellij e no main.tf a gente vai criar um novo recurso que é um Key pair basicamente ele já tá até aqui é esse aws kir e a gente pode colocar como kir esse kir é a chave que a gente vai utilizar para poder fazer o acesso via SSH ele vai pedir aqui o link pra nossa chave pública a gente pode referenciar a chave que
a gente acabou de criar então eu vou colocar aqui file e eu vou indicar a pasta que ele acabou de criar com o arquivo da nossa chave pública então pra gente saber qual é a sua chave pública você pode vir aqui por exemplo na sua pasta de usuários dentro da pasta SSH depois que você entrar aqui dentro a gente tem ó essa chave pública que é esse ID rsa.pub você pode copiar o link aqui até essa pasta Ou se você quiser Como sempre fica dentro da pasta de usuário então aqui a gente coloca o ti
para poder indicar aqui a partir da pasta do nosso usuário depois a gente a gente pode colocar pon sshg e a gente vai colocar o nome daquele arquivo então basicamente aqui esse ID rsa.pub Então esse apptivo aqui a gente já tá indicando Qual é a nossa chave pública aqui você pode colocar por exemplo um keyn para essa chave Vou colocar aqui terraform keer e beleza aqui a gente já tem a nossa chave pública ali definida Agora eu preciso amarrar esse keyp dentro da nossa ec2 então aqui dentro a gente vai ter mais um campo chamado
keyn que eu vou colocar o awsp keyp keyn Então dessa forma eu tô vinculando essa chave de SSH que a gente criou aqui em cima com a nossa Instância ali do ec2 Beleza depois da gente fazer isso aqui antes da gente já Executar a gente precisa liberar o acesso à porta sshg a porta sshg é a porta 22 então eu vou copiar esse ingress aqui eu vou criar mais um indicando aqui para liberar o acesso na porta 22 depois que você fizer isso a gente pode vir aqui no nosso terminal e a gente executa terraform
apply o interessante caso você queira acompanhar é você ver esses dois arquivos o TF state e o backup o backup sempre costuma ser o arquivo anterior ao state atual então por exemplo no nosso state atual a gente não vai ter nada aqui de ke Pair e quando a gente rodar Esse comando aqui terraform apply a gente vai ver que esse arquivo ele vai ser modificado porque o terraform ele vai mantendo a sincronia de todos os recursos que a gente cria e os recursos que a gente apaga então por exemplo aqui ele já indicou no nosso
plano né que ele vai fazer criação de dois recursos ele vai modificar um e ele vai fazer a destruição de um Então antes de a gente apertar aqui o is é sempre interessante você olhar se realmente ele tem que fazer o que ele tá sugerindo aqui então por exemplo aqui ele tá indicando que vai modificar o nosso Security group para poder adicionar o acesso à porta 22 e é exatamente isso que ele tem que fazer que é a porta ali do SSH mas aqui em cima ele vai criar um Key Pair dentro da WS pra
gente então esse indicativo do verdinho aqui do mais eh recursos que ele vai criar e aqui em cima a gente consegue ver que a nossa Instância Ele tá dizendo que ele vai substituir então ele vai deletar a nossa Instância e ele vai criar uma nova então é interessante a gente saber que isso aqui também vai acontecer como para mim tá tudo certo eu vou apertar lá no final Yes e a gente pode acompanhar aqui via logs que que ele vai fazer aqui a gente já consegue ver que ele tá fazendo a destruição do Servidor pra
gente acompanhar a gente pode vir aqui na WS e dar um refresh a gente vai conseguir ver ó que a nossa máquina que tava rodando agora ela tá shutting Down ou seja o terraform tá derrubando essa máquina para poder fazer as alterações e depois subir uma máquina nova e basicamente o que a gente precisou fazer foi alterar e executar aquele comando do terraform apply Então vamos voltar aqui para ver como é que tá esse log ó ele indicou aqui que já destruiu ele já criou aqui o nosso keir e agora ele tá criando o nosso
servidor pra gente sempre acompanhar se o que ele tá fazendo Tá certinho a gente poderia ir na WS e aqui na esquerda tem a opção de keer agora a gente já tem aqui ó o terraform keir que foi o que a gente criou agora a pouco então criado aqui no momento que eu tô gravando esse vídeo tá tudo certinho se eu vi aqui em Security group Eu também já consigo ver o grupo que ele tá criando né que é aquele que foi a gente colocou a descrição e aqui a gente consegue ver ó em Bound
rules ele já Dá permissão ó para SSH e http na porta 22 que a gente modificou agora e a porta 80 e deixando sair aqui para qualquer lugar então o terraf conforme tá fazendo tudo certinho vamos voltar lá pra nossa Instância parece que ele já tá finalizando vamos ver lá o log beleza deu tudo certo ele conseguiu Criar finalizou o seu processo todo redondinho Então o que a gente pode fazer aqui é apertar dentro dessa nossa máquina copiar esse pv4 novo aqui que ele criou e tentar acessar novamente essa api como a máquina acabou de
subir é aquilo que eu comentei ela pode demorar para dar retorno aqui mas aguarda um pouquinho tem um pouco de paciência e assim que ele finalizar daquele processo daquele script né que a gente definiu em tés Isso aqui vai funcionar Então beleza eu dei um refresh aqui e basicamente funcionou foi momentos ali depois foi bem rapidinho então beleza com a máquina de pé aqui o que que a gente precisa fazer vamos voltar para estas tarefas a gente ó já criou o Kiper a gente já permitiu o acesso no servidor né via SSH a gente já
fez a atualização da infra e agora a gente precisa testar o acesso remoto testar AP a gente já fez para testar o acesso remoto a gente pode executar o comando aqui SSH ec2 traço user que é o usuário padrão ali da ec2 e aqui a gente coloca o ipv4 público ali do nosso servidor é aquele mesmo que a gente jogou no navegador eu vou colocar ele aqui se eu der enter ele já vai me dar o indicativo aqui do ssg eu posso apertar is e a partir desse momento eu já tô conectado dentro daquele servidor
remotamente então tudo que tá aparecendo aqui já é dentro do servidor de forma remota então se eu der um docker PS por por exemplo ele já tá indicando aqui que tá rodando Aquela nossa api lá dentro já tá rodando há mais de um minuto e se eu quisesse eu poderia pegar aqui a imagem desse contêiner verificar o log né através de docker logs Então cara a gente já tá com a máquina lá dentro da WS a gente já tá com a p exposta e a gente também já consegue entrar remotamente utilizando aqui o sshh para
poder fazer qualquer tipo de manutenção subir um outro contêiner por exemplo Ah eu quero subir um banco de dados aqui para poder testar então a gente já tem aqui um processo Deploy todo bem redondinho Então vamos voltar para nossas tarefas para poder marcar que a gente já conseguiu fazer o teste da api do acesso remoto e agora pra gente não deixar gerando custos ali a nossa conta WS a gente pode fazer a destruição de toda essa infra que a gente fez aqui nesse vídeo então para poder fazer a destruição dessa infra deixa eu dar um
Exit aqui para poder sair né dentro dessa máquina remota eu vou dar um Clear pra gente poder fazer destruição a gente pode executar o seguinte comando aqui no terminal terra destroi e ele vai fazer a destruição de tudo que a gente já criou dentro da WS através ali do nosso arquivo terraform então ele dá um refreshing state ali para poder identificar se teve alguma modificação se não teve ele já dá indicação aqui do nosso plano ele vai fazer destruição de três recursos que é o keir o Security group e o nosso servidor eu tô Ok
com isso eu vou dar um Yes aqui e ele vai começar todo um processo de destruir essa infra pra gente não ficar com nenhum custo ali isso tudo aqui ele tá fazendo automaticamente Então vamos acompanhar os logs aqui quando ele acabar a destruição né Aí eu volto Beleza o Destroy acabou aqui foi tudo certinho Ele conseguiu realmente eliminar tudo que tinha lá na WS se a gente ver aqui no nosso terminal a gente já consegue ver que a máquina que a gente estava rodando ela agora não tá mais ela foi terminada se a gente ver
aqui em keer a gente consegue ver também que o que existia aqui não existe mais em Security group aquele que a gente também tinha visto se eu dei um refresh aqui ele também não existe então terraform ele ajuda muito a gente aqui a poder fazer essa criação de recursos deleção toda essa manutenção e isso tudo aqui fica dentro do nosso código então o terraform ele tá sendo muito utilizado por grandes empresas porque realmente criar recurso manualmente não funciona mais a gente precisa realmente utilizar aqui a infraestrutura como código para ter diversos ganhos ali diversos benefícios
Então é isso vamos voltar para série de tarefas para poder marcar que a gente fechou aqui a limpeza do nosso ambiente e o nosso vídeo de hoje ele foi concluído eu queria saber o que que você achou desse vídeo Se você realmente curtiu coloca aqui embaixo o que que a gente pode trazer pros nossos próximos vídeos fazer conteúdo assim dá trabalho então se você puder Compartilhar esse vídeo aqui com diversas pessoas que precisam conhecer que mais sobre terraform sobre infraestrutura como um todo e até mesmo sobre projeto Java então se você quiser apoiar ainda mais
o nosso canal eu venho deixar aqui um convite para você fazer parte do build and Run Club O build Run Club é um grupo exclusivo que a gente tem no WhatsApp onde a gente troca ali vagas a gente tem um contato mais direto para poder tirar dúvidas e a gente consegue Construir ali um Network muito bom com outros envolvedoras que também já estão aqui dentro do Club Então é uma mensalidade mínima ali que você vai pagar basicamente Para apoiar a gente aqui e vai ter acesso a diversos benefícios Com certeza os benefícios eles passam ali
do valor da mensalidade que é algo bem baixinho então se você quiser acompanhar e fazer parte do B Club eu vou deixar um QR Code aqui na tela e um link aqui embaixo para você fazer parte então era isso que eu quera trazer pro vídeo de hoje eu espero de verdade que você tenha gostado Então coloca aqui embaixo o que que você quer que a gente traga pro nosso próximo vídeo ou uma sugestão de melhoria para esse vídeo atual e eu fico por aqui Um grande abraço e até a próxima