← Назад к вопросам

В чем разница между NAT gateway и Internet gateway в AWS?

2.0 Middle🔥 172 комментариев
#Облачные технологии#Сети и протоколы

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

NAT Gateway и Internet Gateway в AWS: ключевые различия

В AWS, NAT Gateway (Gateway для трансляции сетевых адресов) и Internet Gateway (IGW, Интернет-шлюз) — это два фундаментальных сетевых компонента, которые обеспечивают связь ресурсов в VPC с интернетом. Их основное различие заключается в направлении трафика и типе доступа, который они предоставляют.

Основная функция и предназначение

Internet Gateway — это мост между вашим VPC (Virtual Private Cloud) и публичным интернетом. Его главная задача — обеспечить двустороннюю связь для ресурсов, имеющих публичные IP-адреса (Elastic IP или публичные IPv4 адреса из пула AWS).

  • Он позволяет входящему трафику из интернета достигать ресурсов в вашем VPC (например, веб-сервера).
  • Он позволяет исходящему трафику из этих ресурсов в VPC попадать в интернет.

NAT Gateway решает совершенно другую задачу. Он предназначен для обеспечения безопасного исходящего подключения к интернету для ресурсов в приватных подсетях VPC, которые не имеют публичных IP-адресов.

  • Он разрешает только исходящий трафик. Инстансы в приватной подсети могут, например, скачивать обновления или отправлять данные в внешние API.
  • Он блокирует любой входящий трафик из интернета напрямую к этим приватным инстансам, что является ключевым элементом безопасности.

Аналогия для понимания

Представьте вашу VPC как офисное здание:

  • Internet Gateway — это главный вход и выход. Любой (из интернета) может через него войти, если знает адрес (публичный IP), и сотрудники (ресурсы с публичным IP) могут через него свободно выходить.
  • NAT Gateway — это служебный выход только для сотрудников из внутренних помещений (приватных подсетей). Эти сотрудники не имеют «личного» публичного адреса. Когда они выходят в интернет через этот выход, всем внешним сервисам кажется, что они выходят с адреса самого NAT Gateway (его Elastic IP). При этом посторонние не могут войти в здание через служебный выход.

Архитектура и размещение

  • Internet Gateway — это региональный ресурс (работает на уровне Region), который прикрепляется к VPC. По сути, это логическая сущность, не имеющая конкретного IP в вашей подсети.
  • NAT Gateway — это ресурс, который размещается в определенной публичной подсети вашего VPC. Он должен иметь доступ в интернет через Internet Gateway этой VPC. Вы создаете его явно и назначаете ему Elastic IP.
# Пример высокоуровневой архитектуры в Terraform
# Internet Gateway прикрепляется к VPC
resource "aws_internet_gateway" "igw" {
  vpc_id = aws_vpc.main.id
}

# NAT Gateway создается в ПУБЛИЧНОЙ подсети
resource "aws_nat_gateway" "nat" {
  allocation_id = aws_eip.nat.id # Привязывает Elastic IP
  subnet_id     = aws_subnet.public.id # Размещается в публичной подсети!

  # Для работы NAT Gateway нужен маршрут в интернет через IGW
  # Это обеспечивается таблицей маршрутов публичной подсети.
}

Использование в маршрутах (Route Tables)

Различие наиболее ярко проявляется в таблицах маршрутов:

  • Для публичной подсети: маршрут для интернет-трафика (0.0.0.0/0) указывает на Internet Gateway, позволяя инстансам в этой подсети быть доступными извне и изнутри.
  • Для приватной подсети: маршрут для интернет-трафика (0.0.0.0/0) указывает на NAT Gateway, разрешая только исходящие соединения.
# Пример таблиц маршрутов в AWS CLI (концептуально)
# Публичная таблица маршрутов:
# Dest: 0.0.0.0/0 -> Target: aws_internet_gateway (igw-xxxxx)

# Приватная таблица маршрутов:
# Dest: 0.0.0.0/0 -> Target: aws_nat_gateway (nat-xxxxx)
# Dest: 10.0.0.0/16 -> Target: local (для внутри-VPC трафика)

Сценарии применения

  • Internet Gateway нужен всегда, если в вашем VPC есть ресурсы, которым требуется публичный доступ (веб-серверы, балансировщики нагрузки, VPN-серверы).
  • NAT Gateway используется в классических многоуровневых архитектурах:
    *   Базы данных (RDS), серверы приложений, кэши (ElastiCache) размещаются в приватных подсетях.
    *   Для обновлений, скачивания пакетов или вызова внешних сервисов этим ресурсам необходим исходящий доступ в интернет, но входящий доступ должен быть строго запрещен.
    *   NAT Gateway предоставляет этот безопасный выход, маскируя истинные приватные IP-адреса ресурсов своим публичным Elastic IP.

Сводная таблица различий

КритерийInternet Gateway (IGW)NAT Gateway
Основная рольДвусторонний шлюз между VPC и интернетомШлюз только для исходящего трафика из приватных подсетей
Направление трафикаВходящий и исходящийТолько исходящий
Для каких ресурсовРесурсы с публичными IP-адресамиРесурсы в приватных подсетах (без публичных IP)
Требует публичного IPДа, для ресурсов, использующих егоДа, у самого NAT Gateway есть Elastic IP
РазмещениеРегиональный ресурс, прикрепляется к VPCСоздается в конкретной публичной подсети
БезопасностьПозволяет прямой доступ из интернетаЗащищает приватные ресурсы от прямого доступа из интернета
СтоимостьБесплатноПлатный ресурс (за час работы и объем обработанных данных)

В заключение, Internet Gateway обеспечивает полноценный доступ в интернет, а NAT Gateway — это инструмент контролируемого и безопасного исходящего подключения для внутренних, непубличных компонентов вашей архитектуры. В типовом сценарии они работают вместе: Internet Gateway подключен к VPC, а NAT Gateway, размещенный в одной из публичных подсетей этой VPC, использует этот IGW для собственного выхода в интернет, чтобы затем обслуживать запросы из приватных подсетей.

В чем разница между NAT gateway и Internet gateway в AWS? | PrepBro