Интернет-шлюз
Интернет-шлюз - это логическое соединение между Amazon VPC и Интернетом . Это не физическое устройство. Только один может быть связан с каждым VPC. Это не ограничивает пропускную способность интернет-соединения. (Единственным ограничением пропускной способности является размер экземпляра Amazon EC2, и он применяется ко всему трафику - внутреннему для VPC и выходящему в Интернет.)
Если у VPC нет интернет-шлюза, то ресурсы в VPC не могут быть доступны из Интернета (если только трафик не течет через корпоративную сеть и VPN / Direct Connect).
Подсеть считается общедоступной подсетью, если она имеет таблицу маршрутов, которая направляет трафик к интернет-шлюзу.
Экземпляр NAT
Экземпляр NAT - это экземпляр Amazon EC2, настроенный для пересылки трафика в Интернет. Он может быть запущен из существующего AMI или может быть настроен с помощью пользовательских данных, например:
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects
/sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE
/sbin/iptables-save > /etc/sysconfig/iptables
mkdir -p /etc/sysctl.d/
cat <<EOF > /etc/sysctl.d/nat.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.eth0.send_redirects = 0
EOF
Экземпляры в частной подсети, которые хотят получить доступ к Интернету, могут перенаправлять свой связанный с Интернет трафик на экземпляр NAT через конфигурацию таблицы маршрутов. Экземпляр NAT сделает запрос в Интернет (так как он находится в общедоступной подсети), и ответ будет перенаправлен обратно в частный экземпляр.
Трафик, отправляемый на экземпляр NAT, обычно отправляется на IP-адрес, который не связан с самим экземпляром NAT (он будет предназначен для сервера в Интернете). Поэтому важно отключить параметр « Проверка источника / назначения» в экземпляре NAT, иначе трафик будет заблокирован.
NAT Gateway
AWS представила службу шлюза NAT, которая может заменить экземпляр NAT. Преимущества использования сервиса NAT Gateway:
- Это полностью управляемый сервис - просто создайте его, и он будет работать автоматически, включая аварийное переключение
- Он может развивать скорость до 10 Гбит / с (Экземпляр NAT ограничен полосой пропускания, связанной с типом экземпляра EC2)
Тем не мение:
- Группы безопасности не могут быть связаны со шлюзом NAT
- Вам понадобится один в каждом AZ, так как они работают только в одном AZ
An internet gateway is a horizontally scaled, redundant, and highly available VPC component that allows communication between instances in your VPC and the internet. It therefore imposes no availability risks or bandwidth constraints on your network traffic.
. Из описания складывается впечатление, что это фактическое аппаратное устройство, но управляемое AWS. Пожалуйста, поправьте меня, если мое понимание выключено.Что касается шлюза NAT или экземпляра NAT, то все будет работать. Экземпляр NAT может быть немного дешевле, но шлюз NAT полностью управляется AWS, поэтому его преимущество заключается в том, что нет необходимости поддерживать экземпляр EC2 только для NAT.
Однако для экземпляров, которые должны быть доступны в Интернете, шлюз / экземпляры NAT - это не то, что вы ищете. NAT позволит частным экземплярам (без публичного IP) получать доступ к Интернету, но не наоборот. Таким образом, для экземпляров EC2, которые должны быть доступны в Интернете, вам необходимо назначить публичный IP-адрес. Существует обходной путь, если вам действительно нужно сохранить экземпляры EC2 частными - вы можете использовать эластичный балансировщик нагрузки для прокси-запросов.
Интернет-шлюзы
Интернет-шлюз - это то, как ваш VPC подключается к Интернету. Вы используете Интернет-шлюз с таблицей маршрутов, чтобы сообщить VPC, как интернет-трафик попадает в Интернет.
Интернет-шлюз появляется в VPC как просто имя. Amazon управляет шлюзом, и вы ничего не можете сказать (кроме как использовать его или нет; помните, что вам может потребоваться полностью сегментированная подсеть, которая вообще не может получить доступ к Интернету).
Публичная подсеть - это подсеть, в которой интернет-трафик направляется через интернет-шлюз AWS. Любой экземпляр в общедоступной подсети может иметь назначенный ему публичный IP-адрес (например, экземпляр EC2 с включенным «ассоциированным публичным IP-адресом»).
Частная подсеть означает, что экземпляры не являются общедоступными из Интернета. У них нет публичного IP-адреса. Например, вы не можете получить к ним доступ напрямую через SSH. Хотя экземпляры в частных подсетях могут по-прежнему иметь доступ к Интернету сами (например, с помощью шлюза NAT).
источник
Интернет-шлюз используется для подключения виртуальной частной сети к Интернету, а шлюз NAT используется для подключения частной подсети к Интернету (это означает, что любой трафик поступает в экземпляр частной подсети, который перенаправляется на шлюз NAT). вам нужно перенаправить трафик в таблице маршрутизации на NAT
Таблица маршрутов 0.0.0.0/0
источник