Я хочу распространить сегментированную/реплицированную установку MongoDB по нескольким регионам Amazon EC2. Этот трафик уже зашифрован MongoDB или я могу настроить это по желанию? Или Amazon предлагает специальное VPN-соединение между своими центрами обработки данных?
Распространение MongoDB по регионам EC2
Ответы (5)
Вчера я ответил на аналогичный вопрос об Apache Cassandra: SSL.
По моему опыту, особенно с Amazon, если вы можете, настройте сеть VPN между вашими экземплярами, чтобы гарантировать, что все в безопасности. Интересный факт, с которым мы столкнулись при реализации нашей сети VPN поверх EC2, заключается в том, что время отклика сократилось... Мы выбрали Vyatta и до сих пор были очень довольны этим. Он может быть полностью виртуализирован ... и позволяет нам соединять зоны, регионы и центры обработки данных (амазон, а не амазон).
Другой вариант — использовать виртуальное частное облако Amazon:
- Создайте виртуальное частное облако Amazon в масштабируемой инфраструктуре AWS и укажите диапазон частных IP-адресов из любого выбранного вами диапазона.
- Разделите диапазон частных IP-адресов вашего VPC на одну или несколько общедоступных или частных подсетей, чтобы упростить запуск приложений и служб в вашем VPC.
- Контролируйте входящий и исходящий доступ к отдельным подсетям и из них с помощью списков контроля доступа к сети.
- Храните данные в Amazon S3 и устанавливайте разрешения таким образом, чтобы доступ к данным был возможен только из вашего Amazon VPC.
- Прикрепите Amazon Elastic IP-адрес к любому экземпляру в вашем VPC, чтобы к нему можно было получить доступ напрямую из Интернета.
- Объедините свое VPC и локальную ИТ-инфраструктуру с помощью зашифрованного VPN-соединения, распространив существующие политики безопасности и управления на экземпляры VPC, как если бы они работали в вашей инфраструктуре.
У Vyatta есть хороший график, показывающий, как VPC и Vyatta (или любое другое корпоративное VPN-решение) могут соединяться друг с другом (согласно последнему пункту выше):
Я не работаю на Vyatta... точно так же, как нам удалось заставить все работать, не покупая мега дорогое оборудование cisco
Согласно [mongo docs] mongo может использовать SSL. Нужно либо скомпилировать mongo с флагом --ssl, либо использовать коммерческую версию. С помощью mongo с поддержкой SSL защищена вся связь между БД и клиентом, а также связь между наборами реплик и арбитром (см. часто задаваемые вопросы).
Кто-нибудь действительно пробовал этот подход? Есть ли недостатки?
Если вы не используете EC2, эти решения не подходят. Есть еще один способ — настроить собственное VPC, независимое от провайдера IaaS. У vCider есть решение для этого, которое хорошо работает как с Mongo, так и с Cassandra. Для Cassandra защита трафика клиента/БД особенно болезненна, поскольку нет собственного шифрования.
Хороший пример того, как это все работает здесь:
http://www.vcider.com/vpc-deployments/secure-saas
Что касается Кассандры, здесь есть информация о тестах.
http://blog.vcider.com/2011/09/virtual-networks-can-run-cassandra-up-to-60-faster/
С собственным шифрованием в ядре вы можете работать намного быстрее.
Связь Mongo между репликами не зашифрована. Итак, вы на своем. Вы можете создавать реплики в разных зонах доступности в регионе.
Вы сами шифруете данные, передаваемые между регионами EC2. Amazon не гарантирует, что они будут связаны с частными каналами, поэтому вы должны предположить, что они проходят через общедоступные сети.
