Проверка работоспособности Google Compute Engine перестала работать - PullRequest
0 голосов
/ 14 января 2020

Моя среда разработки работала хорошо весь 2019 г., но при входе в 2020 г. одна из моих служб не работала, и если посмотреть на детали, причина отказа заключается в том, что проверка работоспособности показывает, что виртуальная машина не работает.

Схема проста, моя служба WCF работает на IIS, и я использую балансировщик нагрузки TCP. Эта та же самая схема реплицируется для получения доступа с двух разных IP-адресов, но только одна из проверок работоспособности не проходит. Служба доступна с локального хоста, она доступна с кратковременного IP-адреса экземпляра, но не работает, если я получаю доступ со статического c IP-адреса, который я назначил для балансировщика нагрузки.

Поскольку он тот же приложение работает на двух виртуальных машинах и все конфигурации одинаковы, я хочу проверить, что делает проверку работоспособности неудачной, проверяя с помощью wireshark соединение с включенным портом, я обнаружил, что все соединения из балансировщика нагрузки говорят TCP Retransmission, но соединения к эфемерному IP прибывают хорошо и получают 200 OK.

Мои знания об этом topi c минимальны, и я не могу определить информацию, которая полезна для решения проблемы, принимая во внимание, что все работает хорошо в прошлом году.

Я хочу посмотреть, что может дать мне драйвер стека информации, но по какой-то причине я не могу найти балансировщики нагрузки TCP в списке.

Балансировщик нагрузки TCP

стековый драйвер

РЕДАКТИРОВАТЬ: Видимо, проблема Это было связано с тем, что служба «Агент Google Compute Engine» не работала, но я не увидел ни одного журнала, указывающего, что привело к остановке службы. При повторном запуске сервиса все работало нормально.

1 Ответ

1 голос
/ 23 января 2020

Обратите внимание, что Google Cloud Platform предоставляет механизмы проверки работоспособности, которые определяют, правильно ли экземпляры виртуальных машин реагируют на трафик c. Проверка работоспособности и балансировка нагрузки работают вместе. GCP использует общее состояние работоспособности каждой виртуальной машины, чтобы определить ее готовность к приему новых запросов от LB.

Как и другие балансировщики нагрузки, TCP LB требует проверка работоспособности для проверки работоспособности экземпляра. Чтобы разрешить трафик c от балансировщика нагрузки и проверки работоспособности к экземплярам, ​​необходимо настроить правила брандмауэра для исходных IP-адресов до 130.211.0.0/22 ​​и 35.191.0.0/16

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

  1. Порт, настроенный на бэкэнде, не совпадает с портом, настроенным для проверок работоспособности.

  2. Служба не работает на настроенном в то время порту.

  3. Служба привязана к любому указанному c IP, а не ко всем IP-адресам, т.е. 1025 *

    Обратите внимание, что ведение журнала Stackdriver недоступно для глобального прокси-сервера TCP-прокси. Для отладки также может помочь проблема «нездоровых» экземпляров, просмотр журналов доступа или системных журналов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...