начинающий terraform: куда пропал мой экземпляр EC2? - PullRequest
1 голос
/ 02 октября 2019

Я создал совершенно новую (бесплатную) учетную запись AWS.

Используя terraform, я создал экземпляр EC2, но не вижу его в консоли aws.

Мой скрипт terraform очень прост

provider "aws" {
  region = "us-east-2"
}

resource "aws_instance" "example" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
  tags = {
    Name = "terraform-example"
  }
}

terraform apply завершается успешно, но при переходе к EC2 на консоли AWS он сообщает, что экземпляров нет ...

Даже если я войду в систему как root-аккаунт AWS.

Из любопытства я создал экземпляр EC2 вручную через консоль AWS. Я вижу, что этот файл создан вручную.

Если я снова запускаю terraform plan, он все равно говорит, что все в порядке ...

Не стоит ли попытаться удалить этот новый экземпляр вручную вместо этого?

Подтверждает ли это, что мой экземпляр terraform не просматривает учетную запись, я думаю, что это ???


Позже я взял те же учетные данные и файл main.tf на другой ноутбук

Первоначально terraform plan не распознал мой EC2 (или что-либо еще), созданный ранее (полагаю, это потому, что я не копировал файл состояния Terraform ...).

Ran terraform apply которые воссоздали элементы ... и на этот раз я вижу экземпляры, которые я создаю ...

Следующий шаг: попытайтесь выяснить, был ли этот первоначальный экземпляр EC2 создан в другом регионе ... который янадеюсь выяснить через биллинг / или активность ...

Ответы [ 2 ]

1 голос
/ 02 октября 2019

Выбран ли регион us-east-2 (штат Огайо) на консоли AWS. По умолчанию я думаю, что по умолчанию используется us-east-1 (Вирджиния) для новых учетных записей в США, но ваш провайдер TF AWS настроен для развертывания на us-east-2.

0 голосов
/ 02 октября 2019

Это потому, что я не использовал учетные данные, я думал ...

Я думал, что настроил 2 переменные env AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY, но я сделал опечатку при назначении AWS_SECRET_ACCESS_KEY, и он не был установлен.

Случилось так, что у меня в папке ~ / .aws висел файл "учетных данных" с тестами, которые я провел на другом аккаунте AWS около года назад (о котором я все забыл).

После того, как я удалил файл .aws / credentials И правильно назначил AWS_SECRET_ACCESS_KEY, все прошло как положено.

Я использовал трюк, данный мне Лаурой М. (спасибо), чтобы показать, какие данные пользователя были использованыпо терраформе

data "aws_caller_identity" "current" {}

output "account_id" {
  value = "${data.aws_caller_identity.current.account_id}"
}

output "caller_arn" {
  value = "${data.aws_caller_identity.current.arn}"
}

output "caller_user" {
  value = "${data.aws_caller_identity.current.user_id}"
}
...