小编UEF*_*EFI的帖子

如何强制 terraform 重新创建资源?

我有两个资源:

resource "aws_lightsail_instance" "myserver-sig" {
  name              = "myserver-Sig"
  availability_zone = "eu-west-2a"
  blueprint_id      = "ubuntu_20_04"
  bundle_id         = "nano_2_0"
  key_pair_name     = "LightsailDefaultKeyPair"
}
Run Code Online (Sandbox Code Playgroud)

resource "aws_lightsail_instance_public_ports" "myserver-sig-public-ports" {
  instance_name = aws_lightsail_instance.myserver-sig.name
  port_info {
    protocol  = "tcp"
    from_port = 443
    to_port   = 443
  }
  port_info {
    protocol  = "tcp"
    from_port = 80
    to_port   = 80
  }
  depends_on = [
    aws_lightsail_instance.myserver-sig,
  ]
}
Run Code Online (Sandbox Code Playgroud)

当我第一次运行时,terraform apply这两个资源都会被创建。

如果我想aws_lightsail_instance用新版本替换,那么将aws_lightsail_instance重新部署,但不会,aws_lightsail_instance_public_ports因为端口没有更改。

然而,作为部署的一部分,aws_lightsail_instance它将公共端口更改为关闭 443 并打开 22。这意味着重新部署的最终状态aws_lightsail_instance是端口 443 被关闭。 …

amazon-web-services terraform amazon-lightsail

11
推荐指数
2
解决办法
4万
查看次数