
Я рассматриваю возможность блокировки существующей конфигурации AWS. На данный момент все находится в одном VPC по умолчанию (тест, промежуточный этап, производство) и все в публичных подсетях.
Мой план состоит в том, чтобы разделить три среды на три разных VPC, используя публичные и частные подсети.
Мы также хотим ограничить доступ к серверам, поскольку в настоящее время у них публичные IP-адреса, и любой может получить к ним доступ. В идеале я бы просто сделал белый список IP-адресов, однако это удаленная команда, и они работают повсюду, поэтому мне приходится иметь дело с динамическими IP-адресами.
Мой план — использовать экземпляр OpenVPN и заставить людей подключаться через него. Из моего крайне ограниченного понимания (опыт инженера-программиста, очень ограниченный опыт работы с сетями) это должно работать.
Мой вопрос:, у нас будет 3 VPC, и экземпляр VPN должен будет находиться в одном из них. Как лучше всего разрешить доступ к другим 2 VPC через VPN? Это лучший подход (прямой доступ) или мне следует иметь VPN-подключение для каждого VPC. Последнее кажется излишним, но я не уверен.
Спасибо.
Редактировать:Или другой вариант — просто иметь один VPC, но изолировать тестирование, промежуточную подготовку и производство с помощью подсетей? Я читал, что некоторые люди так делают, хотя это и не идеально.
решение1
Лучший вариант — использовать VPN, который AWS уже включает в свою настройку VPC. Если говорить с точки зрения того, что вы уже настроили, то что вы пытаетесь сделать. Предположим, что подключение пользователей к центральному местоположению, например, офису или центру обработки данных, является вариантом. Если это не так, то подойдет расширенная версия настройки ниже, добавляющая еще один экземпляр VPN для подключения людей.
Если вам необходимо, чтобы VPC также взаимодействовали друг с другом, вам следует настроить несколько экземпляров VPN, как минимум по одному на VPC, а лучше больше одного для избыточности, но для этого вам понадобится еще один экземпляр для управления отказоустойчивостью и обновления таблиц маршрутизации AWS с учетом нового пути.
Опция 1:
Центральный VPN-сервер для подключения пользователей в AWS с туннелями, созданными на нем для маршрутизации трафика в другие VPC. Вам понадобятся другие экземпляры в отдельных VPC для создания VPN-туннеля.
Вариант 2:
Центральный VPN-сервер для подключения пользователей в AWS. Один или несколько других VPN-экземпляров на VPC, настроенных с туннелями для подключения к другим VPC.
Вариант 3:
Функциональность AWS VPN для центрального офиса или центра обработки данных, где настроен пользовательский VPN. Один или несколько экземпляров VPN в AWS с туннелями, настроенными для подключения между VPC.
К сожалению, у Amazon нет настроек для VPN между VPC, поэтому в случаях, когда я предлагаю туннель, вам, конечно, понадобится набор экземпляров, по крайней мере, для каждой настройки туннеля.
решение2
Я на самом деле думаю, что ответ можно найти в этой AWS
документации:Конфигурации с маршрутами ко всему блоку CIDR
Следуя этой конфигурации, мне удалось запустить один экземпляр VPN.
Добавьте маршрутизацию для пирингового соединения в таблицу маршрутизации, связанную с подсетью, в которой находится мой VPN-бокс, таким же образом в подсети пирингового VPC, где находятся боксы, к которым я хочу получить доступ.
Мне удалось ssh
попасть в эти коробки без проблем.
решение3
Пока все ресурсы (экземпляры EC2 и любые другие службы, такие как ElasticSearch или подобные) находятся в одном регионе, вы можете сделать это с помощью транзитных шлюзов. Создайте 3 VPC (вы можете захотеть создать их в отдельных учетных записях и объединить их через роли), а затем создайте один транзитный шлюз. Подключите 3 VPC к TG с помощью отдельных присоединений транзитного шлюза, затем присоедините таблицу маршрутизации к каждому TGA. Создайте VPN (либо клиентский шлюз для одного маршрутизатора, к которому все ваши пользователи подключаются или за которым уже находятся; либо несколько клиентских конечных точек VPN), а затем используйте присоединение транзитного шлюза, чтобы также подключить этот VPN к TG. Затем просто убедитесь, что все маршруты есть в записях таблицы маршрутизации TG, и настройте группы безопасности для правил вашего брандмауэра.
Просто примечание: если у вас есть ресурсы в нескольких регионах (например, us-east1 и us-west1), это, похоже, не работает. У меня есть вопрос здесь, чтобы узнать, возможно ли это или нет. Это должно работать с пирингом, но, похоже, не работает.