19 de Fevereiro de 2024 - @Walmir Neto
Depois de Configurando usuário Terraform na AWS, vamos dá uma olhada por cima do Terraform OU você pode seguir o Instalando OpenTofu e trocar todos os comandos terraform nesse artigo por tofu
Agora vamos criar uma nova arquivo para os novos testes, no meu caso vou criar uma pasta chamada devops e dentro dela vou criar um arquivo main.tf. Neles vamos ter que criar alguns blocos. O primeiro deles é referente ao provider que será utilizado, além de setar a região, entre outos. Nesse caso basicamente ficaria assim:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
provider "aws" {
# N. Virginia
region = "us-east-1"
}
resource "aws_instance" "ows-apps" {
# Identificador do sistema operacional (Lembrando que é por região)
ami = "ami-09e67e426f25ce0d7"
# Elegível como plano gratuito (caso não extrapole os limites da AWS)
instance_type = "t2.micro"
# Nome da chave ssh (Lembrando que é por região e não precisa de extensão do arquivo)
key_name = "ows-apps"
tags = {
# nome da instancia na AWS
Name = "ows-apps"
}
}
Dentro do bloco provider, temos o parametro key_name que é relacionado a chave ssh. Precisamos criar uma, nesse caso vou criar uma chave chamada ows-apps :
ssh-keygen -t rsa -C [email protected] -f ~/.ssh/ows-apps
Com isso será criado os dois arquivos ows-apps.pub e ows-apps dentro de ~/.ssh e você precisa importa-lá na AWS.
Na barra de pesquisa procure por "Key pairs", clique "Key pairs", em seguida em "Actions" > "Import key pair":

Em seguida ou selecione o arquivo que você criou (no campo "key pair file") ou adicione o conteúdo no textarea:

Feito isso, sua chave vai está salva:

Após a criação do seu arquivo qualquer_coisa.tf, que no caso atual é o main.tf. É preciso rodar alguns comandos do terraform.

terraform init # Prepara/inicializa o projeto (baixa dependencias)