Разрешить доступ в Интернет для экземпляров ec2 с частными IP-адресами в общедоступной подсети?

  • У меня есть общедоступная подсеть (S1) с маршрутом, указывающим на интернет-шлюз в его таблице маршрутов.
  • Запустил экземпляр ec2 (I1) внутри S1, но не выделил ему публичный IP-адрес, поэтому экземпляр имеет только частный IP-адрес и не может быть доступен из Интернета.
  • У меня есть настройка маршрутизации на основе пути от моего шлюза к экземпляру (I1), которая работает просто отлично, то есть запросы к шлюзу обслуживаются без помех.
  • Проблема в том, что мне нужен доступ к какому-либо ресурсу в Интернете из моего экземпляра I1, но экземпляр не должен быть доступен извне.

Я ошибаюсь, полагая, что экземпляр может взаимодействовать с Интернетом через шлюз (точно так же, как мобильный телефон с частным IP-адресом в сети Wi-Fi общается с Интернетом через открытый IP-адрес точки доступа)?!

Просто хотел узнать, можно ли добиться этого случая, не назначая публичный IP/Elastic IP моему экземпляру, потому что вам нужен доступ в Интернет для установки любого программного обеспечения, как люди будут выполнять это требование?!

ПРИМЕЧАНИЕ. Для частных подсетей шлюз NAT работает нормально, но это общедоступная подсеть. Если вы указываете его на шлюз NAT, вам нужно удалить маршрут, указывающий на интернет-шлюз, то есть мой шлюз не сможет связаться с моим экземпляром (Потому что ALB/Gateway взаимодействует только с экземплярами в публичной подсети в AWS?!)

PS: новичок в aws, пожалуйста, не злоупотребляйте какими-либо пробелами в знаниях, заранее спасибо.

--Yash

1 ответ

Решение

Вы неправильно понимаете / неправильно используете публичные и частные подсети.

Общедоступная подсеть имеет интернет-шлюз (IGW). Экземплярам в общедоступной подсети нужны общедоступные IP-адреса для доступа в Интернет.

Частная подсеть имеет шлюз NAT или экземпляр NAT. Экземпляры в частной подсети не имеют общедоступных IP-адресов.

В итоге: если подсеть имеет IGW, это общедоступная подсеть. Если в подсети есть NAT, то это частная подсеть.

Решение вашей проблемы:

  1. Создайте новую подсеть.
  2. Создайте шлюз NAT. Назначьте шлюз NAT для подсети.
  3. Создайте AMI для каждого из ваших экземпляров, которые вам нужно переместить в частную подсеть, а затем закройте эти экземпляры. Позже вы можете прекратить их, но подождите, пока не узнаете, что следующие шаги выполнены правильно.
  4. Запустите новые экземпляры EC2 из каждого из AMI, созданных на шаге № 3.
  5. Убедитесь, что все работает. Затем прекратить старые экземпляры. Ваши AMI также служат резервными копиями для этих экземпляров.

Что помогает с вашим требованием:

"Вы можете использовать общедоступные IP-адреса в своем экземпляре, а затем заблокировать их группами безопасности. Риск зависит от того, какой тип доступа разрешен и откуда".

Другие вопросы по тегам