Я пытаюсь использовать terraform для управления ресурсами AWS и пытаюсь настроить конфигурацию учетных данных. Я слежу за официальной документацией: https://www.terraform.io/docs/providers/aws/index.html
Моя первая идея заключалась в создании файла общих учетных данных, поэтому я настроил его:
~ .aws / учетные данные
[default]
aws_access_key_id=****
aws_secret_access_key=****
~ .aws / config
[default]
region=us-east-1
output=json
приложение / main.tf
provider "aws" {
region = "us-east-1"
version = "~> 2.0"
profile = "default"
}
terraform {
backend "s3" {
bucket = "example-bucket"
key = "terraform-test.tfstate"
region = "us-east-1"
}
}
Когда я бегу terraform init
Я получаю следующее сообщение:
Error: No valid credential sources found for AWS Provider.
Please see https://terraform.io/docs/providers/aws/index.html for more information on
providing credentials for the AWS Provider
Я уже проверил учетные данные с помощью aws cli, и он отлично работает.
После этого я попытался настроить статические учетные данные в main.tf следующим образом:
provider "aws" {
region = "us-east-1"
version = "~> 2.0"
profile = "default"
access_key = "****"
secret_key = "****"
}
Та же ошибка ...
Я решил протестировать с переменными среды, и тогда это сработало. Но теперь я хочу знать, почему мне не удалось настроить статические переменные или общий файл конфигурации. Все эти случаи описаны в официальных документах, что я делаю не так?
Единственное, что я вижу, это ~ .aws / config, моя конфигурация таким образом
~ / .aws / учетные данные
[default]
aws_access_key_id = ****
aws_secret_access_key = ****
region = us-east-2
Для этой конфигурации выше terraform просто нужен
provider "aws" {
region = "us-east-1"
version = "~> 2.0"
}
С другой стороны вы можете поставить все на провайдера вот так
provider "aws" {
region = "us-east-1"
version = "~> 2.0"
access_key = "****"
secret_key = "****"
}
Кстати backend
не будет работать в первый раз, поэтому прокомментируйте, что запускайте terraform init
, после того, как программа проверки была загружена, раскомментируйте резервную копию и снова запустите инициализацию terraform. Если ошибка не исчезнет, сообщите версию terraform.