Terraform не может читать из удаленного состояния - PullRequest
0 голосов
/ 22 июня 2019

Версия Terraform

v0.12.1

Версия провайдера AWS

v2.16.0

Я настроил рабочее пространство Terraform, как и сейчас мое рабочее пространствоуказывает на dev, где у меня есть файл tfstate для моих VPC и подсетей и другой файл для моих групп безопасности, однако, когда я пытаюсь передать vpc_id из моего удаленного tpstate vpc в мою группу безопасности, я получаюниже сообщение об ошибке

No stored state was found for the given workspace in the given backend.

Моя корзина s3 выглядит следующим образом

nonprod-us-east-1
  |-- env
         |-- dev
                |-- vpc_subnet/tfstate
                |-- security_group/tfstate

Файлы конфигурации Terraform

Security-Group tf config
terraform {
    backend "s3"{
        # Configuration will be injected by environment variables.
    }
}

provider "aws" {
  region = "${var.region}"
}


data "terraform_remote_state" "vpc_subnet" {
  backend = "s3"

  config = {
    bucket  = "nonprod-us-east-1"
    key     = "vpc_subnet/tfstate"
    region  = "us-east-1"
  }
}

 vpc_id = "${data.terraform_remote_state.vpc_subnet.outputs.vpc_id}"

И я проверил, что мои vpc_subnet/tfstate oputputs имеют vpc_id

Выходы из состояния подсети VPC

outputs": {
    "private_subnet_cidr_blocks": {
      "value": [
        "10.0.3.0/24",
        "10.0.4.0/24",
        "10.0.5.0/24"
      ],
      "type": [
        "tuple",
        [
          "string",
          "string",
          "string"
        ]
      ]
    },
    "private_subnet_ids": {
      "value": [
        "subnet-042a16dd291e90add",
        "subnet-02e8322d996968a3f",
        "subnet-078f525c24015b364"
      ],
      "type": [
        "tuple",
        [
          "string",
          "string",
          "string"
        ]
      ]
    },
    "public_subnet_cidr_blocks": {
      "value": [
        "10.0.0.0/24",
        "10.0.1.0/24",
        "10.0.2.0/24"
      ],
      "type": [
        "tuple",
        [
          "string",
          "string",
          "string"
        ]
      ]
    },
    "public_subnet_ids": {
      "value": [
        "subnet-0ba92a28f6e8ddd95",
        "subnet-08efcb80bed22f4e2",
        "subnet-0b641797bfe207a0b"
      ],
      "type": [
        "tuple",
        [
          "string",
          "string",
          "string"
        ]
      ]
    },
    "vpc_id": {
      "value": "vpc-0bb7595ff05fed581",
      "type": "string"
    }
  }

Ожидаемое поведение

Должно быть в состоянии прочитатьvpc_id из удаленного местоположения состояния tf.

Фактическое поведение

Не удалось прочитать вывод из состояния удаленного состояния tf

1 Ответ

0 голосов
/ 22 июня 2019

Наконец, разобрались, проблема с ключом корзины, так как я использую рабочее пространство Terraform, поэтому файлы tfstate создаются в папке env:/dev/vpc_subnet/tfstate, после исправления ключа корзины он может разрешить файлы tfstate.,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...