Com o aumento da tecnologia de computação em nuvem, mais indústrias estão migrando suas cargas de trabalho para a infraestrutura baseada em nuvem. Como resultado desse padrão, os tecnólogos sentiram a necessidade de algum mecanismo de automatizar o processo de implantação de instância (e outros recursos em nuvem). Terraform é uma dessas ferramentas de código aberto para facilitar este progresso.
O que vamos cobrir
Este artigo mostrará como podemos criar uma instância do EC2 na AWS usando o Terraform. Veremos um exemplo de instalação de um servidor da web simples nesta instância. Vamos primeiro falar um pouco sobre a instalação do Terraform.
Como você pode instalar o Terraform
Pacotes oficiais da Terraform para vários sistemas operacionais, como Windows, Mac e Distros baseados em Linux, como Ubuntu/Debian, Centos/Rhel, etc., Estão disponíveis. Além disso, o Terraform também mantém o binário pré-compilado e também pode ser compilado a partir da fonte. Você pode verificar os vários procedimentos de instalação no site da Terraform. Para verificar sua instalação no Terraform, execute o seguinte comando:
1 | $ Terraform -Version |
Criando a instância do AWS EC2 usando o Terraform
Depois de instalar o TerraForm em seu sistema, prossiga com a criação de uma instância do EC2 na AWS. Existem alguns arquivos para gerenciar efetivamente uma implantação de Terraform. Embora possamos criar um único arquivo e declarar tudo, essa abordagem tornará todo o cenário desajeitado. Então, vamos primeiro criar um diretório de trabalho como visto no seguinte:
Passo 1. Comece com uma pasta que manterá todos os arquivos de configuração. Crie a pasta e mova -se dentro dela, como mostrado no seguinte:
1 | $ mkdir linuxhint-terraform && CD Linuxhint-Terraform |
Passo 2. Vamos criar nosso primeiro arquivo de configuração, “Variáveis.TF ”, que contém informações sobre nossa região da AWS e o tipo de instância que queremos usar, conforme mostrado no seguinte:
1 | $ nano variáveis.tf |
Agora, coloque o texto abaixo e salve o arquivo como mostrado no seguinte:
1 2 3 4 5 6 7 8 9 10 | variável "aws_region" |
etapa 3. Por padrão, quando a Terraform cria uma nova instância, o grupo de segurança padrão associado à instância nega todo o tráfego. Portanto, criaremos um novo arquivo, “Secgrp.TF ”, para criar um grupo de segurança,“ Web-SG ”, que permitirá o tráfego“ SSH ”e“ HTTP ”de entrada, bem como todo o tráfego de saída, conforme mostrado no seguinte:
1 | $ nano secgrp.tf |
Agora, coloque o seguinte código dentro dele, como mostrado no seguinte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Recurso "AWS_SECURITY_GROUP" "Web-SG" |
Passo 4. Crie um “principal.arquivo tf ”que definirá a infraestrutura desejada, como mostrado no seguinte:
1 | $ nano Main.tf |
Agora, coloque a seguinte configuração dentro dele:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | Terraform |
No código anterior, não se esqueça de alterar o "nome do usuário" para o nome do usuário do seu sistema e o "nome EC2-Kyypair" para o nome do par de chaves no seu caso. Vamos ver um pouco sobre os parâmetros usados nos arquivos acima:
aws_instance: Isso cria um recurso de instância do EC2. Instâncias podem ser criadas, alteradas e destruídas
Ami: Especifique o ID AMI a ser usado com a instância do EC2
Instância_type: Esta opção é usada para declarar o tipo de instância a ser usada
key_name: Especifica o nome do par de chaves para usar com a instância do EC2
VPC_Security_Group_Ids: Um argumento para uma lista de IDs do grupo de segurança para anexar
Associate_public_ip_address: Especifique se deseja anexar IP público com uma instância dentro de um VPC
dados do usuário: Usado para passar comandos/dados em uma instância ao lançá -los
Agora, inicialize o Terraform executando o seguinte comando:
1 | $ Terraform init |
Agora, aplique as alterações usando o seguinte comando:
1 | $ Terraform se aplica |
Verificando o procedimento
Agora, vamos verificar se a instância EC2 desejada é criada. Vá para o console do EC2 e verifique as instâncias em execução, como mostrado na imagem a seguir:
Como nossa instância foi criada com sucesso, veremos agora se o site que implantamos está funcionando corretamente ou não. Copie o nome DNS ou o IP público da instância e insira -o dentro de um navegador da web, como mostrado no seguinte:
Bom trabalho! Nosso servidor da web está funcionando bem.
Limpando os recursos
Quando você testar sua infraestrutura ou quando não precisar, limpe os recursos executando o seguinte comando:
1 | $ Terraform Destruir |
Conclusão
Este guia nos ensinou sobre a criação de uma instância do EC2 na AWS usando o Terraform. Também demonstramos como provisionar um servidor web AWS simples usando o Terraform.