Я использую стратегию, чтобы узлы Apache Cassandra взаимодействовали через VPN-туннель между сайтами.
Конкретные конфигурации для файла cassandra.yaml
:
listen_address: 10.x.x.x # vpn network ip
rpc_address: 172.16.x.x. # non-vpn network for client access although, I leave it blank so that it listens on all interfaces
Преимущества этого подхода в том, что вы можете развернуть Apache Cassandra во многих различных средах и стать независимым от провайдера. Например, размещение узлов в различных средах Amazon EC2 и размещение узлов в собственном физическом центре обработки данных и размещение нескольких других под вашим столом!
Стоит ли проблема, мешающая вам рассмотреть этот подход? Проверьте Вятта ...
Как указал KajMagnus, в стабильной версии Apache Cassandra разрешен и доступен билет JIRA: https://issues.apache.org/jira/browse/CASSANDRA-1567, который позволяет вам выполнять то, что вы хотели бы через TLS / SSL ... но есть несколько способы достичь того, что вы хотели бы.
Наконец, если вы хотите разместить свой экземпляр на Amazon EC2, регион к региону может быть проблематичным, и хотя в 1.x.x есть исправление, действительно ли это правильный подход? Я обнаружил, что VPN-подход снижает задержки между узлами в разных регионах и при этом поддерживает необходимый уровень безопасности.
Наконец - часть 2 -
Если вы хотите защитить связь между клиентом и сервером, пусть ваши клиенты (веб-серверы) обмениваются данными через ту же VPN-сеть. У меня есть конфигурация:
- Интерфейсные веб-серверы связываются через внутреннюю сеть с серверами приложений
- Серверы приложений находятся в собственной внутренней сети и сети VPN и обмениваются данными с уровнем данных через туннель VPN и между собой во внутренней сети
- Уровень данных существует в собственной сети для каждого ЦОД / стойки и принимает запросы через сеть VPN