create an ec2 instance in North Virginia region that's publicly accessible in Terraform code that meets the following specifications: 

- allows all inbound SSH
- allows egress to all
- latest Amazon Linux 2 image, gp2 compatible
- instance type t3.micro

also add other necessary resources and config in the code
system
Crie uma instância do EC2 na região do Norte da Virgínia que seja acessível ao público no código Terraform que atenda às seguintes especificações:

- Permite todo o ssh de entrada
- permite a saída de todos
- Última imagem do Amazon Linux 2, compatível com GP2
- Tipo de instância T3.micro

Adicione também outros recursos necessários e configure no código
user
Claro!Aqui está o código Terraform que cria uma instância do EC2 na região do norte da Virgínia (EUA-East-1) que atenda aos requisitos especificados:

`` `
Terraform {

  # Nota: substitua pela versão que você precisa ou use
  requerir_version = "> = 1.2.0"

  requerir_providers {
    aws = {
      fonte = "Hashicorp/AWS"
      # Nota: substitua pela versão que você precisa ou use
      versão = "~> 4.16"
    }
  }
}

# Defina o provedor e a região
Provedor "AWS" {
  região = "US-leste-1"
}

# Recupere a imagem mais recente do Amazon Linux 2 que é compatível com GP2
Dados "AWS_AMI" "Amazon_linux_2" {
  Most_recent = true

  filtro {
    nome = "nome"
    valores = ["amzn2-ami-hvm-2.0.*-x86_64-gp2"]
  }

  filtro {
    nome = "estado"
    valores = ["disponível"]
  }
}

# Crie um grupo de segurança para a instância do EC2 para permitir a entrada de ssh de qualquer IP e saída de todas as portas para qualquer IP
Recurso "AWS_SECURITY_GROUP" "EC2_SG" {

  Ingressão {
    Descrição = "SSH de qualquer lugar"
    de_port = 22
    to_port = 22
    protocolo = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  saída {
    Descrição = "saída para qualquer lugar"
    de_port = 0
    to_port = 0
    protocolo = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

# Crie uma instância do EC2
Recurso "AWS_INSTANCE" "amostra" {
  ami = data.aws_ami.amazon_linux_2.image_id
  Instance_type = "T3.Micro"
  Security_groups = [aws_security_group.ec2_sg.name]
}

`` `

Neste código, primeiro definimos as versões do Terraform e do Provedor da AWS e depois especificamos o fornecedor como a AWS e implantamos os recursos para a região "EUA-East-1" (Northern Virginia).

Em seguida, criamos um grupo de segurança que permite todo o SSH de entrada e todo o tráfego de saída.

Por fim, definimos uma instância do EC2 com a mais recente imagem do Amazon Linux 2, "T3.Micro", e conectamos o grupo de segurança a ela.

Espero que ajude!
assistant
<|system|>
</s>
<|user|>
Crie uma instância do EC2 na região do Norte da Virgínia que seja acessível ao público no código Terraform que atenda às seguintes especificações:

- Permite todo o ssh de entrada
- permite a saída de todos
- Última imagem do Amazon Linux 2, compatível com GP2
- Tipo de instância T3.micro

Adicione também outros recursos necessários e configure no código</s>
<|assistant|>
Claro!Aqui está o código Terraform que cria uma instância do EC2 na região do norte da Virgínia (EUA-East-1) que atenda aos requisitos especificados:

`` `
Terraform {

  # Nota: substitua pela versão que você precisa ou use
  requerir_version = "> = 1.2.0"

  requerir_providers {
    aws = {
      fonte = "Hashicorp/AWS"
      # Nota: substitua pela versão que você precisa ou use
      versão = "~> 4.16"
    }
  }
}

# Defina o provedor e a região
Provedor "AWS" {
  região = "US-leste-1"
}

# Recupere a imagem mais recente do Amazon Linux 2 que é compatível com GP2
Dados "AWS_AMI" "Amazon_linux_2" {
  Most_recent = true

  filtro {
    nome = "nome"
    valores = ["amzn2-ami-hvm-2.0.*-x86_64-gp2"]
  }

  filtro {
    nome = "estado"
    valores = ["disponível"]
  }
}

# Crie um grupo de segurança para a instância do EC2 para permitir a entrada de ssh de qualquer IP e saída de todas as portas para qualquer IP
Recurso "AWS_SECURITY_GROUP" "EC2_SG" {

  Ingressão {
    Descrição = "SSH de qualquer lugar"
    de_port = 22
    to_port = 22
    protocolo = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  saída {
    Descrição = "saída para qualquer lugar"
    de_port = 0
    to_port = 0
    protocolo = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

# Crie uma instância do EC2
Recurso "AWS_INSTANCE" "amostra" {
  ami = data.aws_ami.amazon_linux_2.image_id
  Instance_type = "T3.Micro"
  Security_groups = [aws_security_group.ec2_sg.name]
}

`` `

Neste código, primeiro definimos as versões do Terraform e do Provedor da AWS e depois especificamos o fornecedor como a AWS e implantamos os recursos para a região "EUA-East-1" (Northern Virginia).

Em seguida, criamos um grupo de segurança que permite todo o SSH de entrada e todo o tráfego de saída.

Por fim, definimos uma instância do EC2 com a mais recente imagem do Amazon Linux 2, "T3.Micro", e conectamos o grupo de segurança a ela.

Espero que ajude!</s>
