AWS Nat 网关 - 使用非弹性 IP 地址

Rtm*_*tmY 2 amazon-web-services terraform amazon-nat-gateway

我正在通过 Terraform 构建 AWS VPC 网络实验室。

我想添加一个 NAT 网关,以便我的私有网络实例可以访问 Internet 进行软件更新。

从 Terraform规范中,您可以看到“allocation_id”是必需的属性:

allocation_id -(必需)网关的弹性 IP 地址的分配 ID。

在 AWS规范中也进行了检查- 在步骤 1 中:

NAT 网关需要您的公有子网中有一个弹性 IP 地址...

我的问题是:为什么 NAT 网关不能使用简单的non static IPv4 address?

这样做的逻辑原因是什么?(从技术上讲,这是配置的唯一选项)。

注意:问题在 AWS 的范围内,而不是 Terraform。


Terraform 中 Nat 网关配置的简短示例:

resource "aws_nat_gateway" "natgw" {
  allocation_id = "${(aws_eip.nateip.id)}"
  subnet_id     = "${(aws_subnet.public.id)}"
  depends_on    = ["aws_internet_gateway.igw"]
}
Run Code Online (Sandbox Code Playgroud)

eck*_*kes 6

没有办法为这些 NAT 网关设置弹性 IP,这可能是因为网关可以自动重新启动和重新创建(因此通过挂在同一个 IP 上来减少中断)

附加 EIP 不会产生额外费用,因此您只需确保在移除 NAT 网关后释放它们。

在某些情况下,使用 NAT 实例而不是 NAT 网关将是一种选择,在这种情况下,动态公共 IP 将起作用。NAT 实例还可以用作跳转主机或缓存代理(用于您的包存储库)。但你必须管理自己。

IPv6 传出 NAT 网关也不需要定义 EIP。