Как сделать экземпляр EC2 в частной подсети доступным из Интернета?(как в возможности посетить веб-сайт) - PullRequest
0 голосов
/ 06 марта 2019

Я знаю, что одним из способов является использование балансировщика нагрузки в общедоступной подсети, но для сервера разработки нам не нужен балансировщик нагрузки. Есть ли альтернативный вариант, который позволит приложению в частной подсети быть доступным из Интернета?

Если нет, то лучше ли было бы просто оставить сервер разработки в общедоступной подсети? Экземпляры базы данных по-прежнему будут находиться в частной подсети.

1 Ответ

3 голосов
/ 07 марта 2019

Экземпляр Amazon EC2 в частной подсети не будет никогда напрямую доступен из Интернета, даже если он имеет публичный IP-адрес. Это связано с тем, что в частной подсети нет записи таблицы маршрутов, которая соединяет подсеть с интернет-шлюзом. Это намеренно и желательно.

Итак, ваши варианты:

  • Поместите свой экземпляр в Общедоступную подсеть вместо Частной подсети или
  • Создайте VPN-соединение с VPC, чтобы вы могли общаться с ресурсами в VPC, включая частную подсеть, или
  • Подключитесь к экземпляру в общедоступной подсети и используйте Переадресация портов , чтобы затем получить соединение с частным экземпляром (см. Ниже), или
  • Используйте Балансировщик нагрузки или Прокси-сервер в общедоступной подсети для пересылки трафика в частную подсеть (одно преимущество заключается в том, что он имитирует настройки производства)

Переадресация портов - это распространенный метод обеспечения частного подключения к ресурсу, который не доступен напрямую. Например:

  • Public-Instance в общедоступной подсети
  • Private-Instance в частной подсети
  • SSH в Public-Instance с переадресацией портов, которая затем устанавливает соединение с Private-Instance
  • Получите доступ к ресурсам на вашем локальном компьютере, и он фактически перенаправит запрос на Private-Instance

Пример строки подключения:

ssh -i pemfile ec2-user@private-instance -L 8000:private-instance:80

Любой запрос, отправленный на порт 8000 вашего локального компьютера, будет перенаправлен на Public-Instance, который затем перенаправит запрос на private-instance:80. Это будет продолжаться до тех пор, пока идет сеанс SSH.

...