Назад | Перейти на главную страницу

Terraform: невозможно подключиться к провайдеру AWS с помощью общего файла конфигурации или статической переменной

Я пытаюсь использовать terraform для управления ресурсами AWS и пытаюсь настроить конфигурацию учетных данных. Я слежу за официальной документацией: https://www.terraform.io/docs/providers/aws/index.html

Моя первая идея заключалась в создании файла общих учетных данных, поэтому я настроил его:

Когда я бегу 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.