簡體   English   中英

VPC Peering一直被Terraform取代

[英]VPC Peering is replaced all the time by Terraform

我正在嘗試在兩個不同賬戶的兩個 VPC 之間創建 VPC 對等連接。 一個由我管理,另一個由其他人管理,我無權訪問它。 我正在使用 Terraform 腳本的下一個片段。

resource "aws_vpc_peering_connection" "a" {
  peer_owner_id = var.a.aws_account_id
  peer_vpc_id   = var.a.vpc_id
  vpc_id        = aws_vpc.main.id
  peer_region   = "eu-west-1"

  requester {
    allow_remote_vpc_dns_resolution = false
  }
}

接下來,它將由管理該帳戶的人手動接受。 問題是 Peering 是否被接受 Terraform 想要replace那個 Peering 連接:

  # module.vpc.aws_vpc_peering_connection.a is tainted, so must be replaced
-/+ resource "aws_vpc_peering_connection" "a" {
      ~ accept_status = "active" -> (known after apply)
      ~ id            = "pcx-00000000000000000" -> (known after apply)
        # (5 unchanged attributes hidden)

      + accepter {
          + allow_classic_link_to_remote_vpc = (known after apply)
          + allow_remote_vpc_dns_resolution  = (known after apply)
          + allow_vpc_to_remote_classic_link = (known after apply)
        }

        # (1 unchanged block hidden)
    }

我已經嘗試通過使用lifecycle來防止替換

  lifecycle {
    ignore_changes = all
  }

但這沒有幫助...

嘗試清除資源,例如

terraform untaint aws_vpc_peering_connection.a

通過使用aws_vpc_peering_connection_options資源而不是在aws_vpc_peering_connection請求者中指定選項,當 Terraform 注意到allow_remote_vpc_dns_resolution選項已更改時,我能夠避免重新創建連接本身。

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_peering_connection_options

在對等連接被另一方接受之前,設置該選項仍然會失敗,但是一旦您接受了另一方帳戶的連接,只有選項會被污染,而不是整個連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM