Я только начинаю смотреть на развертывание веб-страницы и получать удовольствие от DNS и т. Д. И мне интересно, как вы настраиваете несколько веб-серверов со своими собственными именами хостов / общедоступными IP-адресами, и при этом они обслуживают веб-страницу из одного домена .
Например, допустим, у вас есть веб-сайт example.com и запись A в DNS, указывающая на его IP-адрес 1.2.3.4.
Вам нужно иметь два сервера, prod1 и prod2, с каким-то балансировщиком нагрузки перед ними по причинам аварийного переключения.
Насколько я понимаю, вы хотели бы иметь имена хостов этих серверов как prod1.example.com, prod2.example.com и, возможно, loadb.example.com.
Как бы вы настроили DNS, чтобы все это работало. т.е. вы можете использовать ssh для любого из доменов сервера, prod1.example.com, prod2.example.com или loadb.example.com, а также просто использовать URL-адрес www.example.com для перехода на сайт. И можно ли разрешить все эти имена серверов из общедоступного Интернета и безопасно ли это?
Это будет среда linux, для аргументов ubuntu, динамический веб-сайт структуры django, работающий в apache 2.2.
Ура, Марк
На самом деле это очень просто, но то, как вы это делаете, зависит от используемого LB.
В вашем примере у вас будет просто запись A для example.com, которая указывает на виртуальный IP-адрес, представленный LB. LB будет периодически проверять как Prod1, так и Prod2, чтобы проверить, работают ли они (а иногда и насколько они заняты), и на основе этого передает каждый запрос серверу для работы. При необходимости вы можете создать дополнительные записи A для Prod1 и Prod2, если вы хотите напрямую общаться с определенным сервером, при этом LB игнорирует этот запрос.
Вот дополнительная деталь;
Prod1.example.com = 1.1.1.1 - настоящий IP-адрес Prod1.
Prod2.example.com = 1.1.1.2, который является настоящим IP Prod2
Prod.example.com = 1.1.1.3, который LB создает и указывает как на Prod1.example.com, так и на Prod1.example.com (вы можете использовать либо DNS-имена, либо IP-адреса).
Запрос поступает в LB на Prod.example.com, LB знает, что оба работают, поэтому отправляет запрос на Prod1.example.com, следующий запрос идет на Prod2.example.com и так далее.
В приведенном выше примере для балансировки трафика используется правило «циклического перебора», но вместо него можно использовать множество других правил (например, кто наименее занят), но это зависит от используемого LB.
Это нормально? дайте нам знать, если нет, и мы вернемся к вам.