AWS Nat Gateway - использование неэластичного IP-адреса
Я строю сетевую лабораторию AWS VPC через Terraform.
Я хочу добавить NAT-шлюз, чтобы экземпляры моей частной сети могли выходить в Интернет для обновления программного обеспечения.
Из спецификации Terraform вы можете увидеть, что "alloc_id" является обязательным атрибутом:
alloc_id - (Обязательный) Идентификатор распределения Эластичного IP-адреса для шлюза.
Проверено также в спецификации AWS - на шаге 1:
Шлюзу NAT требуется эластичный IP-адрес в вашей общедоступной подсети...
Мой вопрос: почему шлюз NAT не может использовать простой non static IPv4 address
?
В чем логическая причина этого? (технически, это единственный вариант для настройки).
Примечание: вопрос находится в сфере действия AWS, а не Terraform.
Краткий пример конфигурации Nat Gateway в Terraform:
resource "aws_nat_gateway" "natgw" {
allocation_id = "${(aws_eip.nateip.id)}"
subnet_id = "${(aws_subnet.public.id)}"
depends_on = ["aws_internet_gateway.igw"]
}
2 ответа
Эластичный IP для этих шлюзов NAT никак не обходится, возможно, потому, что шлюзы могут быть перезапущены и воссозданы автоматически (и, следовательно, уменьшить прерывание, зависая на том же IP)
EIP не требует дополнительных затрат при подключении, поэтому вам нужно только освободить их после удаления шлюза NAT.
В некоторых ситуациях вариант с NAT-инстансом вместо NAT-шлюза может быть вариантом. В этом случае будет работать динамический общедоступный IP-адрес. Экземпляр NAT также может использоваться в качестве хоста перехода или кеширующего прокси (для вашего хранилища пакетов). Но ты должен управлять собой.
Исходящий NAT-шлюз IPv6 также не требует определения EIP.
Это связано с тем, что шлюзы NAT могут быть перезапущены либо в результате технического обслуживания, либо из-за сбоев. так как отказоустойчивый AWS заставляет вас использовать EIP.
как подсказывает Эккс, вы можете создать свой собственный экземпляр NAT, который в прошлом был единственным способом заниматься наттингом.
Вы можете проверить этот модуль terraform https://github.com/terraform-community-modules/tf_aws_nat