Amazon web services 在分离IGW之前解除EIP的关联
当我修改VPC的子网时,将提供一个全新的VPC。IGW从旧VPC移动到新VPC。如果不阻止它移动,那就好了,因为弹性IP仍然连接到实例 我尝试了许多与Amazon web services 在分离IGW之前解除EIP的关联,amazon-web-services,amazon-ec2,terraform,Amazon Web Services,Amazon Ec2,Terraform,当我修改VPC的子网时,将提供一个全新的VPC。IGW从旧VPC移动到新VPC。如果不阻止它移动,那就好了,因为弹性IP仍然连接到实例 我尝试了许多与依赖的组合 如果我手动解除EIP的关联,terraform IGW修改将永远停止等待 ######################## # ELASTIC IP # ######################## resource "aws_eip" "ip" {} # EIP association isolated fo
依赖的组合
如果我手动解除EIP的关联,terraform IGW修改将永远停止等待
########################
# ELASTIC IP #
########################
resource "aws_eip" "ip" {}
# EIP association isolated for testing "depends on"
resource "aws_eip_association" "eip_assoc" {
instance_id = "${aws_instance.vpn_server.id}"
allocation_id = "${aws_eip.ip.id}"
depends_on = ["aws_internet_gateway.gw","aws_vpc.vpc"]
}
########################
# VPC CREATION #
########################
resource "aws_vpc" "vpc" {
cidr_block = "${var.cidr}"
enable_dns_support = true
enable_dns_hostnames = true
assign_generated_ipv6_cidr_block = "${var.ipv6}"
}
########################
# IGW CREATION #
########################
resource "aws_internet_gateway" "gw" {
vpc_id = "${aws_vpc.vpc.id}"
}
########################
# Instance #
########################
resource "aws_instance" "vpn_server" {
ami = "${data.aws_ami.ami_amzn2.id}"
instance_type = "t2.micro"
key_name = "${aws_key_pair.key.key_name}"
subnet_id = "${aws_subnet.a.id}"
associate_public_ip_address = true
ipv6_address_count = 1
vpc_security_group_ids = ["${aws_default_security_group.sg.id}"]
lifecycle { create_before_destroy = true }
depends_on = ["aws_internet_gateway.gw"]
user_data = "${data.template_file.user_data.rendered}"
}
########################
# Subnets Creation #
########################
data "aws_availability_zones" "available" {}
resource "aws_subnet" "a" {
availability_zone = "${data.aws_availability_zones.available.names[0]}"
vpc_id = "${aws_vpc.vpc.id}"
cidr_block = "${cidrsubnet(aws_vpc.vpc.cidr_block, 2, 0)}"
map_public_ip_on_launch = true
# Bug Issue 688: https://github.com/terraform-providers/terraform-provider-aws/issues/688
# Soon set even if no IPv6 for VPC
# https://github.com/terraform-providers/terraform-provider-aws/pull/2103
ipv6_cidr_block = "${var.ipv6 ? cidrsubnet(aws_vpc.vpc.ipv6_cidr_block, 8, 10) : ""}"
assign_ipv6_address_on_creation = true
}
知道在IGW尝试移动到新的VPC之前,解除EIP关联的正确方法是什么吗?Internet网关不需要任何费用,因此很难找到将IGW从一个VPC移动到另一个VPC的理由。@chriscatfr当您修改子网时,您是否正在更改“${aws_subnet.a.id}”?如果是这样的话,你能展示一下代码吗?@Michael sqlbot,Terraform是想将其从旧VPC中移除的人。我只是想更改VPC ip范围,并为我的服务器保留相同的弹性ip。@kenlukas,我编辑了这个问题以添加子网。我唯一更改的是VPC cidr_块,它也被子网使用。这个问题只是关于当我试图只改变这个苹果酒时会发生什么。有些依赖项是错误的:在我解除EIP关联之前,IGW无法从旧VPC中分离。