none
Source IP для кластерного приложения (MSCS generic service) RRS feed

  • Вопрос

  • Коллеги, всем привет!

    Нуждаюсь в вашей помощи в одном вопросе, который мне показался странным...

    Есть кластер, в рамках него работает некое приложение, в рамках которого выполняется обращение на внешние веб-сервисы. Когда стали настраивать правила на файрволле, оказалось, что кластерное приложение выполняет запросы наружу, используя IP-адрес активной ноды в кластере.

    Подскажите, видели ли где-нибудь информацию, как приложение должно вести себя в таких случаях? Как мне понимается:при любых сценариях приложение, работающее в рамках MSCS-кластера, должно использовать кластерный IP-адрес ресурса. Правда на деле получается не совсем так...


    • Изменено Vladimir Marakshin 24 декабря 2015 г. 11:22 ошибка в заголовке
    24 декабря 2015 г. 11:17

Ответы

  • Как ни странно, я не смог найти ни одного внятного описания из первоисточника о том, как работает кластерный IP-адрес, так что ниже озвучено мое личное понимание.

    IP-адрес кластера используется только для подключения клиентов к кластеру, т.е. для установки соединений с cluster access point, инициируемых извне серверв. Дальше кластер сам разбирается, к какому конкретно серверу отправить соединение.

    Однако само по себе кластерное приложение - это всего лишь приложение, умеещее корректно переезжать с одного сервера на другой в рамках кластера. Работает оно на самом деле не "в кластере", а на конкретном сервере. И, как и любое другое приложение, для выхода в сеть оно пользуется сетевыми средствами сервера. Соответственно, и исходный IP-адрес любой сессии, установку которого инициировало приложение, будет принадлежащим серверу, а не кластеру.



    Evgeniy Lotosh // MCSE: Server infrastructure, MCSE: Messaging

    • Помечено в качестве ответа Vladimir Marakshin 28 декабря 2015 г. 4:16
    25 декабря 2015 г. 7:56
  • Я не знаю, какие требования MS выдвигает к кластерным приложениям. Однако всё всегда зависит исключительно от пряморукости программистов. Даже если такое требование есть, никто не сказал, что произвольно взятое приложение будет ему удовлетворять. Более того, у MS, кажется, есть способ делать кластерными приложения, даже изначально на это не рассчитанные (не пробовал, знаю только теоретически).

    Но это вопрос чисто академический. Вы все равно не сможете изменить логику приложения, правильная она или нет. Так что смиритесь с тем, что в Интернет его придется выпускать со всех возможных IP-адресов.


    Evgeniy Lotosh // MCSE: Server infrastructure, MCSE: Messaging

    • Помечено в качестве ответа Vladimir Marakshin 28 декабря 2015 г. 4:16
    26 декабря 2015 г. 18:23

Все ответы

  • Как ни странно, я не смог найти ни одного внятного описания из первоисточника о том, как работает кластерный IP-адрес, так что ниже озвучено мое личное понимание.

    IP-адрес кластера используется только для подключения клиентов к кластеру, т.е. для установки соединений с cluster access point, инициируемых извне серверв. Дальше кластер сам разбирается, к какому конкретно серверу отправить соединение.

    Однако само по себе кластерное приложение - это всего лишь приложение, умеещее корректно переезжать с одного сервера на другой в рамках кластера. Работает оно на самом деле не "в кластере", а на конкретном сервере. И, как и любое другое приложение, для выхода в сеть оно пользуется сетевыми средствами сервера. Соответственно, и исходный IP-адрес любой сессии, установку которого инициировало приложение, будет принадлежащим серверу, а не кластеру.



    Evgeniy Lotosh // MCSE: Server infrastructure, MCSE: Messaging

    • Помечено в качестве ответа Vladimir Marakshin 28 декабря 2015 г. 4:16
    25 декабря 2015 г. 7:56
  • С технической точки зрения я с вами соглашусь. Но вот логически кажется что проблема в итоге в том, что приложение не совсем корректно работает в кластере, т.к. такое поведение может вызывать проблемы взаимодействия при различных сценариях.

    Но насколько я понимаю, у MS есть требования к приложениям, которые предполагается запускать в кластере. Не является ли частью требований к этим приложениям, умение использовать Virtual IP в качестве source при TCP/IP подключениях?

    26 декабря 2015 г. 13:57
  • Я не знаю, какие требования MS выдвигает к кластерным приложениям. Однако всё всегда зависит исключительно от пряморукости программистов. Даже если такое требование есть, никто не сказал, что произвольно взятое приложение будет ему удовлетворять. Более того, у MS, кажется, есть способ делать кластерными приложения, даже изначально на это не рассчитанные (не пробовал, знаю только теоретически).

    Но это вопрос чисто академический. Вы все равно не сможете изменить логику приложения, правильная она или нет. Так что смиритесь с тем, что в Интернет его придется выпускать со всех возможных IP-адресов.


    Evgeniy Lotosh // MCSE: Server infrastructure, MCSE: Messaging

    • Помечено в качестве ответа Vladimir Marakshin 28 декабря 2015 г. 4:16
    26 декабря 2015 г. 18:23
  • Видать да. Будем иметь за практику разрешать доступ со всех адресов нод и кластерных ресурсов, на всякий случай.

    Спасибо!

    28 декабря 2015 г. 4:16