Curso de Terraform do zero ao herói! Treinamento de Terraform para iniciantes (aprenda Terraform em 2 horas!) | Marek Obuchowski | Skillshare
Pesquisar

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Curso de Terraform do zero ao herói! Treinamento de Terraform para iniciantes (aprenda Terraform em 2 horas!)

teacher avatar Marek Obuchowski, DevOps and Cloud Engineer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      2:18

    • 2.

      O que é Terraform e IaC (Infraestrutura como Código)

      6:59

    • 3.

      Processo de instalação do Terraform no Linux e Mac

      3:02

    • 4.

      Processo de instalação do Terraform no Windows

      2:59

    • 5.

      Crie infraestrutura... mas onde?

      1:26

    • 6.

      Crie uma conta da AWS e faça login como usuário root

      6:49

    • 7.

      Adicionar MFA (autenticação multifator) para usuário root

      1:58

    • 8.

      Crie o orçamento da AWS

      5:11

    • 9.

      Crie um usuário do AWS IAM e um grupo de usuários do IAM

      6:31

    • 10.

      Instalação da AWS CLI e configuração de chaves de acesso à API

      8:01

    • 11.

      Nível gratuito do AWS, chaves SSH e configuração 'manual' do servidor EC2

      11:07

    • 12.

      Processo de instalação do VSCode

      3:06

    • 13.

      Instalação da extensão VSCode

      1:38

    • 14.

      Criando espaço de trabalho e processo de configuração de provedor de terraforma

      4:20

    • 15.

      Arquivo de bloqueio do Terraform

      1:51

    • 16.

      Crie o primeiro servidor usando o Terraform

      4:35

    • 17.

      Planejamento do Terraform e aplicação de comandos

      4:21

    • 18.

      Comando de destruição do Terraform

      2:45

    • 19.

      Crie uma VPC da AWS com o Terraform

      7:26

    • 20.

      Crie uma subrede e uma árvore de dependência do Terraform

      6:31

    • 21.

      Crie servidor, sub-rede e VPC e mais sobre dependências

      7:01

    • 22.

      Arquivo Terraform tfstate

      9:37

    • 23.

      Variáveis

      4:50

    • 24.

      arquivo tfvars explicado

      3:18

    • 25.

      Crie 100 servidores com o meta-argumento 'count'

      7:20

    • 26.

      Como usar o Terraform com o GCP, Azure e outros provedores

      3:22

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

6

Estudantes

--

Projeto

Sobre este curso

Bem-vindo ao curso Terraform Zero to Hero!

Neste treinamento do Terraform para iniciantes, vamos aprender como implantar infraestrutura usando o Terraform.

Este tutorial do Terraform vai ajudar você a entender os fundamentos do Terraform e sua arquitetura.

Você também vai aprender HCL - Linguagem de Configuração da HashiCorp e muitos outros tópicos em apenas 2 horas!

Você vai aprender tudo o que precisa para começar a trabalhar com o Terraform, por exemplo:

  • O que é Terraform e IaC (Infraestrutura como Código)

  • Qual é o processo de instalação do Terraform no Linux e Mac

  • Instalação do Terraform no Windows

  • Onde você pode criar infraestrutura? Como usar IaC - Infraestrutura como Código?

  • Como criar uma conta da AWS e fazer login como usuário root

  • Instalação da AWS CLI e configuração de chaves de acesso à API

  • Nível gratuito do AWS, chaves SSH e configuração 'manual' do servidor EC2

  • Instalação do VSCode

  • Instalação da extensão VSCode Terraform

  • Como criar espaço de trabalho e configurar o provedor de terraforma

  • Arquivo de init e bloqueio do Terraform explicado

  • Crie o primeiro servidor usando terraform

  • plano de terraforma e aplicação de comandos de terraforma

  • comando de destruição terraform

  • Crie uma AWS VPC usando o Terraform

  • Como adicionar dependência de sub-rede e terraforma explicada

  • Crie servidor, vpc e sub-rede e mais sobre dependência

  • Arquivo Terraform tfstate

  • Variáveis de terraforma

  • Arquivo Terraform tfvars explicado

  • Como criar 100 servidores ou outros recursos com o meta-argumento 'count'

  • Como usar o Terraform com o GCP, Azure ou outros provedores

VAMOS COMEÇAR!

Conheça seu professor

Teacher Profile Image

Marek Obuchowski

DevOps and Cloud Engineer

Professor
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Apresentação: Oi, todo mundo. Meu nome é Mariko Bukowski e trabalho em TI há muitos anos Recentemente, concentrei-me em funções como engenheira de DevOps e nuvem e trabalho principalmente com AWS, bancos de dados e servidores Linux Eu também trabalho com o Terraform diariamente, então decidi compartilhar meu conhecimento com você hoje O Terraform pertence a uma categoria de ferramentas conhecida como infraestrutura como código Aprenderemos tudo sobre isso nesta aula. Se você não tem ideia do que é terraform, não se preocupe, você está no lugar certo Primeiro, veremos como instalar o Terraform, como configurá-lo e, em seguida, como usá-lo Ao final desta aula, você terá todo o conhecimento necessário para começar a criar infraestrutura usando o Terraform e também aprenderá mais sobre a nuvem da AWS e a linguagem de configuração da HashiCorp Essa é uma linguagem de programação usada no Terraform. Acredite em mim, essa é uma habilidade muito valiosa. Você pode adicionar essa habilidade ao seu currículo ao se candidatar a cargos de TI, por exemplo. Também queria acrescentar que, bem, tudo isso pode parecer confuso Acredite em mim, que nenhuma experiência anterior é necessária para começar esta aula. Só uma coisa a ressaltar: talvez, durante a aula, trabalhemos com a nuvem da AWS. Mostrarei como criar sua própria conta da AWS e como usar o terraform com a AWS, mas essa etapa é opcional É sua escolha se você deseja criar essa conta da AWS ou simplesmente assistir a essa parte. É opcional porque também mostrarei como trabalhar com outros provedores de infraestrutura. É por isso que não é necessário criar sua própria conta da AWS. Quero dizer, se você não quiser fazer isso , está tudo bem. Na verdade, como parte de um projeto, você escreverá seu próprio código do Terraform implantar automaticamente a infraestrutura em um provedor de infraestrutura de sua escolha Observe também que, se você quiser aprender mais sobre DevOps e tópicos específicos da nuvem, visite nossa plataforma Automation Avenue, onde poderá explorar mais sobre a nuvem da AWS, a programação em Python , o Terraform, o Linux, Docker e Mas acho que isso é suficiente para a introdução, pois você provavelmente mal pode esperar para começar. Nos vemos em nossa primeira aula. 2. O que é Terraform e IaC (Infraestrutura como Código): Vamos começar com o que o terraform realmente é, como ele pode nos ajudar e quais problemas ele resolve Como eu disse, o Terraform é uma infraestrutura como ferramenta de código. Isso significa que podemos criar e manter nossa infraestrutura na forma de um código. Isso significa que eu posso escrever uma parte de um código e esse código criará um pouco da infraestrutura para mim. Essa parte da infraestrutura pode ser, por exemplo, um único servidor na nuvem da AWS. Pode ser talvez um servidor virtual no meu Px Mx. Talvez seja um balanceador de carga na nuvem ou também um código complexo que criará toda a infraestrutura de produção que pode incluir centenas de servidores Portanto, independentemente do que eu queira construir, ainda posso usar o terraform para todos esses propósitos. O Terraform tem uma ampla gama de aplicações. É mais comumente usado em soluções em nuvem, como AWS, GPC, Azure, Digital Ocean e outras, mas pode funcionar com praticamente qualquer coisa que você possa imaginar Se você verificar, talvez eu abra o navegador e vamos procurar fornecedores de terraform Vou escolher o primeiro link na parte superior, procurar provedores, e você verá aqui um número infinito dos chamados provedores. Você pode ver a plataforma AWS, Kubernets Azure e Google Cloud Eles estão no topo porque são os lugares mais populares onde você trabalharia com o Terraform Mas se você rolar para baixo, dê uma olhada. Esta é apenas a primeira página. Verifique esses fornecedores parceiros. Esta é apenas a letra A. Dê uma olhada, temos 95 páginas de fornecedores parceiros. Então, agora, digamos que eu queira trabalhar com o Proxmx, talvez, sim. Temos o Alibaba Cloud bloqueado. Eu nem sabia que algo assim existia Não importa. Proxmox, sim, talvez eu queira trabalhar Eu posso pesquisar aqui por Proxmox e você verá que não há um, mas podemos ver todos Muitos e muitos fornecedores apenas para o Proxmox. Qualquer um desses provedores me permitirá trabalhar com meu servidor Proxmax. Mas deixe-me voltar. Quais são, afinal, esses fornecedores? Portanto, esse provedor é como uma ponte que me permite usar o Terraform com esse produto específico Por exemplo, se eu quiser que o Terraform funcione com a AWS, precisarei incluir esse provedor da AWS em meu código e, em seguida, o Terraform baixará todas as ferramentas necessárias, faremos mágica em segundo plano, instalaremos tudo o que é necessário para funcionar com a nuvem da AWS E neste curso, usaremos o Terraform para implantar infraestrutura na nuvem da AWS Isso não significa que esse curso seja de alguma forma específico da AWS. Este é um curso de terraform, não de AWS, e no final deste treinamento, você poderá trabalhar com todos esses provedores porque aprenderemos conceitos de terraform que podem ser aplicados a qualquer provedor com o qual você queira trabalhar Não pense que você precisará outro treinamento em terraform se quiser trabalhar com, por exemplo, Azure ou DCP ou qualquer O fato de trabalharmos com a AWS hoje não faz sentido porque as mesmas regras se aplicam a qualquer provedor que você quiser Você simplesmente poderá trabalhar com todos eles. Eu só escolhi a AWS porque a AWS é o provedor de nuvem mais popular e o Terraform é a infraestrutura mais popular como ferramenta de código Acho que é uma combinação perfeita. Mas agora, o que realmente significa programar a infraestrutura ou ter a infraestrutura como código? Significa simplesmente que, em vez de clicar manualmente em alguns ícones no console da AWS para criar algo na nuvem, podemos fazer tudo no Terraform e mantê-lo na forma de um código Porque o Terraform é como uma linguagem de programação. Você pode escrever esse programa, esse código no Terraform usando uma linguagem de programação chamada linguagem HCL HashiCorp Depois de concluir o programa, você pode executá-lo e ele implantará todos os recursos para você. Alguém pode perguntar, Mark, mas eu posso construir essa infraestrutura manualmente. Eu posso criá-lo diretamente, por exemplo, na AWS clicando em alguns ícones e preenchendo os campos obrigatórios. Por que eu deveria aprender sobre algo como o Terraform. Criar infraestrutura manualmente na nuvem é realmente possível. No entanto, tem muitos inconvenientes. O maior problema com essa abordagem manual é que, quando alguém cria essa infraestrutura manualmente, por exemplo, eu crio um servidor e, no dia seguinte, alguém completamente diferente começa a mexer nesse servidor e a fazer alterações nele Agora, o problema é que não sabemos quem o mudou e o que foi alterado porque não temos a capacidade de rastrear todas essas mudanças. Por exemplo, digamos que eu criei esse servidor na nuvem com um disco de 500 giga Um pouco mais tarde, houve um problema com espaço em disco e alguém o aumentou para 700 giga O problema agora é que, se algo acontecer esse servidor e eu tiver que reconstruí-lo com base talvez, não sei, em algumas notas pessoais, eu o reconstruirei novamente com um disco de 500 giga, eu o reconstruirei novamente com porque talvez eu nem saiba do fato de que alguém aumentou espaço em disco para 700 giga nesse Portanto, não temos nenhum vestígio de quem, onde e o que foi modificado Seria muito difícil manter todas essas informações em um só lugar usando apenas alguns nós. No entanto, se tivermos essa infraestrutura na forma de um programa , podemos programar ou codificar essas informações para que todos saibam que o disco nesse servidor específico deve ter 700 giga Se eles precisarem aumentá-lo ainda mais, eles mudarão esse valor nesse código. E eles compartilharão esse trecho de código com toda a equipe. Então, todo mundo estará ciente disso. E se eu precisar reconstruir esse servidor, não clicarei em nenhum botão na AWS Vou implantar esse servidor usando o Terraform usando o mesmo arquivo em que esses 700 ou qualquer tamanho atual deveriam estar Esse tamanho está programado, está codificado no meu código de terraform Então, eu nem preciso pensar em qual disco, qual tipo de instância, qual endereço IP atribuir e assim por diante, porque eu já tenho tudo claramente apresentado na forma de um código. Posso fazer o upload desse código para repositório remoto como o GitLab Minha equipe pode extrair esse código desse repositório remoto sempre que quiser trabalhar com esse servidor ou se quiser fazer alguma alteração nele Mas esse é apenas um exemplo. Na realidade, manter toda a nossa infraestrutura na forma de um programa tem muitas outras vantagens. Por exemplo, será muito fácil criar, digamos, duas cópias exatamente da mesma infraestrutura. Se eu precisar de um para fins de teste e outro para o ambiente de produção, posso simplesmente executar todo o código em, digamos, uma conta da AWS completamente diferente e a infraestrutura criada terá exatamente a mesma aparência nas duas contas. 3. Processo de instalação do Terraform no Linux e Mac: Para trabalhar com o Terraform, precisamos instalá-lo primeiro, sim Mostrarei como instalá-lo em máquinas macOS, Linux e Windows Vamos começar com o Linux, talvez porque, tanto no Linux quanto no macOS, a instalação já seja trivial e o processo para ambos seja muito semelhante Então, no meu Linux, deixe-me minimizar. Então, no meu Linux, isso é o Ubuntu. Deixe-me abrir o terminal e primeiro digitarei a versão do Terraform dash dash Como você pode ver, o comando de saída terraform não foi encontrado, mas pode ser instalado com o pseudo Snap Isso é verdade. Você pode simplesmente executar esse comando e concluir o trabalho. Mas eu não sou o maior fã dos pacotes Snap , então deixe-me mostrar outra maneira de fazer isso Vamos abrir o navegador novamente e procurarei por terraform dot IO Então isso é terraform dot IO, e vou clicar no botão de download E você verá não apenas o macOS Windows e Linux, mas também o BSD gratuito, o Open BSD, o Solaris, etc Mas estou interessado no Linux agora e todo Linux pode ter gerenciadores de pacotes diferentes, você precisa escolher sua versão do Linux, seja qual for sua distribuição, sim. Por exemplo, para mim, é o Ubuntu Debian. Eu posso simplesmente clicar nesse pequeno ícone aqui. Ele copiará tudo para mim. Agora, copie todos esses comandos. Então, deixe-me voltar ao terminal, e eu acabei de colocá-lo. É isso mesmo. Agora clique em Enter. Agora, aqui você pode esperar um pouco. Algumas coisas precisam ser baixadas em segundo plano, então isso dependerá da velocidade da sua Internet. Agora ele pede uma pseudo-senha, então deixe-me fornecê-la, e agora ele concluirá o processo Isso está feito, o que significa que se eu usar seta para cima e executar esse comando novamente, versão Terraform D, agora eu deveria, vamos ver. Isso é o que eu estava procurando. Agora ele me mostra a versão do terraform, que significa que o terraform foi instalado com sucesso Mas, na verdade, se voltarmos para o terraform IO, também podemos usar a versão macOS Se usarmos os sistemas operacionais MacOS, podemos ver que podemos instalar Terraform usando o gerenciador de pacotes Brew Na verdade, se eu for até mesmo para o Linux, você pode ver que o Homebrew também está aqui Se eu clicar nisso, basicamente recebo as mesmas informações. Se eu for para o Linux Homebrew ou se eu escolher o sistema operacional macOS. Mais uma vez, eu posso copiar isso. Agora posso me deixar abrir meu terminal Mac. Essa é uma máquina diferente. Este é meu Mac, mas eu deveria ser capaz de simplesmente colá-lo aqui. Sim, estou apenas clicando. Branco. Também pode demorar um pouco. Está fazendo algo em segundo plano. Atualização automática do Homebrew. Agora ele baixa o que precisa baixar, agora ele deve ser concluído. Se eu correr até aqui, talvez me deixe esclarecer isso. Se eu executar a versão Terraform, também terei a versão terraform Isso significa que o terraform está instalado corretamente. No entanto, para o Windows, a história é um pouco diferente e eu teria que pular para outra máquina virtual em que eu tenha o Windows instalado, deixe-me fazer isso. 4. Processo de instalação do Terraform no Windows: Ok, agora estou na minha máquina Windows, então vou abrir o Firefox e digitar terraform dot IO na Pesquisa do Google Vou para Downloads e depois para a guia Windows. Nessa guia do Windows, quero que a versão 64 desse programa seja baixada. Então eu apenas clico aqui. Inicia o download e, agora, se eu mostrar na pasta, podemos ver que é um arquivo compactado. É um arquivo compactado Então, podemos clicar nele e dizer extrair tudo para descompactá-los. Clique em Extrair. Agora, se voltarmos aos downloads, você poderá ver a versão compactada e a versão não compactada Se eu abrir isso, posso ver um arquivo. É chamado de Terraform e não é o instalador. É um arquivo dot exe, o que significa que não há nada para instalar. Clicar neste arquivo será executado significa que eu simplesmente executarei o Terraform clicando nesse arquivo Eu clico em Exibir e nas extensões do nome do arquivo, você pode ver que é o arquivo executável terraform dot Sim. Mas trabalhe facilmente com esse arquivo a partir da interface da linha de comando, sugiro que façamos mais uma coisa. Vamos primeiro copiar esse arquivo em algum lugar neste C. Deixe-me copiá-lo. Agora posso fechar de perto. Vamos fechar tudo. Vou para C e talvez você queira colá-lo em algum lugar nos arquivos do programa, mas para mostrar claramente o que estamos fazendo aqui, talvez eu crie uma nova pasta aqui. Vou criar uma nova pasta e vou chamá-la de terraform. E no terraform, terei esse arquivo terraform dot A. Meu caminho para esse arquivo é C, barra invertida terraform, barra invertida Terraform XA Agora, uma vez que temos esse arquivo nesse local, nós o chamamos de Path. É C, barra invertida Terraform, terraforma de barra invertida A. Essa terraforma C é nosso caminho para esse arquivo Talvez me deixe copiar esse caminho C terraform. Vou apenas copiar isso. Minimizarei essa janela e procurarei variáveis de ambiente. Podemos ver a melhor combinação, editar as variáveis de ambiente do sistema no painel de controle. É disso que eu preciso. É isso mesmo. E agora eu clico nas Variáveis de Ambiente. Aqui eu preciso dessa variável de caminho e clico em Editar. E podemos ver que já temos um, mas eu quero adicionar outro. Eu digo novo e vou colar o que copiei, que era aquela terraforma de barra invertida da coluna C. E eles dizem: Ok, então eu posso clicar em OK aqui e OK ali, porque isso é tudo que eu quero adicionar. Isso significa que agora, se eu abrir o terminal, talvez eu abra o PowerShell Windows PowerShell, e se eu executar a versão terraform dash dash, posso ver que tenho o terraform instalado porque ele me mostra a versão do terraform, e isso porque nosso sistema Windows sabe onde encontrar o arquivo, o terraform porque acabamos de adicioná-lo ao ambiente Path, e isso é tudo o que é para o e isso é tudo o que Você pode começar a trabalhar com o terraform no Windows a partir de agora 5. Crie infraestrutura... mas onde?: Agora temos o terraform instalado e estamos prontos para começar a criar a infraestrutura como um código Mas onde podemos criar essa infraestrutura. Como mencionei anteriormente, vamos criar essa infraestrutura na nuvem da AWS, mas qualquer recurso ou local que tenha um provedor de terraform funcionará para nós Vou me concentrar na nuvem da AWS porque ela é a provedora de nuvem mais popular do mundo, então faz todo o sentido trabalhar com essa nuvem. se você quiser seguir e praticar entanto, se você quiser seguir e praticar todas as etapas mostradas neste treinamento, significa que você precisa configurar sua própria conta da AWS e começar a implantar sua infraestrutura lá Nas próximas seções, faremos exatamente isso. Analisaremos a criação e a configuração do processo de conta da AWS criação e a configuração do processo de conta e veremos como podemos conectar nosso Terraform local à nuvem remota da AWS, à conta da AWS que vamos criar Se você já tem uma conta da AWS, ou talvez queira usar Terraform com um provedor completamente diferente, talvez queira pular alguns dos vídeos iniciais aqui em que criamos essa conta da AWS E comece com aquele em que configuramos usuários e grupos da AWS, porque isso deve lhe dar uma ideia clara de como você pode usar essas informações com qualquer provedor escolhido. Espero que isso faça sentido. Em seguida, vamos começar a criar e preparar nossa conta da AWS. 6. Crie uma conta da AWS e faça login como usuário root: Este é um novo sistema operacional sem absolutamente nada configurado, e criaremos aqui uma nova conta da AWS. Então, deixe-me abrir o navegador e navegaremos para algo como AWS de três níveis. E o que realmente é o Free Tier , falaremos sobre isso mais tarde. Mas agora, deixe-me explicar em breve. É simplesmente uma oferta da AWS que permite que você use muitos e muitos recursos por um ano gratuitamente. Ao criar uma nova conta, você pode usar esses serviços gratuitamente por um ano. Mas falaremos sobre isso mais tarde, quando realmente criarmos recursos. Agora estamos criando a conta em si. Como você pode ver aqui, eu criei uma conta da AWS. Vamos clicar nele porque é nisso que estamos interessados. Clicando aqui, ele me leva para aquela página da web com botão de criar conta gratuita. Vamos clicar nisso. E talvez vamos aceitar esses cookies. Agora, o que eu preciso é de um endereço de e-mail. Pode ser qualquer endereço de e-mail usado ou de sua propriedade, você só precisa ter certeza de que pode acessar esse e-mail durante o processo de inscrição Vou usar apenas o gmail.com. Essa é uma parte importante. O que está abaixo é apenas um alias para sua conta Pode ser o que você quiser Chama-se Automation Avenue. Mas isso não é tão importante, na verdade. O e-mail é importante aqui. Eu clico em Verificar endereço de e-mail e agora vou ter que esperar o e-mail chegar. Ah, como você provavelmente poderia estar aqui, o e-mail acabou de chegar e eu recebi um código de verificação, então preciso digitá-lo aqui e clicar em Verificar. Ok. Agora temos que criar a senha para o usuário root. Falaremos um pouco mais tarde sobre quem é realmente o usuário root, mas agora vamos criar uma senha. Como você pode ver, ele deve incluir letras maiúsculas, minúsculas, números e Apenas certifique-se de ter tudo isso. Mesmo quando eu começo a digitar, digamos letra maiúscula, como você pode ver, a primeira caixa está marcada, letra minúscula, agora dígito e agora Como você pode ver, todas essas caixas estão marcadas, minha senha é boa o suficiente para elas. Agora eu tenho que repetir isso. E é isso. Nós podemos continuar. Só queria observar aqui à esquerda que você tem um link se quiser explorar esses produtos de três níveis. Esse é o link que você pode usar. Mas não importa, neste estágio, vamos nos concentrar apenas no processo de inscrição Vou clicar em Continuar. Vou salvar a senha. Agora ele me pede informações de contato. Ele me pergunta se é uma conta comercial ou uma conta pessoal. Vou tratá-la como uma conta pessoal. De qualquer forma, se for um negócio, ele também solicitará o nome da organização. Vamos clicar em pessoal e meu nome é. Você tem que dar a eles nome, endereço e o número de telefone. E você concorda que leu o contrato com o cliente. Portanto, podemos ir mais longe para a etapa dois. Agora, ele solicita informações de cobrança. É por isso que você precisa fornecer o número do seu cartão de crédito ou débito, porque, como eu disse , existem alguns serviços gratuitos que você pode usar , mas, ao se inscrever, você pode usar todos os serviços, os gratuitos e os pelos , você pode usar todos os serviços , mas, ao se inscrever, você pode usar todos os serviços, os gratuitos e quais você precisa pagar É por isso que você precisa colocar os detalhes do cartão de crédito. Mas em vídeos posteriores, mostrarei como criar um orçamento. Esse orçamento informará se você realmente começou a usar alguns serviços pelos quais precisa pagar. Por enquanto, temos que inserir essas informações para podermos progredir. Esse é o cartão de crédito, e podemos ir mais longe. Ao usar meu cartão Revolut, preciso confirmar que, no aplicativo bancário, clico em Confirmar e isso autoriza essa etapa Agora ele me pede um número de telefone para usar para confirmar a identidade. Vou usar o mesmo que usei anteriormente na página anterior. Agora, a captura. Legal, eu entendi bem. Se estiver completamente bagunçado, você também pode sempre atualizá-lo Sabe, vou gerar um novo porque alguns deles são gerados de uma forma tão estranha que você mal consegue ver o que está lá Ok, agora vamos aguardar o código de verificação enviado para o meu número de telefone. E como você pode ouvir , acabou de chegar. E podemos continuar com a etapa número quatro. Aqui, ele me pergunta novamente de que tipo de conta eu realmente preciso. Então, vamos, obviamente, com o gratuito e queremos pagar $29 por mês ou 100 O gratuito é mais do que realmente precisamos, e pronto. Clicamos em Concluir, cadastre-se. Como você pode ver, foi um processo rápido e fácil e diz: Ah. Quando você chega aqui, a AWS diz que estamos ativando sua conta, mas acredito que ela acabou de ser ativada Então, sim, recebi o e-mail , dizendo que eu posso começar a usar minha conta. Então, eu posso clicar nesse botão ou naquele botão, realmente não importa. Vamos clicar nesse. Acesse o AWS Management Console. E agora ele me pergunta se eu quero entrar como usuário root ou usuário de IM. Na verdade, só temos root neste estágio, mas mostrarei mais tarde nos próximos vídeos como criar o IMuser também Então, por enquanto, como não há escolha, só temos usuário root. Colocaremos o endereço de e-mail que usamos para o processo de inscrição Para mim, foi o gmail.com. Clicaremos em Avançar e na senha, aquela que você acabou de criar também para esse usuário. E faça login. Nada mal. Já estamos em nosso console da AWS. Isso é chamado de console da AWS, onde podemos fazer tudo em relação a essa conta ou nossos recursos. O que eu quero te mostrar é que está aqui que diz Automation Avenue. Lembre-se de que esse é o alias que, na verdade, colamos durante o processo de inscrição Então, em vez de um dígito longo e estranho, avenida de automação será usada aqui Para você, pode ser o nome que quiser para essa conta, nós. A próxima coisa é que podemos ver stockkhm. Bem, nós escolhemos. Não sei por que, mas isso é o que chamamos de região da AWS. É aqui que você deseja criar seus recursos. Então, como você pode ver, você pode criá-lo em todo o mundo. Deixe-me mudar para Londres, porque é o mais próximo para mim. Mas também falaremos sobre isso mais tarde. Então não se preocupe com isso agora. O que eu quero que você faça é ativar a autenticação multifatorial para o usuário root Isso é muito importante. Essa conta precisa ser muito segura. 7. Adicionar MFA (autenticação multifator) para usuário root: O que você pode fazer aqui neste campo de pesquisa, você pode colocar IM IAM. Clicaremos nele e você verá que até mesmo na própria Amazon, há uma recomendação de segurança adicionar MFA para usuário root Para ser quase todo usuário que você cria deve ter o MFA habilitado, na minha opinião, mas o root é definitivamente aquele para o qual você precisa criar a autenticação de MFA Podemos adicionar o MFA aqui, clicando neste botão. E agora temos a opção do que queremos usar como segundo método de autenticação separado. A maneira mais fácil, eu acho, é o aplicativo autenticador, que é escolhido por padrão de qualquer maneira Você pode ligar, por exemplo, para mim, será meu telefone Samsung. Eu posso usar isso porque realmente não importa. É só para você, informações para você, onde essa autenticação chegará. E podemos escolher o aplicativo de autenticação. Clique em Avançar. E agora você pode ver, você terá que instalar um dos aplicativos em sua espuma. Seja o autenticador do Google, faça um celular ou alguns outros aplicativos da lista de todos os aplicativos, você pode ver aqui Mas, basicamente, você precisa de apenas um deles. O Google é muito bom. Eu posso recomendar esse. Depois de instalar o aplicativo, você precisa clicar em Mostrar código QR e digitalizá-lo com sua espuma Depois de digitalizá-lo, você receberá o código MFA, que deverá colar aqui duas vezes Quero dizer, primeiro código e segundo código. Dessa forma, você adicionará esse dispositivo como autorizado para receber os códigos MFA Não faça isso porque é apenas uma conta temporária. Vou removê-lo mais tarde, mas você definitivamente deveria fazer isso. No próximo vídeo, mostrarei como criar esse orçamento antes começar a criar quaisquer recursos na nuvem da AWS. Mas você tem sua própria conta da AWS agora, parabéns. 8. Crie o orçamento da AWS: No vídeo anterior, criamos nossa nova conta da AWS. Criamos um logotipo como usuário raiz e adicionamos a autenticação MFA para esse usuário raiz A próxima coisa mais importante é que saibamos quanto dinheiro os serviços da AWS nos custarão, se houver. Podemos tentar não gastar dinheiro lá apenas usando serviços qualificados de nível gratuito, mas talvez possamos gastar algum dinheiro, mas não queremos exceder certos limites, como talvez $10 por mês, digamos Mas, de uma forma ou de outra, definitivamente queremos controlar nosso orçamento, e é exatamente isso que o serviço de orçamento da AWS está sendo registrado em nosso console. Ainda assim, como usuários rodoviários, podemos digitar aqui nos serviços, podemos pesquisar o orçamento Podemos ver aqui os orçamentos partir do recurso de licitação e gerenciamento de custos, ou podemos simplesmente clicar no serviço de licitação e gerenciamento de custos, qual o orçamento Talvez vamos clicar no topo . Realmente não importa. Aqui, você geralmente vê um resumo quanto custou no mês passado, qual é a previsão para este mês. Mas como essa é uma conta nova, ainda não há dados disponíveis, mas isso realmente não importa, porque o que precisamos é orçamentos aqui no canto inferior esquerdo Vamos clicar nesse orçamento. E, como você pode ver, podemos criar um novo orçamento aqui clicando neste botão. Agora temos a opção de usar um modelo ou personalizar, usando configurações avançadas. Vamos nos limitar à versão simplificada. Agora, que tipo de modelo você deseja usar? Por padrão, você pode ver um orçamento gasto zero. Crie um orçamento que notifique você quando seus gastos excederem 0,01 USD, que está acima do limite de três níveis da AWS, isso parece bom, não Porque isso significa que se eu gastar algum dinheiro em alguma coisa, receberei uma notificação. Além disso, é importante lembrar o orçamento da AWS não desativará nenhum recurso para nós. Não era para ser assim. Ele só nos notificará sempre que excedermos um determinado limite Nós podemos descobrir aqui. O primeiro limite será de $0,01. Se usarmos algum serviço pelo qual tenhamos que pagar, ele enviará um e-mail para o endereço de e-mail especificado aqui abaixo. Então, talvez antes de irmos lá, também haja um nome orçamentário. É chamado My Zero Spend Budget, o que é bom, mas deixe-me personalizá-lo. Talvez Mark. Orçamento de gastos zero. Realmente não importa. É só um nome. E aqui é onde inserimos o endereço de e-mail. E, como você pode ver, não precisa ser um. Você pode colocar vários endereços de e-mail aqui. Você só precisa separá-los usando vírgulas. Vou usar apenas um, digamos, Mark na Issue Avenue. É isso mesmo. Se eu quiser outro, basta usar vírgula e blá, blá, blá. Mas vamos usar apenas este. Isso é realmente, eu acredito, porque, sim, podemos deixar tudo como está, e você pode ver uma confirmação. Você será notificado por e-mail quando ocorrer algum gasto acima de $0,01 Isso é bom. Isso é o que eu quero. Então, criamos um orçamento. E é isso. Temos nosso orçamento e não me perguntamos por que ele sempre mostra $1 em vez de $0,01 Não sei por que é assim, mas deveria custar $0,01 Mas isso não é grande coisa. Funciona conforme o esperado, na verdade, mas talvez queiramos criar outro orçamento. E se às vezes quisermos usar alguns serviços, mas não quisermos exceder $10 por mês Assim, podemos criar apenas outro orçamento e definir um limite para isso Vamos clicar em Criar orçamento. Vamos deixá-lo como um modelo simplificado, o que é muito mais fácil, e agora vamos mudar do orçamento de zero gastos para talvez esse orçamento de custo mensal. O que é interessante é que, como você pode ver, ele notifica você se você exceder ou se prevê que exceda o valor do orçamento Se você começar um novo mês e, no primeiro dia, exceder $1, esse orçamento da AWS verá que você realmente excederá 10 USD até o final do Portanto, ele enviará uma notificação antes que você realmente atinja o limite de $10, pois a previsão é que você exceda esse limite até o final do mês Espero que isso faça sentido, porque nosso objetivo final é não exceder $10 por mês É exatamente disso que precisamos. Então, agora podemos rolar para baixo. Vamos dizer que é um orçamento de $10, sim. Portanto, está claro para nós do que se trata. Agora, ajustamos esse valor para $10 e, novamente, apenas uma lista de e-mails Queremos que essa notificação também seja enviada. E é isso. E aqui abaixo, você tem um resumo de como isso funciona. Você será notificado quando. Seu gasto chega a 85%. Então, se você estiver às 8:50, digamos você receberá um e-mail, então ele estará em 100% Mas a terceira opção, se a previsão é de que seus gastos cheguem a 100% Mas isso é muito útil e útil para nós. Isso é exatamente o que eu preciso. Basta criar um orçamento. Dessa forma, você pode criar quantos orçamentos quiser e ser notificado sempre que atingir qualquer um desses limites 9. Crie um usuário do AWS IAM e um grupo de usuários do IAM: No vídeo anterior, criamos o orçamento da AWS. Podemos monitorar nossos gastos usando esses orçamentos, etc. Mas o que eu quero observar é que ainda estamos logados como usuário root, e esse usuário root não é realmente aquele queremos usar para criar algo parecido com recursos, como servidores, balanceadores de carga, etc Nós realmente não queremos usar um usuário root para isso. O que devemos usar em vez disso é algum tipo de conta de administrador, usuário administrador ou qualquer outro usuário que tenha algum escopo limitado. Então, neste vídeo, criaremos o Admin IMuser. Então, o serviço que eu preciso é chamado IM, nós já vimos isso quando criamos a autenticação MFA quando estávamos criando a própria conta Como você pode ver, eu não concluí essa etapa, mas espero que você tenha concluído. Mas o que queremos agora é um novo usuário. Se trabalhamos para uma organização, geralmente não criamos uma. Criamos muitos e os colocamos em alguns grupos de usuários. Então, talvez vamos começar com grupos em vez disso. Geralmente é assim, mas isso realmente não importa. Podemos começar de qualquer ponto e terminaremos no mesmo lugar. Mas vamos começar do grupo. Criamos um grupo para que possamos criar um grupo de usuários e os chamaremos de administradores Eu serei um grupo de administradores. E cada administrador deve ter um conjunto similar de permissões, e essas permissões são configuradas aqui. E você pode ver no topo o acesso do administrador. É exatamente disso que precisamos. Pegamos isso e podemos ver que fornece acesso total aos serviços da AWS, e tudo bem. Precisamos que eles acessem os serviços, mas eles terão acesso limitado para visualizar qualquer informação financeira. Então, ligamos para eles. Administradores, e criamos um grupo de administradores. Agora está feito, mas podemos ver que não temos usuários nesse grupo. Agora, podemos acessar os usuários e criar um usuário e colocá-lo nesse grupo de administradores Então, vamos clicar em Criar usuário. Vamos chamá-lo talvez de administrador. Nome um pouco diferente. Agora, o que precisamos é marcar a opção de fornecer acesso ao usuário ao AWS Management Console. Você pode ver que é opcional. E alguém pode pensar não é essa a ideia por que criamos esse usuário Não acessaremos o console da AWS. É onde estamos agora, certo? Bem, sim, isso é verdade, mas todo usuário pode ter acesso ao console ou o que chamamos de acesso programático Eu vou te mostrar no próximo vídeo qual é a diferença e como configurá-la. Mas, por enquanto, precisamos acessar o console, ou o usuário administrador deve poder acessar o console, assim como fazemos agora. Marcamos isso, fornecemos acesso ao usuário e, em seguida, clicamos em Quero criar o IMuser Aqui, podemos ter uma senha gerada automaticamente ou uma senha personalizada. Personalizado, poderei digitá-lo. Agora, os usuários devem criar uma nova senha no próximo login, recomendado. Isso é útil se você criar essa conta para outra pessoa. Você cria um usuário, digamos, eu sei, Jack, você deu a ele uma senha, e então você clica nela. Então, quando ele se conectar, ele terá que alterá-lo no primeiro login. Mas como criamos essa conta para nós mesmos, eu diria que vamos desmarcá-la e poderemos usar apenas a senha que digitamos É isso aí, podemos clicar no próximo botão. Save, talvez saiba. Agora, neste estágio, podemos adicionar o usuário ao grupo de usuários que criamos há 2 minutos, como você pode ver. Então, vamos adicioná-lo. Próximo. Como você pode ver, se ainda não criamos um grupo, também podemos criar um aqui. Mas como já temos um grupo de administradores, podemos ir direto para a próxima É isso mesmo. Aqui está um pequeno resumo. O nome do usuário é administrador. Ele ou ela terá permissões de grupos de administradores, será uma senha personalizada e não exigirá a redefinição no primeiro login. Isso é legal. Vamos criar esse usuário. E agora temos essas instruções de login. Podemos copiar essas informações ou baixar tudo como um arquivo CSV, e eu usarei essa opção Como você pode ver, o arquivo CSV de credenciais do administrador foi exibido em meus downloads Eu posso usar isso. Mas o que eu realmente preciso é que o URL seja muito útil. Vamos copiá-lo, talvez. Ainda o tenho nesse arquivo, mas talvez vamos copiá-lo aqui. E agora vou sair daqui. Ainda estou logado como usuário rodoviário, lembra? Então, se sairmos , podemos entrar novamente aqui. Mas desta vez, como usuário do IAM, precisaremos do ID da conta, 12 dígitos Mas lembre-se, eu copiei esse URL. Deixe-me abrir outra aba. Talvez eu te mostre os dois caminhos. Eu posso colá-lo aqui. Lembre-se daquele URL longo, eu apenas copio. Na verdade, isso já tem esse ID de conta. Uma última coisa para digitar. Quando clico em Enter, como você pode ver, a única diferença é que já estou na página em que posso fazer login como Imuser. Não preciso escolher isso e também tenho um ID de conta já colocado para mim. Agora eu só quero adicionar administrador, que é o nome do usuário que acabamos criar e a senha que criamos para esse usuário. E agora eu posso entrar. Mas talvez antes de fazer isso, deixe-me voltar para essa aba. E, como você pode ver, é uma página de login um pouco diferente, mas funciona exatamente da mesma forma. Então, o ID da conta, que eu posso realmente copiar daqui, pode ser maneira mais fácil. Vamos voltar. Eu posso colar aqui, e aqui se eu clicar em Avançar, como você pode ver, estamos exatamente no mesmo lugar. Espero que isso faça sentido. Então, como eu já tenho tudo preenchido, deixe-me entrar aqui. Feche esse. OK. Agora estamos logados como usuários de mensagens instantâneas Como você pode ver, diz o administrador esse número de conta longo, terminando com 8888 Você também pode ver mais uma diferença porque pode ver o acesso negado em termos de custo e uso. Como eu disse, o usuário de mensagens instantâneas terá visibilidade limitada às informações financeiras, e tudo bem. Criaremos esse usuário para criar serviços. Eles não precisam fazer nada com as finanças. Então, espero que isso ajude. 10. Instalação da AWS CLI e configuração de chaves de acesso à API: No vídeo anterior, criamos o usuário IAM e agora estamos logados como usuários de IM É chamado de administrador, e esse é o número da nossa conta. Mas lembre-se de quando ele perguntou se precisávamos acessar o console. Este é o console da AWS e ele nos perguntou se queríamos acessá-lo. À primeira vista, isso pode parecer ridículo porque alguém diria, é claro que queremos acessar isso, sim, mas nem todo usuário precisará desse acesso AWS também tem acesso programático, e tudo o que podemos fazer aqui, também podemos fazer programaticamente partir de algum E em vez de tentar explicar isso, deixe-me te mostrar. Simplesmente, essa é a maneira mais fácil. Então, vamos voltar ao nosso console de mensagens instantâneas. Eu não sou IM. Vamos ao IM, onde criamos nosso usuário. E, como eu disse, também é recomendável identificar os usuários de mensagens instantâneas, não apenas para o usuário root, mas deixe-me me concentrar em outra coisa, porque o que eu queria mostrar é que, se formos até esses usuários, talvez eu clique aqui, não importa realmente onde, aqui ou ali. Então esse é nosso usuário. É chamado de administrador. Vamos clicar nisso. E o que precisamos agora são credenciais de segurança Vamos clicar em Credenciais de segurança e rolar para baixo. E aqui o que nos interessa são as chaves de acesso. Essas são as teclas de acesso programático das quais eu estava falando Vamos clicar em Criar chave de acesso. Temos muitas opções, mas queremos realmente a primeira, a interface de linha de comando, porque é por isso que vou querer me conectar à minha conta da AWS a partir de um servidor remoto, laptop ou qualquer outra coisa. Então é isso. Só preciso confirmar que entendi as recomendações. Eu clico em Avançar. Aqui você pode descrevê-lo, mas vou clicar em Criar chave de acesso. E como você pode ver, temos acesso e chave de acesso secreta. Isso é equivalente ao nome de usuário e isso é equivalente à senha. Então, de um local remoto, poderei fazer login nessa conta como administrador usando esse tipo de nome de usuário , chamado de Chave de Acesso, e essa senha , chamada de chave de acesso secreta. É um momento importante porque essa chave de acesso secreta será mostrada apenas uma vez. Deixe-me mostrar como é. Vou removê-lo mais tarde. É muito importante que você não mostre isso para ninguém. Como eu disse, isso equivale ao seu nome de usuário e senha. Então, se alguém puder ver isso, poderá fazer login na sua conta da AWS usando essas credenciais. Portanto, tenha cuidado com isso. Vou removê-los antes que este vídeo seja publicado. Mas o que também podemos fazer aqui é baixar o arquivo CSV. Vou clicar nisso. Essas serão, como você pode ver, as credenciais do administrador. Não, desculpe, isso foi para o vídeo anterior. As chaves de acesso do administrador são as que estamos baixando agora. Então, teremos essa informação nesse arquivo. Então é isso. Deixe-me minimizar isso e abrir o terminal. Então esse é meu laptop aqui. Estou em casa. Pode ser um PC ou laptop ou algum outro servidor em algum lugar. Como agora posso acessar essa conta da AWS a partir daqui? Então, o que eu preciso é o AWS CLI, que se chama. Ok, precisamos da AWS CLI, mas se você digitar, por exemplo, versão da AWS, há uma pequena chance de você já ter a AWS CLI instalada Normalmente, precisamos instalá-lo primeiro e configurá-lo. Então, vamos fazer isso agora. Deixe-me voltar ao nosso navegador e ver no Google como instalar o AWS CLI E agora estou no T, mas você pode pesquisar no Google qualquer sistema operacional em que esteja. Então, vamos verificar isso. Primeiro link, vamos rolar para baixo. Aqui temos as instruções. Se você estiver no Windows, você usaria isso para MacSD, mas eu estou no Linux, como eu disse, bem, nem é Linux normal, é a versão RM, então eu tenho que mudar aqui também para a versão RM E o que eu realmente preciso é apenas copiar esses comandos. Então eu posso clicar nesses dois quadrados, agora copiá-los e voltar para o meu terminal e simplesmente colá-los Entre e pronto. Agora, talvez vamos esclarecer isso. Então, agora, se eu digitar novamente a versão da AWS, como você pode ver, agora, eu a tenho disponível. Ok, então, como configurá-lo agora. Felizmente, não complicou as coisas. É o comando AWS, configure. Clique em Enter e agora ele solicita essa chave de acesso. Esse é o único. Lembre-se de que essa é sua chave de acesso. Você pode copiá-lo aqui. Vamos voltar. Nós colamos isso. Entrar. Agora chave de acesso secreta. Nós também temos isso. Nós copiamos isso. Isso equivale à sua senha. Vamos voltar e colar aqui. O que agora ele pede é o nome da região padrão. Sei que ainda não falamos sobre regiões, mas a região basicamente é onde você deseja criar seus recursos normalmente. Dependendo de onde você estiver, você escolherá sua região. Para mim, é Londres, então é Eust two Não é realmente algo que você precisa digitar. Você pode deixá-lo em branco, mas precisará especificar toda vez que criar algo. Você precisa especificar em qual região esse recurso deve ser criado. Então, para mim, porque a maioria dos meus recursos estará no oeste da UE, desculpe, eles disseram um ou dois? É Rust 2. Mas sim, porque o EUS One é uma ilha. Então, eu quero tudo em Londres, sim. Então, é a UE West two. Mas isso é algo que você poderá substituir mais tarde de qualquer maneira Portanto, é apenas para sua conveniência, mas você pode deixar em branco, como eu disse. Se você tiver um padrão, não precisará digitá-lo, mas poderá substituí-lo Ok, então entre e envie o formato. Bem, não estou me incomodando agora. Agora, devo conseguir acessar minha conta da AWS a partir daqui. Então, talvez vamos começar com a ajuda da AWS. Ele mostrará todos os serviços que podemos acessar usando essa linha de comando. Como você pode ver, há basicamente tudo o que você pode acessar no Console. Você também pode acessá-lo via CLI. E porque não temos recursos, pode ser complicado, mas podemos usar essa mensagem instantânea porque criamos um usuário AWS IM e, em seguida, talvez ajude novamente. Veja quais comandos possíveis temos para o AWS IM. Esse parece bom. Listar usuários. OK. Listar usuários. Veja o que fazemos aqui. Tudo bem, pequeno problema porque esse é um sistema novo. Como eu disse, não há nada instalado aqui. Diz que não há esse arquivo ou diretório a menos. Bem, meu palpite é porque temos que instalar menos. Ahoy. Então, faça isso para instalar menos. OK. Um pequeno soluço Vamos tentar de novo. E como você pode ver, agora funciona. Ele sabe que temos um administrador de usuários. Ele nos fornece o ID do usuário e mais algumas informações, como quando foi criado ou quando a senha foi usada pela última vez. Dessa forma, podemos acessar nossa AWS a partir do nosso laptop usando uma interface de linha comum. 11. Nível gratuito do AWS, chaves SSH e configuração 'manual' do servidor EC2: R Ok, aqui estou eu no meu console da AWS. Ainda estou logado como administrador de usuários de mensagens instantâneas, e o serviço de que preciso se chama EC dois, e você pode ver os serviços EC dois, servidores virtuais na nuvem É exatamente disso que precisamos. Eu cliquei nele e, como você pode ver, instâncias rodando zero porque eu ainda não tenho nenhum servidor virtual. Vamos criar um. Para criar uma, podemos clicar no botão laranja de inicialização da instância. Vou clicar nele e agora podemos especificar todos os detalhes do nosso servidor. O primeiro é o nome e o nome realmente não é importante, mas esse é o nome do servidor Marx Realmente não importa como você o chama. É só que, você sabe, para que você reconheça que é seu. E rolamos para baixo e podemos ver os sistemas operacionais que estão disponíveis para o nosso servidor. Amazon Linux é escolhido por padrão, e o Amazon Linux é como um sistema Linux baseado no Fedora com muitos ajustes da Amazon, isso é bom Mas também podemos ter o macOS. Podemos ter o Ubuntu Windows. Todas elas são chamadas de imagens de máquinas da Amazon. Se você clicar nesse botão, verá que existem milhares e milhares deles. Mas vamos nos limitar ao básico, talvez. Vou apenas escolher o Ubuntu. O que é importante sobre o Ubuntu ou o Amazon Linux que você pode ver que é elegível para o nível gratuito e falarei sobre isso em um minuto. Por enquanto, talvez eu mude para o Ubuntu, que também é elegível para o nível gratuito. Mas tudo bem por enquanto. Voltaremos a isso. Eu rolo para baixo. Aqui eu posso escolher a arquitetura do meu processador. É 886, geralmente é Intel, AMD ou RM. A AWS tem seus próprios processadores. Eles são chamados de grávitons. Você pode usar isso se quiser. Mas vou ficar com o X 86. Aqui, você pode escolher o tipo do seu servidor. Nós temos o Tito Micro. Como podemos ver, Tito Micro, bem, deixe-me talvez abrir isso Você pode ver que há muitos e muitos deles disponíveis e rolar para baixo, pois você pode ver muitos e muitos deles. Mas o que é importante sobre este é que ele também tem aquele rótulo elegível para o nível gratuito. Vamos. Veja que este servidor tem uma CPU virtual e um giga de memória Abaixo estão os preços, quanto custa operá-lo. Mas quero discutir mais uma coisa, porque voltamos a esse nível gratuito, quero dizer. Então, vamos rolar para baixo por enquanto, e temos o goleiro. O Keeper é uma chave SSH que podemos usar para nos conectarmos posteriormente ao nosso servidor a partir de um local remoto Como este laptop, do meu laptop, digamos que, se eu quiser me conectar ao meu servidor, precisarei de um guardião. E como você pode ver, eu não tenho um goleiro, e diz que eu posso prosseguir sem um goleiro, mas isso não é recomendado. Isso não é realmente o que eu quero. Quero criar um novo goleiro. Vou clicar nesse botão e posso chamar esse guardião, seja o que for, talvez a chave de Marx. Você sabe o que? Talvez aqui mudemos para aquele ED 255, blá, blá, blá, porque essa é a versão mais nova e melhor Mas os dois funcionarão bem. Agora, basta clicar em Criar Keeper. Como você pode ver, ele também foi baixado automaticamente. Eu a verei em meus downloads, a chave de sublinhado de Marx dot p. Essa é a chave que precisarei para me conectar posteriormente a este servidor Como você pode ver, agora foi escolhida a chave do goleiro Marx. Estou muito feliz com Agora temos as configurações de rede, e eu realmente não quero discutir as configurações de rede agora porque esse é um tópico muito amplo. Mas se deixarmos tudo como está, esse servidor funcionará exatamente como eu quero que funcione de qualquer maneira Então, só queremos ter certeza de que IP público atribuído automaticamente está habilitado, e isso cria um grupo de segurança que permite tráfego SSH de qualquer lugar Dessa forma, poderemos nos conectar ao nosso servidor. Se aqueles acima são exatamente como aqui, isso é tudo que eu realmente preciso. Assim, podemos ir mais longe. Portanto, configuramos o armazenamento. Este é o disco rígido do nosso servidor. E, como você pode ver, por padrão, ele tem oito giga do que eles chamam de volume raiz de dois GP O GP two é uma versão mais antiga das unidades SSD. Podemos mudar isso para o GP três, versão mais recente, e agora eu realmente quero voltar para esse nível gratuito Como você pode ver, também está aqui porque a quantidade de armazenamento que usamos também afetará esse nível gratuito. E, como você pode ver, diz que eu posso ter 30 giga de armazenamento do EBS se eu quiser estar nesse nível gratuito Vou mudar esse oito para 30. Você também pode deixar oito, mas eu posso ter até 30, então vou mudar para 30. Por que não? Eu quero resumir isso. Se você tiver escolhido até 30 giga de volume raiz de GP dois ou GP três e, em seguida, se tiver um tipo de instância qualificado para o nível gratuito e se tiver sistema operacional que também seja elegível para o nível gratuito, esse servidor poderá funcionar por 750 horas por mês gratuitamente No próximo mês e no mês seguinte, a quantidade de horas será redefinida e você terá novas 750 horas para esse novo mês. Se essa for uma nova conta da AWS e você tiver um ano de elegibilidade para o nível gratuito, esse servidor poderá funcionar por um ano inteiro de forma totalmente gratuita Não vai te custar nada. Contanto que você não exceda nenhum dos mencionados aqui. Tudo bem, então vamos voltar. Bem, é isso. Não há mais nada que eu precise aqui. Eu posso simplesmente iniciar a instância. Então eu inicio a instância e meu servidor está sendo criado, e agora está funcionando. É uma inicialização bem-sucedida da instância. Posso clicar nesse identificador para minha instância. Instância significa servidor virtual, se eu clicar nele, posso ver Mark server, e o status é inicializando Isso significa que ainda não está totalmente pronto, mas foi criado. Agora, se eu clicar nesse botão, você poderá ver mais informações sobre esse servidor. E um dos mais importantes para mim no momento é meu endereço IPV quatro público Endereço público significa que poderei me conectar a esse servidor de qualquer lugar do mundo. Deixe-me talvez atualizar isso primeiro. Vamos ver se isso ainda está inicializando. Isso é bom. Mas mesmo que esteja inicializando, você já pode tentar se conectar a ele Eu posso clicar neste botão aqui, conectar. E eu tenho uma boa escolha aqui. A primeira forma de me conectar ao meu servidor é chamada de Conexão Fácil de Instância. Se eu clicar nesta parte inferior, esse console da AWS me levará até esse servidor e, em seguida, me conectará ao servidor. Eu posso executar comandos agora. Por exemplo, DFH é um comando que me mostra meu volume raiz, aquele disco rígido que conectamos, e diz que 29 giga e 1,6 giga são usados, então eu ainda tenho 28 giga então eu ainda tenho Isso faz sentido porque criamos um volume de 30 giga. Então, se eu for aqui novamente, posso ir para o armazenamento, e podemos ver que na verdade tem 30 GB de tamanho Tudo bem, então é assim que é feito localmente a partir do AWS Console. Mas e se eu quiser me conectar a ele a partir do meu terminal local no meu laptop? Deixe-me redimensionar isso Então eu posso digitar terminal. E esse é meu laptop. Este é o terminal do meu laptop local aqui em casa. Ainda posso ir aqui, clicar em dot Connect, mas agora tenho algumas dicas. Se formos para o cliente SSH, ele me dirá o que posso fazer para conectar remotamente da minha casa a este Diz cliente SSH aberto. Bem, meu terminal já tem ou meu sistema, devo dizer, tem cliente SSH A próxima coisa que preciso fazer é localizar minha chave privada. Lembra da chave que baixamos? Quer dizer, ele foi baixado automaticamente no maxkee dot p. Você pode mostrá-lo em downloads Sim, está em downloads. Aqui eu tenho que navegar até minha pasta Downloads. Eu vejo os downloads. E eu posso ver que este é o arquivo que foi baixado, maxkey dot pm Tudo bem Então, o que devo fazer a seguir é executar esse comando. Altere a tecla 400 Marx do modo. Posso clicar nesses retângulos para copiar esse comando. Volte para o meu 1 segundo. Deixe-me torná-lo maior. Talvez esteja claro isso. Tudo bem Agora eu posso colar e descentralizar. O que devo fazer a seguir, conectar-me à sua instância usando DNS público e um exemplo está aqui Vou clicar nesse comando na tecla AsHi Marx. Passe aqui e isso deve me levar ao meu servidor. Este é apenas um aviso padrão. Pergunta se você tem certeza de que sabe com o que está se conectando. Esse servidor não é conhecido, então ele pergunta se você tem certeza de que sabe ao que está se conectando. Mas tenho certeza porque esse é o meu servidor, então eu digito Enter e agora também estou no meu servidor. Se eu digitar DFH, você pode ver exatamente que este é meu servidor porque ele tem um disco rígido de 29 giga Tenho 28 shows disponíveis. Isso é exatamente o que vimos há apenas um minuto quando me conectei localmente usando o AWS Console. Mas desta vez, você sabe, eu posso minimizar isso só para ter certeza de que está claro. Estou me conectando do meu laptop que tenho em casa e estou conectado ao meu servidor que está na nuvem da AWS em algum lugar. E eu posso executar alguns desses dispositivos. Você pode ver que este é o meu drive. Você pode correr do jeito que quiser. Você pode ver a utilização da CPU, a utilização da memória e todas essas coisas legais E se eu executar o cut, vamos ver o lançamento do OS, posso ver que é realmente o sistema operacional Ubuntu. Ok, isso é como criar o servidor e como se conectar a ele a partir de um local remoto. Se você parar de jogar com seu servidor, sugiro que você também destrua aqui, porque depois de destruí-lo, você também economiza essas horas nesse nível gratuito. Lembre-se de que você tem 750 horas. Mas se eu agora destruir essa instância, estado da instância, encerre. Sim, encerre. Estou removendo esse servidor, como você pode ver, ele está sendo encerrado porque talvez amanhã eu queira criar dois servidores E se o total de horas de todos os meus servidores não ultrapassar 750 horas, ainda assim não serei cobrado nada, pois são 750 horas que são o valor total de todos os serviços que eu executo aqui. Assim, posso executar um servidor continuamente por um mês ou posso executar dois servidores continuamente por, digamos, 15 dias ou talvez três servidores por dez dias. Nada disso excederá 750 horas. Então, eu ainda não vou ser cobrado de nada. Espero que isso faça sentido. Tudo bem, e nos vemos no próximo episódio. Tchau 12. Processo de instalação do VSCode: Neste vídeo, instalaremos o código VS O código VS é um IDE, o que significa ambiente de desenvolvimento integrado. Esse ID pode ajudá-lo a trabalhar não apenas com o Terraform, mas também com o Python ou outras Ele pode ajudá-lo a trabalhar com yaml responsável e outros formatos de arquivo Embora não seja necessário ter o código VS instalado quando você trabalha com o Terraform, é uma ferramenta muito útil e leva apenas um minuto para ser instalado Vamos ver como é feito, e tenho certeza que você também gostará. É uma ferramenta muito popular e é muito popular para aasm. Talvez no Windows primeiro, deixe-me abrir meu navegador. Vou apenas pesquisar o download do código VS. Vamos usar o primeiro link na parte superior, e não poderia ser mais fácil. Você acabou de baixar a versão para Windows. E veja o downloader, espere alguns segundos. Agora vamos apenas executá-lo. Eu aceito o acordo a seguir e adicionarei o ícone na trabalho e também me certificarei de que ele seja adicionado ao caminho. Ele deve estar marcado por padrão, então deve estar tudo bem. Em seguida, instale. Se clicarmos em Concluir, ele também deverá iniciar o código VS. Isso é o que parece. Como você pode ver, ele tem alguns destaques, alguns recursos de preenchimento automático e muitos outros recursos úteis Como eu disse, vale a pena instalá-lo. Mas agora vamos dar uma olhada na instalação do Linux. Esta é minha distribuição do Ubuntu. Novamente, vou abrir meu navegador. Mas você sabe o que, antes de fazermos qualquer coisa, talvez eu também deixe eu abrir a linha de comando e sempre devemos realmente executar a atualização Get. pronto para obter o upgrade, por precaução, mas parece que estou atualizado, então posso fechá-lo e agora fazer o download do VS code. Escolheremos o primeiro T novamente no topo e agora, em vez do Windows, escolhemos o Ubuntu porque essa é a minha distribuição. Você pode ver que também é um gerenciador de pacotes para MAC. não vou passar pelo processo no MAC porque é exatamente o mesmo. É muito básico. A única coisa é que meu Ubuntu está funcionando em paralelo no meu Isso significa que eu tenho que escolher a versão RM deste pacote. Então eu clico neste ARM 64 Debian. Sim. Vou clicar nisso. Está sendo baixado. Então eu posso clicar nele, instalar o software, abrir. Potencialmente inseguro, pois é fornecido por terceiros, mas eu sei que é seguro, então vou instalá-lo E precisamos da senha do Sudo. E diz que está se preparando. Agora o ícone mudou, então acredito que está tudo pronto. Feche, feche e eu apenas pesquisarei o código VS. Podemos dizer que ele foi instalado corretamente, então basta abrir e teremos a mesma janela, com exatamente a mesma aparência do Windows. Isso é tudo sobre o processo de instalação do código VS. 13. Instalação da extensão VSCode: O código VS agora está instalado. Vamos apenas adicionar um pequeno recurso. Como vamos trabalhar com o Terraform, adicionaremos a extensão Terraform ao nosso código VS Essa é a verdadeira força, o verdadeiro poder do código VS. Você tem essas extensões. Quero dizer, você clica nesses quatro pequenos quadrados aqui, diz extensões Então, eu clico nele e você encontrará muitas e muitas extensões diferentes, dependendo do que você deseja trabalhar. Por exemplo, aqui, você tem algo para Python. Você pode ver que ele foi baixado 151 milhões de vezes, e o Gitans é outro em que você pode se interessar Mas agora estamos apenas procurando o Terraform. E você encontrará não um , mas também muitos deles. E você pode experimentá-los. Quer dizer, um deles pode ser melhor que o outro, e eu pessoalmente usei os dois primeiros. Você pode ver que um é de Anton Kulikov e o outro é diretamente Então, hoje, vamos experimentar aquele oficial da HashiCorp Você pode ver na análise que ele tem apenas 2,5 estrelas, mas não sei por que, porque na verdade não é ruim. Eu trabalhei com ele e descobri que funciona conforme o esperado. Então, vamos instalá-lo. Basta clicar no pequeno botão Instalar e pronto. Foi instalado. Depois de um tempo, isso está concluído e também lhe dirá o que faz com essa extensão. Diz destaque de sintaxe e preenchimento automático para terraform. Isso é perfeito. É exatamente disso que precisamos. Você verá como fica quando começarmos a usá-lo. Isso significa que agora estamos prontos para começar a trabalhar com o terraform 14. Criando espaço de trabalho e processo de configuração de provedor de terraforma: Temos o código VS. Temos a extensão de terraform do código VS Agora vamos preparar nosso espaço de trabalho onde salvaremos todo o nosso trabalho Por exemplo, você pode abrir um terminal e decidir que estou em casa paralelamente Isso é bom. O que está aqui? Acho que não há nada interessante. Vou criar uma nova pasta e vou chamá-la de terraform. A terraforma. Então, na minha pasta pessoal, terei uma pasta chamada terraform Este será meu espaço de trabalho. Vou simplesmente fechá-lo. Aqui, podemos clicar no ícone superior, o explorador, e clicar em Abrir pasta. E abriremos a pasta que acabamos de criar, a do Terraform Vamos abri-lo, e ele deve estar vazio porque acabamos de criá-lo. Sim, acredito que este é meu dispositivo. Talvez eu o torne maior e possamos configurar nosso provedor. Eu já mencionei anteriormente que o provedor é essa ponte. Isso conecta o Terraform ao espaço em que você deseja criar essa infraestrutura e queremos trabalhar com a AWS, precisamos do provedor da AWS Para fazer isso, vamos pesquisar no Google qual deve ser a aparência desse provedor da AWS. Eu serei o provedor do Google Terraform AWS. No topo, temos o provedor da AWS, HashiCor. Vamos clicar nisso e pronto. Eles dizem que é assim que é feito, mas também têm o recurso aqui. Ainda não vamos criar um recurso. Estamos interessados apenas no próprio provedor. Então, deixe-me copiar essa parte. Vamos lá, veja. Agora vamos voltar ao código VS. E na minha pasta, tenho aqui pequenos ícones Novo arquivo, e vou criar um novo arquivo e vou chamá-lo de provedor. Vou adicionar a extensão dot TF. Assim que fiz isso, dê uma olhada, o ícone mudou à esquerda porque se eu clicar em Enter, tenho um novo arquivo e o código VS detectou exatamente aquela extensão de código VS que instalamos. Essa extensão detectou o arquivo terraform, que também podemos ver aqui no canto inferior direito É possível ver que estamos trabalhando com o Terraform. Deixe-me agora colar a parte que copiei desse site. Esta parte dirá ao Terraform com o que estamos trabalhando e observe que você pode ter vários fornecedores Talvez você trabalhe com a AWS, mas talvez com o Azure também e talvez com o Proxmox Você pode colar aqui vários provedores, mas, no nosso caso, vamos trabalhar apenas com a AWS, então esse é o único provedor de que preciso. Mas é possível especificar mais de um provedor aqui. E aqui diz, configure o provedor da AWS. Talvez você já reconheça essa região parcial é algo que já especificamos anteriormente quando trabalhamos com grupos de mensagens instantâneas e usuários de mensagens instantâneas, especificamos a região da AWS e eu especifiquei a região oeste da UE duas. Deixe-me pressionar Command S no Mac ou controles no Windows, seria. Comande S para salvar isso e eu clicarei nesse terminal. Eu direi um novo terminal. Eu vou abrir aqui. Agora, se eu digitar AWS configure, isso é algo que já fizemos no passado. Configuramos a chave de acesso, configuramos a chave secreta, que é como usuário e senha. É isso que o Terraform usará para acessar a nuvem da AWS Mas, se eu clicar em Enter novamente, também especifico a região padrão. EUS dois é Londres, na verdade, mas talvez você queira criar seus recursos em uma região diferente, ou talvez até eu queira criar esse próximo recurso que vamos criar, talvez eu queira tê-lo em outro lugar. É assim que posso substituir tudo o que especifiquei aqui. Se eu deixar essa configuração como está, isso significa que meu recurso, por exemplo, servidor será criado no Leste dos EUA. Então, se eu removê-lo, ele usará o valor padrão, que é EU west two. Espero que isso faça sentido. Também havia uma saída, mas não dissemos qual é a saída padrão na qual estamos interessados. O que eu vou fazer, porém, vou igualar aqui. Vou deixar a entrada, mas também corresponderei ao que tenho como região padrão. Mas vou lembrar que este é o lugar onde posso substituir esse valor Então, comande S novamente, e pronto. Temos nosso espaço de trabalho. É essa pasta terraform e temos a configuração do provedor salva 15. Arquivo de bloqueio do Terraform: Agora vamos falar sobre o comando terraform init. Terraform nele é o primeiro comando que queremos usar se for um novo espaço de trabalho e nunca trabalhamos com o terraform anteriormente Então, temos que inicializar tudo. Deixe-me executar este comando e você verá o que quero dizer. Basicamente, acabei de executar o Theraform em. Isso é tudo o que é. Vamos pressionar Enter. O que você pode ver é que está inicializando o back-end , inicializando os plug-ins do provedor e nos dirá tudo o que faz Você pode ver que a instalação do Hashicur já está pronta. Não demora muito, mas o que você pode ver aqui é que o provedor foi instalado, foi instalado. É a versão 583 ponto um. Veja que o Terraform criou um arquivo de log. É chamado de terraform Log HCL, e podemos ver esse arquivo aqui Lembre-se de que tínhamos apenas uma pasta terraform e um arquivo. Mas dê uma olhada agora. Temos outra pasta. É uma pasta oculta do terraform. Existem mais alguns arquivos e também temos esse log do terraform Então, nessa pasta, Terraform baixou todos os binários necessários para trabalhar com provedor da AWS e o terraform registra as informações do terraform Qual versão desses Podemos ver que é a versão 583 ponto um. Isso porque a restrição que demos ao Terraform é que deveria ser a versão cinco ou superior Baixamos a versão 583 dot one. O que quero dizer é que, se acessarmos o arquivo do provedor, podemos ver que declaramos que precisamos da versão do provedor AWS que seja superior à versão cinco pontos zero. Então, o Terraform baixou o mais recente, que é 5831. Portanto, essas são simplesmente informações adicionais sobre os binários que estão nessa pasta de pontos do Terraform 16. Crie o primeiro servidor usando o Terraform: Isso é ótimo. Agora devemos estar prontos para criar nosso primeiro servidor na nuvem usando o Terraform Eu entrei na minha conta da AWS. A região que mencionamos já está aqui, então nós dois somos Londres. Inicialmente, no conflito de fornecedores, tínhamos o Seast One, que era North Virginia, mas quero criar meus recursos perto de onde moro Então, o mais próximo para mim é Londres, apenas dois. Então, isso é basicamente o que temos no arquivo dot tf do nosso provedor Eu disse que os quero na região Ust two, e já inicializamos nosso provedor Terraform AWS Portanto, ele deve ser capaz de funcionar com a AWS agora. Então, como faço para criar um servidor aqui? Como podemos ver, não temos instâncias. Instâncias significam servidores virtuais, e o servidor virtual também é chamado de EC two na AWS Elastic Compute Cloud, e tudo o que criamos na AWS é chamado de recurso Então, o que eu posso pesquisar no Google agora, eu posso pesquisar no Google Terraform, EC two resource E o primeiro link diz instância da AWS. Bem, isso é exatamente o que eu preciso. Na verdade, se rolarmos para baixo, veremos muitos exemplos de como podemos criar uma instância na AWS. Mas vamos voltar ao topo. Exemplo básico usando a pesquisa de AMI. Mas você sabe o que? Vou simplificar ainda mais. Nem vamos usar a pesquisa de AMI. Vou apenas codificar a AMI. Vou te mostrar o que quero dizer. Basicamente, precisarei disso, cerca de cinco linhas de código, e vou visitar meu MC para copiá-lo. Voltarei ao meu código VS e criarei outro arquivo aqui, novo arquivo. Vou chamá-lo de servidor. TV de pontos. Novamente, arquivo terraform. Vou colar aqui. O que é isso? Em primeiro lugar, a primeira palavra é recurso. Como eu disse, tudo o que queremos criar é chamado de recurso. A segunda parte é o tipo de recurso e é uma instância da AWS. Instância significa máquina virtual ou, em outras palavras, nuvem de computação elástica, fácil de instanciar É assim que a AWS chama isso de forma simples. Isso significa que vamos criar um servidor virtual, e esse é o nome. Eu posso chamá-lo de qualquer coisa. Isso talvez seja mudar isso. Sem web, talvez não seja servidor web. Eu quero chamá-lo de servidor Mark ou Marx. Eu posso chamá-lo de qualquer coisa. Realmente não importa. A AMI é algo que eu mesmo posso especificar. O que é AMI? Já lidamos com a AMI Não tenho certeza se você se lembra, mas se usarmos a AWS, estaríamos criando um servidor manualmente. Em seguida, clicamos na instância de inicialização, e é aqui que escolhemos nosso sistema operacional e escolhemos o Ubuntu lá Cada sistema operacional aqui terá o ID da imagem da máquina Amazon. Esse é o identificador de imagem de máquina da Amazon. AMI é 05 blá, blá, blá. Você também pode ver aqui que cada sistema operacional, por exemplo, Red Hat, terá um identificador de imagem de máquina Amazon diferente. Se você for para o Ubuntu, talvez eu queira construir meu servidor com base no sistema operacional Ubuntu. Esse é o identificador que eu preciso, e eu posso simplesmente copiá-lo e colá-lo no meu código. Eu só tenho que adicioná-lo aqui. Preciso adicioná-lo como uma string do tipo de dados de string, o que significa que preciso usar aspas duplas e usar Command V para colar o ID da imagem da máquina Amazon. Em seguida, está o tipo de instância, que é configurado para T três micro por padrão. Isso é o que copiamos, quero dizer. Mas se voltarmos novamente para essa conta da AWS, podemos lembrar que estávamos falando de três níveis elegíveis quando estávamos criando uma conta da AWS. Verificamos que o T three Micro, T three Micro não tem essa etiqueta elegível para o nível gratuito. Isso significa que pagaremos por isso. Se você tem uma nova conta da AWS, você tem esse nível gratuito. Então, eu sugeriria usar o T two Micro em vez disso, porque isso faz parte dos serviços elegíveis de nível gratuito. Então, vamos voltar e eu vou mudar esse T três micro para T dois micro. E então as tags, essa etiqueta de nome é simplesmente o que você colocaria aqui onde estávamos escolhendo um nome para nossa instância. Então eu vou mudar isso. Você pode deixá-lo, é claro, mas vou mudar para quê? Primeiro servidor Mex. Tudo bem. E agora eu só faço o Command S e salvei tudo o que preciso para criar meu primeiro servidor. 17. Planejamento do Terraform e aplicação de comandos: Ok, temos tudo o que precisamos. Então, como criamos esse servidor? Vamos primeiro voltar à nossa AWS. Deixe-me voltar para mostrar o número de instâncias. Como você pode ver, não temos instâncias em execução, o que significa que não temos servidores virtuais. Se eu clicar nele, você também precisará verificar se as regiões estão incorretas. Vamos criar nosso servidor em Londres, que é o EUS dois. Então, vamos monitorá-lo. Vou deixar como está, e não temos instâncias em execução. Posso até mesmo remover isso, o que me mostrará todas as instâncias, mesmo que estejam interrompidas, mas ainda não temos nenhuma. Então, agora vou voltar ao meu código para o código VS, para o meu terminal. Talvez eu esclareça isso. E o primeiro comando que eu talvez queira executar é chamado de plano Terraform E o plano Terraform me mostrará tudo o que será construído na nuvem da AWS, mas não aplicará esses recursos, o que significa que são apenas informações para mim Deixe-me executar este comando e você verá o que quero dizer. Eu clico em Enter e o plano está sendo criado. Tudo bem, esse é o plano. Deixe-me torná-lo maior. O que diz? Diz que o servidor Mark será criado. A AMI será essa. Isso porque especificamos isso. É a AMI do Ubuntu. O tipo de instância é T two micro. E o nome será Mark first server, e tudo mais, o Terraform diz que será conhecido após a aplicação Ainda não sabe o que vai ser. Depois de aplicarmos isso, só então descobriremos qual é o valor, por exemplo, do IP público, etc Se continuarmos, o plano é adicionar um recurso porque estamos criando uma máquina virtual, zero para alterar e zero para destruir. Veremos isso mais tarde sobre o que ele faz. Deixe talvez. Agora, se eu usar a seta para cima, em vez do plano de terraform, posso executar o Traform apply O que o Apply faz é basicamente executar o plano de terraform de qualquer maneira, antes de tudo, mas depois veremos a diferença Deixe-me clicar em Enter. Vou clicar em Enter. Podemos ver exatamente o mesmo plano comando Terraform plan, mas agora ele me pergunta: você quer realizar essas ações O Terraform executará as ações descritas acima. Somente sim será aceito para aprovação. Se eu disser sim agora, Terraform criará um servidor virtual para mim na nuvem da AWS É disso que precisamos. Então, deixe-me clicar em Enter e vamos ver o que acontece. Vamos esperar alguns segundos e ele diz que o servidor está sendo criado. É isso mesmo. 13 segundos. Temos o identificador da instância, que é o identificador do meu servidor virtual Você pode ver que termina com oito CE. Vamos voltar à nossa AWS e atualizá-la. Dê uma olhada, oito IDs de instância CE. Este é meu servidor. Ele ainda diz inicializando verificação de status, mas já está lá O estado da instância está em execução, e todas essas informações, como DNS público, IP público etc., lembre-se Terraform não conseguiu descobrir o que seria, porque não especificamos esses detalhes, porque não especificamos esses detalhes, simplesmente escolhidos aleatoriamente pela É isso mesmo. Essa é a nossa instância em funcionamento. E se você estiver interessado, deixe-me esclarecer isso novamente. Agora acontece se eu executar o terraform apply novamente. O que você acha que vai acontecer? Vamos dar uma olhada. Vou pressionar Enter, Terraform, verifique o que está no código? O que há nesses arquivos. Você pode ver que há um servidor que queremos ter. E esse servidor já está funcionando. Terraform pode comparar o que está na nuvem e o que está no código aqui E se o estado desejado corresponder, isso é chamado de declarativo Você declara o que deseja ter na nuvem. Eu quero ter um servidor, e esse servidor já está lá. Está instalado e funcionando. Portanto, o terraform diz que não há mudanças. Sua infraestrutura corresponde à configuração. Tudo o que configuramos aqui já está na nuvem, então não há nada a fazer, e é muito importante entender isso . Vamos criar mais desses arquivos com recursos diferentes e, se um deles estiver ausente, por exemplo, terraform recriará apenas o que está Portanto, a infraestrutura corresponderá à configuração novamente. É sempre o estado desejado, sim, e esse estado agora está meio que confirmado. Portanto, não há nada que o terraform possa fazer. 18. Comando de destruição do Terraform: Então, temos nossa instância. Está instalado e funcionando. Sim. Instância, quero dizer servidor virtual. Se eu atualizá-lo agora, verificação de status também será alterada Diz que ambas as verificações foram aprovadas. Minha instância está em execução e está tudo bem. Mas e agora se eu quiser remover minha instância? Eu não quero que esteja funcionando por mais tempo. Eu quero destruir essa instância. E lembre-se, quando fizemos isso manualmente, escolhemos o estado da instância, encerramos, excluímos a instância Mas em terraform, eu uso o comando destroy. Então eu simplesmente digo Traform destroy. E terraform destroy simplesmente removerá tudo o que temos em nosso código Deixe-me executá-lo para mostrar que você clica em enter. E antes que destrua qualquer coisa, ele nos perguntará se é isso que realmente queremos fazer Você realmente quer destruir todos os recursos? Bem, temos apenas um para destruir, como você pode ver, porque ele também cria um plano, mas desta vez é um plano de destruição. E se rolarmos mais para cima, podemos ver que o servidor AWS instance Mark será destruído com essa AMI, mas você pode ver que agora o terraform contém muito mais informações sobre essa instância porque seja qual for a nuvem da AWS atribuída a nós, Terraform está ciente de todos esses valores Este é nosso IP público, etc. Então, se essa é a instância que eu quero destruir, eu simplesmente digo sim, e o clique em Enter diz destruindo essa instância Oh, demorou um pouco, 41 segundos, mas você pode ver que agora foi destruído. E se eu voltar ao console e atualizá-lo, ainda podemos ver essa instância, mas o estado é encerrado E isso desaparecerá depois de um tempo, mas isso é apenas uma confirmação de que essa instância acabou de ser removida. Então, digamos que agora eu queira criar rapidamente outra instância. Se eu aplicar o Terraform novamente, direi que sim. Outra instância está sendo criada para mim pelo terraform, mas essa instância terá um identificador diferente Isso foi rápido, 13 segundos, e agora podemos ver que termina com zero EA. Então, se eu voltar, atualizar novamente, agora teremos duas entradas, mas apenas aquele EA zero está em execução e o anterior está encerrado É assim que você cria e destrói recursos usando o terraform Deixe-me destruir este também, porque eu não preciso dele instalado e funcionando. Eu vou dizer destrua. Então, sim, nesta nova instância zero EA também está sendo destruído, o que significa que em breve terei duas instâncias declaradas encerradas Este, por algum motivo, demorou muito mais, 1 minuto 31 segundos para ser destruído, mas acabou sendo destruído. Muito fresco. Podemos ver duas instâncias, mas ambas foram encerradas. 19. Crie uma VPC da AWS com o Terraform: Agora vamos pensar sobre isso. Criamos esse servidor na AWS, e esse servidor tinha algum endereço IP público e privado. De onde vieram seus endereços? O endereço IP privado é, na verdade, parte da VPC e parte de uma sub-rede Por causa da AWS, vamos voltar para a AWS e deixar eu duplicar essa guia A AWS cria uma rede padrão para nós. Toda a rede é criada para nós em segundo plano porque se eu não sou engenheiro de rede e quero, por exemplo, executar um servidor web, talvez eu não esteja preocupado com toda a rede por trás dele. Em seguida, a AWS colocará esse servidor na VPC padrão em alguma sub-rede padrão Vamos pesquisar por VPC. Portanto, atenda a nuvem privada virtual VPC. Esse é basicamente um espaço onde tudo o que seus recursos irão será colocado, a menos que você especifique o contrário. E é isso. Você pode ver o ID da VPC, você pode ver o IPV quatro, senhor, que é o prefixo IP Portanto, nosso servidor tinha um IP privado atribuído a partir desse prefixo IP E temos uma tabela de roteamento, a opção HCP, blá, blá E se eu duplicar novamente, você pode ver essa VPC, se clicarmos nessa VPC, você também verá três sub-redes criadas dentro dessa VPC e nosso servidor será alocado Você pode ver a sub-rede Est dois A, dois B e C. Vamos clicar em um deles, talvez A, e eles terão um prefixo IP diferente Novamente, esse é um prefixo IP menor. É um prefixo que se encaixa nesse prefixo maior da Eu sei que não é um treinamento da AWS e é um treinamento de rede de computadores, mas eu só quero que você saiba que, por padrão, nosso servidor simplesmente será colocado na VPC padrão e em uma dessas sub-redes Mas isso não significa que tenha que ser assim. Podemos criar nossa própria VPC, nossa própria sub-rede e podemos afirmar que queremos que nosso servidor seja colocado em uma dessas sub-redes que vamos Mas o que é ainda mais interessante e é isso que eu realmente quero mostrar aqui é que o terraform terá que resolver algumas dependências, e eu sei que pode ser um pouco confuso Nesse estágio, não se preocupe com isso. Você entenderá o que quero dizer quando começarmos a trabalhar com isso. Vamos voltar talvez para o VPC. Podemos ver uma VPC. É apenas aquele padrão e tem sidra de 172 30 100 barra 16 Mas vamos criar nossa própria VPC. Então eu volto para minha terraforma. Talvez eu crie um novo arquivo. Vou chamá-lo de vpc dottf e agora podemos pesquisar no Google como criar Quer dizer, vou pesquisar no Google TorraformRSolves, AWS VPC, AWS VPC O primeiro, o topo, é o que eu preciso, temos alguns exemplos. Eu poderia usar este, mas posso ver que o segundo também tem um nome, então isso é algo que já está incluído. Então, talvez eu use isso. Vou apenas copiá-lo aqui, clicando neste botão, voltarei ao meu código e colarei aqui. Talvez façamos isso menor. O bloco de sidra é essa sidra IPV four. A VPC padrão tem 1723 100 e, nesse código, temos 100 00s Está tudo bem. Podemos deixar como está. VPC, vou chamá-lo de não meu, mas vou mudá-lo talvez para Mark ou você sabe o que? Meu VPC, M underscore VPC, algo assim. Então, temos locação de instâncias. Não sei por que eles adicionaram isso. Se voltarmos ao recurso VPC, se rolarmos para baixo, você terá uma referência de argumento Basicamente, mostra o que você pode adicionar aqui, o que você pode especificar. E, como você pode ver, a tendência da instância é opcional, então não precisa existir. E de qualquer forma, o padrão é o padrão. Se não tivéssemos nada aqui, a tendência da instância seria definida como padrão de qualquer maneira. Mas isso não importa. Pode ser deixado como está. Mas o nome do meu VPC, o nome que será mostrado na AWS, na verdade, vou mudá-lo para meu PC, algo parecido Vou comandar S para salvá-lo e, apenas para testá-lo, voltarei ao meu servidor. Mas o que eu vou fazer, vou comentar. Então, vou usar o Control e a barra para comentar tudo, vou salvá-lo Isso será visto pelo Terraform como um comando, então será ignorado simplesmente porque quero me concentrar na minha VPC apenas agora e só quero testar se funciona conforme Vou apenas executar o Theraform Plum, e você pode estar se perguntando, a outra coisa é, você pode estar se perguntando, Mark, você não tem o provedor nem nada, o que é? Quero dizer, lembre-se de que o provedor é, na verdade, um arquivo separado e não importa que seja um arquivo separado. O problema é que estou criando um arquivo separado para tudo, arquivo separado para servidor, arquivo separado para VPC e para provedor Mas, na verdade, você poderia ter toda a configuração em apenas um arquivo chamado qualquer que seja o ponto TF Não importa o que você chama. Ele só precisa ter a extensão do ponto TF. Mas o Terraform realmente lê tudo o que está dentro dessa pasta no espaço de trabalho que criamos na pasta Terraform Não importa se sua configuração está em um arquivo ou em 100 arquivos. O Terraform lerá todas as informações de todos os arquivos primeiro e só então começará a agir Ele começará a criar tudo o que você tem nesses arquivos. Também é muito importante entender isso. Eu também queria salientar que existe um novo arquivo chamado Terraform TF state Ele foi criado quando criamos nosso servidor e falaremos sobre isso em breve porque também é um arquivo muito importante. Mas, por enquanto, estamos apenas criando a VPC e o provedor já está especificado em um arquivo separado, mas ele será lido pelo Terraform De qualquer forma. Tudo bem. Então, vou executar o plano Terraform Vamos ver se vai funcionar, e parece que funciona. Um a acrescentar, porque eu comentei sobre o servidor, isso significa que estou apenas criando DVPC, podemos ver a dezena de 0016, a tendência da instância é padrão, e talvez vamos dar uma olhada no ID conhecido após Além disso, o ARN é conhecido após aplicar, etc. Há muitas coisas que só são conhecidas depois que esse recurso é aplicado. Quero dizer, ele é enviado para a AWS e, na verdade, criado lá. Esse ID é muito importante porque precisaremos dele mais tarde, quando criarmos nosso sub. Por enquanto, deixe-me repetir o comentário, mas agora vou me inscrever. Vou dizer que sim desta vez, um a acrescentar. Sim, essa é minha VPC, e ela deve ser chamada de minha VPC quando vemos na nuvem da AWS, então sim Não deve demorar muito. Já está pronto há 2 segundos. Então, se voltarmos às VPCs e atualizarmos esse site, essa página, agora, eu tenho minha própria VPC, chamada de minha VPC, e a sidra é dez.00 slash Esse ID de VPC é o que eu mencionei. VPC ID, Terraform, disse que será conhecido após aplicação porque isso é algo que a AWS cria para nós, e o Terraform só pode lê-lo quando esse recurso for realmente criado e estiver na nuvem 20. Crie uma subrede e uma árvore de dependência do Terraform: Por que eu estava falando sobre esse ID de VPC se ainda não o usamos em nenhum lugar Bem, isso é porque vamos usá-lo agora, quando criarmos uma sub-rede que fará parte dessa nova VPC Porque se atualmente acessamos sub-redes, você pode vê-las aqui à esquerda, em Se usarmos sub-redes, atualmente, temos três sub-redes, mas mesmo analisando os prefixos IP, podemos ver que eles pertencem a essa VPC padrão porque os endereços IP começam com 17231 ou algo assim porque Também podemos ver aqui que todos eles pertencem à mesma VPC, nuvem privada virtual Criamos nossa própria VPC, mas ainda não temos nenhuma sub-rede Essa é minha VPC, mas não tem nenhuma sub-rede. Vamos criar um. Vamos voltar ao nosso código e talvez antes de criar outro arquivo chamado sub-redes, talvez editemos aqui primeiro Eu vou te mostrar o motivo disso. Eu vou ao Google. Agora estamos procurando recursos do Terraform A AWS deve estar neste link. E é assim que posso criar minha sub-rede. Mas se verificarmos um pouco mais, você também pode especificar o ID da zona de disponibilidade. É opcional, mas é algo. Bem, 1 segundo. Acredito que, se voltarmos às instâncias, quero dizer, sei que não são os resultados que estamos procurando, mas se prosseguirmos, acredito que dê uma olhada. Essa é a sub-rede Mas também tem uma zona de disponibilidade especificada. Na verdade, ele também tem uma interface de rede separada, na qual podemos especificar o endereço IP do nosso servidor, e essa é a configuração do próprio servidor. Você sabe o que? Isso é legal. Vamos usar tudo isso, na verdade. Então, primeiro eu preciso da minha sub-rede. Vou copiar exatamente isso, mas vou primeiro colar aqui. Eu quero te mostrar uma coisa. Adicionamos uma sub-rede aqui, configuração, chamada Minha sub-rede Tudo bem. Nós podemos deixar isso. Podemos chamá-lo do que quisermos. Mas onde esse nome é usado? Se eu passar o mouse, ele diz o nome de referência. Esse nome de referência, por exemplo, essa sub-rede M é usado se tivermos que referenciar essa parte, esse recurso em algum outro recurso E olha, isso já acontece aqui nesta linha. Por exemplo, quero criar uma sub-rede, mas essa sub-rede faz parte de VPC mais ampla ou maior e, na verdade, quero que minha sub-rede faça parte dessa VPC, desse recurso O que quero dizer é que, se eu chamar meu recurso, por exemplo , Mark, esse nome de referência também precisará ser alterado aqui. Alguém pode pensar: o que está acontecendo aqui? Por que isso é feito assim? Lembre-se desse ID: o ID da VPC só é conhecido quando a VPC realmente existe na AWS O Terraform precisa criar a VPC primeiro. É preciso esperar até que a AWS atribua um identificador de VPC, que só então pode ser referenciado aqui nesta linha Dizemos que queremos que essa sub-rede faça parte do recurso VPC, e esse recurso, nós o chamamos Esse é o nosso nome para esse recurso, nome de referência, e o Terraform precisa apenas de ID porque a AWS fornecerá ID, ARN, blá, blá, muitas coisas diferentes, mas precisamos apenas referenciar o ID aqui É por isso que, se formos para essa instância, podemos ver neste exemplo, só precisamos do ID. O que quer que eu chame essa VPC, vamos devolvê-la à minha VPC Eu também tenho que mudar esse nome de referência aqui. Novamente, meu VPC tem que corresponder. Imagine como se eu removesse essas aspas e colocasse um ponto aqui, algo parecido. AWS VPC, meu ID de VPC, AWS VPC, dot, meu VPC e, em seguida, eu só preciso Eu sei que é confuso. Eu entendo isso. Tudo isso é feito dessa maneira, então o Terraform entende que terá que criar uma VPC primeiro, e saberá disso porque essa VPC referenciada posteriormente aqui nesta linha Ele cria a chamada árvore de dependências. Tudo bem, eu sei. Agora bloco de sidra para minha sub-rede Digamos que eu queira 10.0.1.0 slash 24 e, como criamos tudo no EuWST e não no Oeste dos EUA, preciso alterar aqui a zona de disponibilidade para EuWST para A porque temos três zonas de disponibilidade, A, B e C, e o nome, preciso alterar aqui a zona de disponibilidade para EuWST para A porque temos três zonas de disponibilidade, A, B e C, e o nome, vou mudar para minha sub-rede. Vou executar o comando S. Vamos executar o teraform apply, talvez fique claro primeiro E vale a pena adicionar Aha porque na verdade não destruímos o VPC. O VPC ainda está lá Só adicionará sub-rede nesse caso. E você verá que a sub-rede também terá seu próprio identificador e também será conhecida somente após a aplicação Então, talvez por enquanto, vamos executá-lo, sim. E foi adicionado. Isso é 1 segundo. Ainda mais rápido e mais rápido. Então, agora, se eu for para sub-redes, devo ter mais uma sub-rede, minha própria sub-rede . E aqui está. É chamado de minha sub-rede. É parte da VPC, minha VPC, e o prefixo IP é dez.01 Mas antes que eu esqueça, vamos agora destruir todos eles. O Terraform destrói, e eu digo, sim, dois para destruir, porque desta vez destruiremos a VPC e a sub-rede Sim. Dê uma olhada no plano. O VPC será destruído e observe que o Terraform sabe qual é o ID agora porque esse VPC foi criado Ele termina com 166e e, de fato, meu VPC E a sub-rede também tem seu próprio ID, mas parece completamente diferente Termina com 71 B. Então, se eu for às sub-redes, podemos ver que, de fato, é É esse identificador, e os dois serão destruídos agora. Então eu digo que sim, Enter. Temos dois destruídos. Então, se eu for e atualizar, voltaremos à VPC e às sub-redes padrão. Se eu também atualizar, Se eu também atualizar, teremos apenas as 21. Crie servidor, sub-rede e VPC e mais sobre dependências: Agora, se voltarmos ao nosso código, lembre-se de que comentamos sobre esses servidores. Deixe-me descomentá-lo com Control forward slash e o comando S. Estávamos vendo esse exemplo na instância da AWS. Temos nosso VBC. Já temos nossa sub-rede e, nessa instância, podemos ver que ela tem algo adicional, a interface de rede, na qual podemos especificar qual IP privado precisamos atribuir a esse servidor virtual Vamos copiar essa parte também. Vamos voltar ao nosso código. Por enquanto, vou colar abaixo para torná-lo maior. Agora, eu já tenho uma instância da AWS. A única coisa nova aqui realmente é essa interface de rede. Então, deixe-me copiar essa parte e eu a colarei na minha instância. É isso mesmo. Isso significa que eu não preciso dessa coisa. Livre-se dessa porção. Então, o que temos agora é exatamente o que costumávamos ter , mas com essa interface de rede adicionada. Essa interface de rede, novamente, tem aquela dependência que o terraform precisa resolver Porque o ID da interface de rede é o ID ponto a ponto da interface de rede da AWS. O que isso significa é que terraform precisa criar esse recurso primeiro Observe que, quando eu destaco essa parte, código VS também destaca essa parte. Ele sabe que a extensão que instalamos para o Terraform, sabe que essas duas estão relacionadas Da mesma forma, se eu destacar essas quatro, essas são essas dependências Sim. É por isso que é muito mais fácil trabalhar quando você adiciona essa extensão de terraform Novamente, se eu alterar o nome desse recurso para, digamos, Mark , também terei que alterá-lo aqui para Mark. O Terraform sabe que precisará criar essa interface de rede primeiro porque esse ID só será conhecido depois que essa interface for criada E agora, com IP privado, eu posso escolher o que eu quiser, mas ele tem que fazer parte da minha sub-rede Então 1001 talvez 20, eu digo. Por que dizia 10.0.1.20? Porque, novamente, essa interface de rede tem outra referência, outra dependência, e é a sub-rede da AWS, minha sub-rede Se voltarmos para a VPC, podemos ver esses resultados aqui, sub-rede da AWS, minha sub-rede Podemos ver que está em um arquivo diferente, mas, como eu disse, não importa. O Terraform lerá todas as informações, tudo o que está dentro desse espaço de trabalho, dentro dessa pasta primeiro Essa sub-rede tem um prefixo de 10010. Isso significa que Ids, meu endereço IP privado, deve estar dentro desse escopo e 100 pontos 120 está dentro desse escopo. Então, talvez eu mude o nome para minha interface. Como podemos ver, temos cada vez mais dependências. Primeiro, ele terá que me deixar talvez comandar S e o terraform terá que primeiro criar a VPC porque a VPC já está referenciada Depois de criar a sub-rede, essa sub-rede é referenciada aqui na interface de rede e, em seguida, essa interface de rede pertencerá ao meu servidor E estamos prontos para correr. Mas antes de fazermos isso, deixe-me voltar para a VPC porque essa sub-rede, também podemos simplesmente cortá-la daqui, e eu vou comandar S, e vou criar um novo arquivo, e vou chamá-lo Dot TF e eu vou colar aqui. Na verdade, você sabe o que? Mostrarei como é fácil agora criar uma segunda sub-rede, se quisermos Onde quer que você esteja, o que quiser copiar, o que quiser criar, basta copiá-lo com base abaixo. Por exemplo, vou chamá-la de minha sub-rede também. Ela fará parte da mesma VPC. Talvez eu mude o bloco de sidra para 10.0.2.0, e talvez eu queira ter essa sub-rede também em Talvez eu mude para B. Também vou chamá-la de minha segunda sub-rede, talvez ou algo parecido E essa eu chamarei minha primeira sub-rede, esse trabalho feito vai comandar S. Agora vamos ver se eu errei alguma Vamos esclarecer tudo e talvez eu preencha o formulário de inscrição. Como lembramos, a inscrição também criará um plano de qualquer maneira. Vamos ver se está tudo bem ou não. Eu vou executá-lo. Parece que está tudo bem. Diz cinco para adicionar. E o que vai acrescentar, vamos voltar ao topo. E o que você pode achar interessante, diz primeiro que criaremos o servidor Marx. Sim. Bem, isso não é verdade. É simplesmente neste estágio que ainda não resolveu essas dependências, mas você verá muito em breve o que quero dizer Se formos mais longe, temos uma instância, sim, temos esse servidor, então ele também criará uma interface de rede para esse servidor. Como podemos ver, está aqui. Isso criará a sub-rede. Isso criará uma segunda sub-rede e VPC. No entanto, quando o executamos, eu digo, sim, se você se concentrar, eu clico em Enter. Ele iniciará a partir da VPC e, em seguida, fará a sub-rede, como você pode ver, e criará a interface de rede Então é a segunda sub-rede porque segunda sub-rede não foi referenciada nessa interface Então, não importa quando é criado, aquele segundo. Mas a primeira sub-rede teve que ser criada antes da criação da interface E o servidor foi criado logo no final porque todas essas dependências precisavam ser resolvidas O servidor tinha essa interface de rede, que fazia parte dessa sub-rede Essa sub-rede fazia parte da VPC. É por isso que tinha que fazer isso em ordem. Tudo bem. Vamos verificar se temos tudo o que queríamos. VPC, vou atualizar. Na verdade, eu tenho minha VPC com esse prefixo IP. Nós vamos para sub-redes Eu atualizo. Temos duas sub-redes, minha primeira sub-rede e segunda sub-rede E se usarmos as instâncias, vamos atualizar. Temos o primeiro servidor de Mark. Bem, não é o primeiro, mas essa é a nossa etiqueta. Mas você pode ver que ele tem IP privado antes do endereço de 100120, que é exatamente o que especificamos aqui em nossa parte do servidor Esse é o nosso IP privado. Tudo funciona conforme o esperado, então destruímos coisas. Eu vou limpar e vou dizer: Theraform destroy. E também será removido em alguma ordem, verifica tudo e diz cinco para destruir. Sim, é exatamente isso que queremos fazer. Então eu digo que sim, e começa com a sub-rede dois, que não é referenciada, depois marca o servidor com a interface Agora, a interface em si, depois a sub-rede referenciada por essa interface e a VPC no final Portanto, a ordem é exatamente oposta à que era quando aplicamos essa infraestrutura. Espero que isso faça sentido. 22. Arquivo Terraform tfstate: Portanto, sabemos como configurar vários recursos e como um recurso pode depender de outro. Como aqui, essa interface de rede só será criada quando tivermos criado a sub-rede Mas como o Terraform sabe o que já foi criado na nuvem da AWS e o que não é? Isso é tudo sobre esse arquivo de estado Theraform TF. Quando você cria algo na nuvem, a AWS produz um monte de informações sobre esse recurso e, em seguida, a Taform as armazena aqui localmente Nesse caso, nós o armazenamos localmente em nosso computador. Como podemos ver, esse arquivo agora é muito curto. Mas agora vamos recriar nossa infraestrutura novamente na nuvem Acabei de executar o Terraform apply e veremos como esse arquivo de estado do TF muda Então, basta pressionar Enter e diz cinco para adicionar, porque adicionaremos sub-rede VPC e a interface de rede mais nossa instância Eu digo, sim, isso parece certo. Então, clique em Enter e essa infraestrutura está sendo criada. Você já pode ver as diferenças. Algo está sendo gravado nesse arquivo. Agora que o processo está concluído, vamos dar uma olhada no que está nesse arquivo de estado Tf Como podemos ver, é muito mais longo agora. Olha isso. Muitas e muitas informações sobre os recursos que acabaram de ser criados em nossa nuvem da AWS. Por exemplo, posso ver que há muitas informações sobre minha VPC, por exemplo, qual é o bloco de sidra Qual é minha tabela de roteamento, ID, lista de acesso à rede, etc O fato é que você geralmente não lê essas informações diretamente desse arquivo. Não é realmente fácil de usar. É só que a quantidade de informações é basicamente avassaladora Em vez disso, você faria isso, normalmente aqui, deixe-me esclarecer. Você funcionaria como um estado de terraform, e então poderíamos ajudar muito. Queremos informações sobre nosso arquivo de estado, esse arquivo de estado do TF Então, temos subcomandos como list, show, remove, push, etc Vamos ver o que a lista faz. Lista de estados do Terraform. O que temos aqui são nossos recursos porque podemos ver que temos uma VPC, duas sub-redes, interface e a instância Se eu quiser obter mais informações sobre minha instância, por exemplo, posso fazer o Terraform state, show e agora vou copiar exatamente isso E exibirá todas as informações sobre minha instância, sobre meus servidores virtuais na nuvem. E agora, todas essas informações são mantidas neste arquivo de estado do TF Então, se eu correr novamente, deixe-me limpar novamente. Se eu executar agora o Terraform apply, o que você acha que vai acontecer? Vamos apresentar. O Terraform estava atualizando o estado, o que significa que entrou em contato com a AWS usando as chaves de API que criamos Eu verifiquei o que já está lá na nuvem, então ele compara essa saída com o que tem aqui neste arquivo de estado do TF e, como tudo combinava perfeitamente, ele nos disse que, sem alterações, sua infraestrutura corresponde à configuração Este arquivo de estado do TF atualmente é mantido aqui localmente no meu laptop O problema é que geralmente acontece, especialmente em empresas maiores, que você não é a única pessoa responsável pela manutenção dessa infraestrutura. Você pode ter, sei lá, cinco ou dez pessoas trabalhando, mantendo e atualizando a mesma infraestrutura O que você faz normalmente é enviar esses arquivos, como arquivos dot Tf do servidor provedor e pc dot Tf Você os manteria remotamente no GitLab ou no GitHub, digamos, para que todos os outros membros pudessem baixar esses arquivos, para que todos ou cada membro tivessem exatamente o mesmo código Mas agora vamos pensar no que acontece se eu e um dos outros membros começarmos a mudar alguma coisa nessa infraestrutura. Por exemplo, eu quero mudar algo em relação ao meu servidor enquanto outra pessoa quer mudar algo em relação à sub-rede Isso pode causar um problema porque meu servidor depende do que está na sub-rede Se algo na sub-rede mudar, isso afetará meu servidor porque lembramos que temos essa interface de rede, e essa interface de rede depende da configuração da sub-rede Então, basicamente, o que precisamos que apenas uma pessoa por vez trabalhe nessa infraestrutura. Mesmo que ambas as pessoas façam algumas mudanças, somente uma pessoa por vez deve ter permissão para alterar a infraestrutura. E uma vez que uma alteração é concluída, somente a próxima mudança pode acontecer, e podemos usar esse arquivo de estado TF para conseguir isso. Quero dizer , usá-lo como uma solução para isso Se trabalharmos em equipe, esse arquivo de estado do TF não será mantido no meu laptop Ele deve ser mantido em algum lugar remoto, onde possa ser atualizado constantemente e bloqueado Portanto, se uma pessoa trabalha na infraestrutura, essa pessoa bloqueará esse arquivo para ninguém mais possa ler ou gravar nesse arquivo. A outra pessoa teria que esperar até que eu, por exemplo, terminasse minhas alterações. Este arquivo é atualizado, só então eu o desbloquearei e a outra pessoa poderá assumir o controle e bloquear o arquivo novamente. Como fazemos isso? Bem, há muitas maneiras de conseguirmos isso. Mas, como estamos trabalhando com a AWS, a solução mais comum é manter esse arquivo no St bucket. É uma solução de armazenamento simples dentro da AWS, onde podemos armazenar os arquivos. Eu posso te mostrar como costumava ser. Precisamos que novos segmentos, como backend do terraform, o chamem É um bucket T dentro da AWS, e esse é o nome do bucket em que queremos armazenar nosso arquivo de estado TF Queremos armazená-lo criptografado. Ou você sabe o que? Talvez devesse ser criptografado, mas deixe-me removê-lo por enquanto. Talvez queiramos dar uma olhada nisso. Então, vou simplesmente removê-lo. Mas deveria ser criptografado, basicamente, sim. Na região EUS também, porque todo o resto é mantido lá, então por quê? Então, como eu disse, você precisa ter esse mecanismo de bloqueio para esse arquivo. Costumávamos ter uma tabela separada do DynamoDB. O DynamoDB é como um banco de dados em miniatura, digamos assim. E quando alguém abre um arquivo no banco de dados, esse arquivo inteiro é bloqueado. Esse foi o mecanismo que usamos para bloquear o arquivo de estado do TF no bucket ST Mas isso também significava que precisávamos manter mais uma coisa em nossa infraestrutura da AWS, que era o DynamoDB Com o terraform mais novo da versão 1.10, você pode verificar sua versão executando a versão raform Você vê eu em 110 pontos quatro. um ponto a dez, há uma nova maneira de fazer isso e você pode substituir esse DynamoDB por um arquivo de log Você pode ver que a extensão do formulário nos ajuda com isso. Temos esse preenchimento automático. Vamos clicar nisso e queremos que seja verdade. Queremos usá-lo, esse mecanismo de bloqueio de arquivos de log dentro do próprio Tree. Tudo bem. Deveria ser isso. Vou apenas comandar S. Agora eu preciso que esse bucket exista na AWS. Deixe-me copiar esse valor porque eu não tenho esse bucket. Vamos criar um rapidamente e eu irei para ST Bucket, que é como um espaço reservado na AWS, onde você pode simplesmente armazenar coisas. Eu tenho alguns baldes. Não me lembro para que servem, mas vou criar um novo. Vou colar esse nome aqui e rolar para baixo. Também é aconselhável ativar o controle de versão do bucket. Portanto, todas as versões mais antigas do arquivo TF State serão preservadas Se alguém sobrescrever esse arquivo com algo incorreto, você poderá voltar para a versão anterior desse arquivo Mas isso depende de você. No entanto, é aconselhável ativá-lo. E eu acabei de criar o balde. O bucket está aqui, então eu volto ao meu código e, o que preciso fazer, preciso executar o Terraform nele novamente para inicializar o repositório inteiro Então eu executo o Terraform nele. Digite inicializando o back-end. O Terraform percebeu que vamos mudar toda a configuração do back-end que o estado do TF Eu me perguntei, você quer copiar o estado existente para o novo back-end? Sim, é isso que eu quero fazer. Tudo bem. Inicialização inicializada com sucesso Então, de agora em diante, se eu for até o meu balde, se eu clicar nele, podemos ver por que esse produto está aqui Isso é o que eu adicionei aqui na chave. Por exemplo, você pode chamá-lo de prod dev test, ou pode chamá-lo de qualquer coisa, porque talvez eu não saiba, você deseja manter o arquivo de estado do TF para vários ambientes no mesmo bucket ST Então, talvez você não queira manter apenas o estado do terraform TF, mas também informações para qual ambiente ele serve É por isso que adicionei prod, mas é opcional, depende de você, na verdade Então, agora, se eu for até aquele produto, esse arquivo de estado do terraform TF será mantido aqui a partir de agora E se eu começar a trabalhar nisso, se eu fizer alguma alteração, esse arquivo de log impedirá que qualquer outra pessoa faça as alterações ao mesmo tempo que eu. Somente uma pessoa poderá fazer as alterações por vez. Então, espero que faça sentido. 23. Variáveis: Agora vamos falar sobre variáveis. Quase toda linguagem de programação tem o conceito de variáveis, e a linguagem de configuração HCL da HashiCorp não tem o conceito de variáveis, e a linguagem de configuração HCL da HashiCorp HashiCorp não é diferente. Também tem o conceito de variáveis. Então, deixe-me primeiro destruir ou executar o Terraform. Destrua porque esquecemos de destruí-lo. Além disso, você pode adicionar aprovação automática. Não perguntará se você quer fazer isso. Sim, tenho certeza de que quero fazer isso, para que possamos adicionar a aprovação automática Vamos destruir essa configuração, essa infraestrutura anterior, e vamos falar sobre essas variáveis. Vamos dar uma olhada na configuração do servidor. Eu tenho essa instância. Eu tenho a interface de rede para isso. Talvez nessa situação, não esteja muito claro por que gostaríamos de usar variáveis. Deixe-me mudar para o que costumávamos ter anteriormente. Tivemos algo parecido. Nosso conflito foi muito mais simples e tivemos várias instâncias Vou copiar isso. Cole aqui e isso será, vamos chamá-lo de Miser short Meu servidor um. Meu servidor dois e também aqui meu servidor um. Meu servidor dois. Se você tivesse alguma experiência com alguma linguagem de programação, sabe que usaria variáveis em qualquer lugar onde tivesse informações repetidas. O que é essa informação repetida aqui? Bem, eu também posso ver. É AMI porque a temos aqui para o servidor número um e o servidor número dois, além do tipo de instância. É T two Micro. Porque se eu quisesse alterar esse tipo de instância, teria que ir até cada linha e substituí-la por T T ou T três. Ou etc. Bem, com dois servidores, talvez não seja um problema, mas e se eu tiver 1.000 servidores. Então é aí que podemos usar essas variáveis. E como faço para usar as variáveis Terraform? Com HCL. O que posso fazer é copiar, por exemplo, minha AMI, copiá-la e substituir esse valor VR dot e vamos chamá-lo de meu tipo de instância. Eu poderia chamar minha variável também de AMI, mas quero torná-la diferente. Então eu quero que você veja claramente o que está acontecendo aqui. E então, no topo, talvez, eu adicione outra linha. Vou chamá-la de variável, e minha variável tem que estar entre aspas, e chamei minha variável, meu tipo de instância, e usarei colchetes E dentro desses colchetes, posso especificar o valor padrão Eu digo que padrão é igual, vou copiar e colar minha No entanto, quero tê-lo como uma string, o que significa que adicionarei aspas Novamente, basicamente temos a mesma coisa, mas agora ela está armazenada como variável, e agora posso substituir todas as linhas que têm AMI pelo valor dessa variável ou pelo nome dessa variável, quero dizer. Vamos substituir esse tipo de instância também. É T dois microatualmente. Então, vou dizer que quero criar uma nova variável e percebi que fiz algo estúpido. Na verdade, não é o tipo de instância, AMIs, meu sistema operacional de instância, digamos, vamos chamá-lo de sistema operacional de minha instância e sistema operacional de minha instância porque é sistema operacional, AMI, é sistema operacional, e eu quero chamar meu tipo de instância, meu tipo de instância Sim. Isso é mais preciso. Ou talvez eu o chame apenas do tipo EC two, então é diferente. E também aqui, EC two type. Agora eu crio outra variável que chamei de EC two type e especifico o valor padrão aqui. Ou você sabe o que? Talvez eu não. E se eu não fizer isso? Vamos ver. Comando S, eu salvei tudo isso e vejo o que acontece. Eu tenho o valor padrão para a AMI, mas não tenho o valor padrão para o tipo EC two. Então, deixe-me esclarecer novamente e vamos executar o Terraform apply. Vamos entrar. Podemos ver Terraform encontrou a variável para AMI, mas não conseguiu encontrar o valor para a variável chamada EC two type Então, ele simplesmente nos pergunta: Insira um valor. Para que você deseja que essa variável seja configurada? Então eu estou dizendo T dois micro. Ao clicar em Enter, o Terraform agora deve ter tudo o que precisa E diz, novamente, cinco para adicionar, e se verificarmos o que ele deseja adicionar, podemos ver que ele deseja adicionar o tipo de instância em o tipo é T dois micro. Tudo bem, mas eu digo não. inscrição foi cancelada e eu quero especificar esse valor padrão Então default é igual a T dois micro e se eu comandar S novamente, se eu executar a reforma aplique agora, agora ele tem todas as informações de que precisa, não precisa me perguntar o valor dessa variável Vai direto para esse estágio. Tudo bem, mas eu digo não novamente porque isso é tudo que eu queria dizer sobre variáveis. 24. arquivo tfvars explicado: Agora, quando falamos sobre as variáveis, há mais um arquivo no qual você pode estar interessado. E é um arquivo com extensão TF vars. Então, deixe-me mostrar que você cria, vamos chamá-la talvez de Terraform, mas usaremos a extensão dot TF vars Não TF, mas TF Vars, sim. E esse arquivo serve apenas para manter as variáveis. Mas alguém pode perguntar, Mark, mas já temos as variáveis, sim. Nós os temos aqui. Então, qual é o objetivo de outro arquivo que manterá apenas variáveis? Bem, existem vários motivos pelos quais você pode querer usar as barras TF Digamos, e se eu tiver uma variável que seja muito importante para mim, como senha. E então talvez você também tenha o valor padrão. Minha senha segura. Talvez seja algo que você não queira manter no Github ou no Gitlab e compartilhar com qualquer pessoa ou qualquer pessoa que tenha acesso ao Gitlab também verá Então, o que você pode fazer é deixar em branco. Foi o que fizemos inicialmente com o tipo EC. Lembre-se de que talvez você possa manter essa senha em branco e, em vez disso, ir até as varas do TF e dizer apenas que senha é igual à minha senha segura, e talvez queira manter esses TFRs em outro lugar em algum tipo de cofre ao qual apenas alguns engenheiros ou talvez apenas Portanto, ninguém mais será capaz de obter essas informações. Mas também, talvez você queira que os TARs simplesmente possam substituir de forma fácil os valores padrão que você tem nas variáveis Então, deixe-me mostrar o que quero dizer. Talvez remova essa senha e vamos ficar com o que já temos. Vou remover isso. Temos dois tipos EC. Além disso, talvez eu queira apenas alterar o tipo EC two ou apenas copiá-lo. A notação é um pouco diferente. Acho que você já percebeu. Se formos para Tavars, vou colar aqui Não estou dizendo que é variável e não está entre aspas porque já sabemos que é variável, é Tavars, é só Vou dizer apenas iguais e, em seguida, como uma string, vou manter talvez R quatro grandes. Isso significa que eu quero sobrescrever o que está neste arquivo. O valor padrão é Tito micro, mas eu quero sobrescrever com R para obter um valor grande Deixe-me apenas comandar S. Vamos ver, esclarecer, e se eu executar Terraform apply, vamos ver o que acontece Temos cinco para adicionar, mas o que é? Podemos ver que ele quer criar a instância, mas desta vez, o tipo de instância é realmente R para grandes. Tenha cuidado com isso, porque esse não é o nível gratuito, você teria que pagar por isso, sim. Mas se eu disser que sim, as instâncias foram criadas e se as verificarmos diretamente na nuvem, posso ver que elas não são mais Tito micros Eles são realmente grandes. Mas, por segurança, deixe-me destruí-los imediatamente. Então, isso pode me custar, mas será uma quantia insignificante de dinheiro Formulário, destruição, aprovação automática. 25. Crie 100 servidores com o meta-argumento 'count': Agora, digamos que eu não queira criar um, mas quero criar 100 servidores no Terraform Como eu faço isso? Bem, talvez, antes de tudo, vamos nos livrar disso. Eu não quero tê-los tão grandes. Ou talvez você saiba o que? Vou apenas remover o arquivo inteiro. Não precisamos mais disso. Vá para o lixo Portanto, Tito micro é nosso valor padrão de três níveis para o tipo de instância. Ok. E agora eu quero criar 100 servidores. Alguém pode dizer: Sim, Mark, você só precisa copiar isso umas 50 vezes e isso lhe dará 100 servidores. Bem, essa pode ser a solução, mas definitivamente não é algo que queremos fazer no terraform Na verdade, eu nem preciso de dois deles. Isso já é informação repetida. Na verdade, só preciso de um recurso, a instância da AWS. Eu posso chamá-lo apenas de meu servidor. Podemos deixar isso como está, e eu posso usar algo chamado meta-argumento. Deixe-me comandar para salvar isso, e vamos usar o Google Terraform Meta-argumento. E eu não preciso depender do meta-argumento. Eu realmente preciso contar o meta-argumento. Mas talvez vamos clicar neste. E na documentação do terraform, você pode ver muitos meta-argumentos diferentes E o que me interessa é, como eu disse, contar. Embora também pudéssemos usar para cada um , vou usar a contagem desta vez. Então, o que eu quero que você note também é que, ao mesmo tempo, você nem sempre quer acessar o recurso de terraform AWS O que você realmente deve fazer é ler documentação do terraform e ver algumas outras coisas que são possíveis de alcançar no terraform, mas não são específicas da AWS Terraform fornece documentação perfeita para cada bit e também fornece exemplos como aqui, create four Se eu usar a contagem quatro, ela simplesmente criará quatro instâncias EC two semelhantes. Pode ser mais fácil do que isso? Conte quatro, eu não preciso de quatro. Eu preciso de 100. O que estou dizendo no meu código é que a contagem é igual a 100. Isso é tudo. 100 servidores serão criados. Mas se voltarmos a esse meta-argumento count, você também pode ver algo parecido. Índice de contagem de pontos. Sobre o que é isso? Índice, também é uma coisa específica da linguagem de programação. Cada item simplesmente criado pelo Terraform terá seu número de índice Podemos usar isso para ter nomes diferentes para cada um dos servidores que serão criados caso contrário, todos terão o mesmo nome. Talvez eu mostre a você, em vez de tentar explicar, que isso fará sentido então. Vou copiar esse índice de contagem. Vou voltar aqui e vou chamá-lo de meu servidor, não um, mas é claro que tenho 100 servidores. Não quero que todos sejam chamados de meu servidor único. Vou usar talvez o traço e depois esse índice de contagem, algo parecido, ou talvez até algo parecido Realmente não importa. Deixe-me apenas comandar S. Vamos ver o que acontece. Deixe-me esclarecer. Nós aplicamos o Terraform Antes que o façamos, vamos voltar às instâncias e encerrar toda essa porcaria São muitas coisas. Agora, deixe-me atualizar isso. Só queria dizer ou mostrar que não temos instâncias em execução. Quero dizer, temos três, mas eles estão encerrados agora. Estávamos jogando no vídeo anterior com eles. Portanto, se eu escolher o estado da instância igual à execução, não devo ter nenhum Vamos remover esse filtro. Temos três encerrados. Vamos voltar ao nosso código. Talvez eu o torne um pouco maior, aplique o terraform e pressione Enter. Vamos ver o que acontece. Diz 103 para adicionar. Isso parece certo porque temos 100 instâncias, o que significa 100 servidores virtuais mais VPC mais duas sub-redes Se verificarmos o que está aqui, VPC é sub-rede dois, sub-rede um, e então temos nossas instâncias E esse é esse número de índice de que eu estava falando. Por exemplo, esse é 99. Eu só queria verificar se são dois micro. Sim, tudo bem. Se formos mais para cima, temos 98, etc., e alguém dirá: por que é 99 e não 100 Acho que não consigo subir tão longe. Não, eu não posso. Mas o fato é que esse número de índice começa a contar a partir de zero por padrão. Então zero é realmente o servidor número um, e 99 é o servidor número 100. Sim. Bem, eu poderia mudar para mais um, mas realmente não adianta e começaria de um e terminaria em 100. Esse não é o meu ponto de vista, na verdade. Vemos que ele criará 100 servidores. Então eu digo que sim, clique em Enter e eles começam a ser criados. Vemos que é aleatório, como um número. Ele não começa do zero, um, dois, três, ele simplesmente tenta criá-los todos ao mesmo tempo ou em lotes, como vários servidores primeiro e vários servidores depois Talvez se formos, esteja concluído. Podemos ver 13 segundos, já devemos ter alguns. Se eu atualizar rapidamente aqui, tudo bem, podemos ver alguns deles já funcionando Então, vamos voltar ao nosso código. Temos 68 aproximadamente 22 segundos 13-22 segundos, eu posso ver o tempo de criação de cada servidor, como aqui, 22 e 13 Mais e mais deles foram criados. Então, se eu já voltar 28, eu atualizo, 37 atualizo Recebemos cada vez mais servidores sendo atualizados novamente. Oh, 99 está sendo criado. Esse é o último. Tudo bem Isso não teve sucesso, o que é engraçado porque diz erro de API, limite de VCPO excedido Você solicitou mais VCPUs do que seu limite atual de VCPUO Eu não estava ciente disso, para ser honesto. Eu não sabia que existia algo assim. Eu costumava criar 100 servidores no passado. Isso não foi um problema. Diz que agora entre em contato com a Amazon. Fácil de solicitar um ajuste para esse limite. Então parece que temos algum limite. Então, quantos servidores foram realmente criados? Vamos dar uma olhada. Oh, parou aos 37. Hmm. Mas você sabe o que? Esse não era o ponto. Não vamos solicitar algumas mudanças nos limites. Meu argumento é que é simplesmente muito fácil usar esses meta-argumentos de contagem ou outros meta-argumentos para criar várias coisas do mesmo tipo ou de tipo semelhante. Temos 37 instâncias, então isso é bom o suficiente para mim. Eu realmente não preciso que esse limite seja ajustado. Então, eu apenas digo, terraform destroy, aprovação automática. Entre e destruiremos o que temos lá. Ao destruir, você verá que a terraforma destruirá apenas; agora você pode ver 37 para destruir O Terraform sabe quantos desses servidores foram criados e sabe exatamente quantos devem ser destruídos porque mantém todas essas informações no arquivo de estado do TF Podemos ver que eles agora foram destruídos. Então, se voltarmos e atualizarmos, não devemos ter nenhum. Quero dizer, eles foram encerrados. Então, novamente, estado da instância, se verificarmos, por exemplo, o estado em execução , não devemos ter nenhum e não temos nenhum. Isso é legal. 26. Como usar o Terraform com o GCP, Azure e outros provedores: Então, agora você tem algum conhecimento sobre terraforma. A questão é: o que você faz sobre isso? O que você faz a seguir? Sim? Como você aprende ainda mais sobre terraform O fato é que a documentação do terrafom é realmente tudo o que você precisa. Porque se você voltar, quero dizer, eu poderia analisar todos os exemplos aqui, como configurar em IS, interraform, etc Mas qual é o objetivo? Você tem aqui toda a documentação de que precisa e ainda tem os exemplos prontos para você. Não vejo o sentido de fazer isso. Em segundo lugar, eu nem sei se você quer trabalhar com a AWS usando o Terraform E se você, por exemplo, quiser usar o GCP, como o provedor do Google Cloud, quero dizer, como você usa o Terraform com Bem, a resposta é: basta acessar o Google e dizer recurso Terraform, GCP, provedor do Google Cloud e, em seguida, instância, por exemplo O que eles chamam de instâncias de dados? É uma instância do Google Compute. Basta clicar nisso. E você tem os exemplos aqui, como usar o Terraform com os serviços do Google Temos a instância de computação do Google. É chamado de padrão. Você pode alterar esse nome para o que quiser. O tipo de máquina é um pouco diferente e é padrão, mas é muito fácil de descobrir. Você só precisa verificar no Google Cloud o que exatamente é e de qual tipo de instância você precisa. Você tem a zona, você tem as páginas. Tudo é muito parecido com o que costumávamos ter na AWS. Basicamente, basta consultar a documentação, examiná-la e brincar com ela. E, como mencionei anteriormente, não confie apenas no que está disponível para um determinado provedor, verifique a documentação do Terraform para ver o que está disponível e o que não está, como fizemos com esses meta-argumentos de contagem Porque essa é basicamente a documentação de todo o Terraform e você pode ver os recursos, mas você pode ver os meta-argumentos Você pode ver os módulos. Os módulos são como equivalência de funções na linguagem de configuração Hoshi Cor, na qual você cria um módulo e pode reutilizá-lo alterando parâmetros Mas não vou passar por isso porque isso não é para iniciantes e você só trabalhará com isso quando trabalhar com uma infraestrutura enorme. Então, talvez você queira usar módulos. Mas o que quero dizer é que, a partir daqui, você pode ir aonde quiser, trabalhar com o que quiser. Você só precisa usar esta documentação e ela lhe dirá exatamente como você usa esse recurso específico ou aquela função ou utilitário específico na era. Portanto, lembre-se de que, se você não quiser parar aqui apenas no Terraform, poderá aprender muitas outras ferramentas de DevOps Se você simplesmente acessar a plataforma automation avenue.com. Você encontrará treinamento em AWS, treinamento programação em Python e muitas outras informações. Se quiser progredir em direção ao DevOps ou ao engenheiro de nuvem, esse é o lugar perfeito para você começar Se você acompanhou este material e realmente jogou com a infraestrutura na AWS, talvez queira adicionar talvez balanceador de carga, talvez um grupo-alvo, etc. Você queira adicionar mais e mais elementos à sua infraestrutura e brincar com Mas todas as informações de que você precisa aqui estão na documentação do terraform com exemplos prontos para você Basta copiar, colar e alterar o que quiser Espero que tenha sido útil e obrigado por assistir.