假设我的 AWS 账户上有一个现有的弹性 IP。
由于超出本问题范围的原因,此 EIP 不能(也不能)通过 Terraform 进行管理。
我知道想将此 EIP(例如 11.22.33.44
)分配给我通过 TF 创建的 EC2 实例
传统方法当然是通过 TF 创建 EIP 和 EC2 实例
resource "aws_eip" "my_instance_eip" {
instance = "my_instance.id"
vpc = true
}
resource "aws_eip_association" "my_eip_association" {
instance_id = "my_instance.id"
allocation_id = "aws_eip.my_instance_eip.id"
}
有没有办法通过 TF 让 EC2 知道它应该被分配为 EIP,11.22.33.44
在 TF 生命周期之外?
答案 0 :(得分:2)
您可以使用 aws_eip 数据源获取现有 EIP 的信息,然后在您的 aws_eip_association
中使用该信息:
data "aws_eip" "my_instance_eip" {
public_ip = "11.22.33.44"
}
resource "aws_eip_association" "my_eip_association" {
instance_id = aws_instance.my_instance.id
allocation_id = data.aws_eip.my_instance_eip.id
}