失败关联EIP:InvalidParameterCombination:将地址映射到VPC实例时必须指定分配ID

时间:2017-05-22 16:46:19

标签: terraform elastic-ip

鉴于此:

resource "aws_instance" "example" {
  ami           = "ami-2757f631"
  instance_type = "t2.micro"
}

resource "aws_eip" "ip" {
  instance = "${aws_instance.example.id}"
}

来自https://www.terraform.io/intro/getting-started/dependencies.html

我收到错误:

* aws_eip.ip: Failure associating EIP: InvalidParameterCombination: You must specify an allocation id when mapping an address to a VPC instance

知道为什么吗?

1 个答案:

答案 0 :(得分:8)

Terraform中的aws_eip资源使用vpc配置属性(truefalse)的值作为切换来决定资源ID应该是allocation_id,还是它public_ip。然后,我们在API调用中使用ID将EIP与实例相关联。

在EC2 Classic中,AssociateAddress调用需要public_id值。在EC2-VPC中,它期望allocation_id值。

对于附加到VPC中的实例资源的aws_eip资源,您需要在vpc = true配置中包含aws_eip