Экземпляр 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.