Поделиться через


Устранение неполадок подключения Azure Cache для Redis

В этой статье объясняется, как устранять распространенные проблемы с подключением клиентского приложения к кэшу Azure для Redis. Проблемы с подключением могут быть вызваны периодическими условиями или неправильной конфигурацией кэша. Эта статья разделена на периодические проблемы и проблемы конфигурации кэша.

Проблемы с прерывающимся подключением

Проблемы с подключением к конфигурации кэша

Проверка подключения

Вы можете проверить подключение с помощью средства командной строки Redis redis-cli. Дополнительные сведения о командной строке Redis см. в статье "Использование средства командной строки Redis" с кэшем Azure для Redis.

Если redis-cli не удается подключиться, вы можете проверить подключение с помощью PSPING Azure PowerShell.

psping -q <cachename>:<port>

Если количество отправленных пакетов равно количеству полученных пакетов, нет потери соединения.

Проблемы с прерывающимся подключением

Клиентское приложение может иметь периодические проблемы с подключением, вызванные пиками числа подключений или событиями, такими как исправление.

Приложения, размещенные в Kubernetes

Если клиентское приложение размещено в Kubernetes, проверьте, находятся ли узлы кластера или модуль pod под управлением клиентского приложения в памяти, ЦП или сетевом давлении. Под, работающий с клиентским приложением, может подвергаться влиянию от других подов, работающих на том же узле, и может ограничивать подключения к Redis или операции ввода-вывода.

Если вы используете Istio или любую другую сетку служб, убедитесь, что прокси-сервер сетки службы резервирует порты 13000-13019 или 15000-15019. Клиенты используют эти порты для взаимодействия с узлами в кластеризованном кэше Redis Azure и могут вызвать проблемы с подключением к этим портам.

Клиентское приложение на основе Linux

Использование оптимистических параметров TCP в Linux может вызвать проблемы с подключением для клиентских приложений. Дополнительные сведения см. в разделе параметров TCP для клиентских приложений, размещенных в Linux , и остановки подключений, которые длились 15 минут.

Количество подключенных клиентов

Проверьте, находится ли агрегированное значение Max для метрики соединенных клиентов близко к максимальному количеству разрешенных подключений для размера кэша. Дополнительные сведения о размере каждого клиентского подключения см. в статье Производительность Кэша Azure для Redis.

обслуживание сервера;

Кэш может пройти плановое или незапланированное обслуживание сервера, которое негативно влияет на ваше приложение во время периода обслуживания. Эту проблему можно выявить, проверив метрику ошибок (тип: отработка отказа) в кэше на портале Azure. Чтобы минимизировать последствия сбоев, см. раздел Устойчивость подключения.

Проблемы с конфигурацией подключения

Если приложение не может подключиться к кэшу Redis Azure вообще, некоторые конфигурации кэша могут быть настроены неправильно. Инструкции по проверке правильности конфигурации кэша см. в следующих разделах.

Правила брандмауэра

Если у вас есть брандмауэр, настроенный для кэша Redis Azure, убедитесь, что IP-адрес клиента добавляется в правила брандмауэра. Чтобы проверить правила брандмауэра, выберите брандмауэр в разделе "Параметры" в меню навигации слева для страницы кэша.

Сторонний брандмауэр или внешний прокси-сервер

Если вы используете сторонний брандмауэр или прокси-сервер в вашей сети, убедитесь, что он разрешает конечную точку Azure Cache для Redis *.redis.cache.windows.net и порты 6379 и 6380. При использовании кластеризованного кэша или георепликации может потребоваться разрешить больше портов.

Конфигурация частной конечной точки

На портале Azure проверьте конфигурацию частной конечной точки, выбрав "Частная конечная точка " в разделе "Параметры " в меню навигации слева для кэша.

  • На странице "Частная конечная точка " убедитесь, что включен правильный доступ к общедоступной сети .

    • Доступ к общедоступной сети отключен по умолчанию при создании частной конечной точки.
    • Чтобы подключиться к частной конечной точке кэша за пределами виртуальной сети кэша, необходимо включить доступ к общедоступной сети.
    • Если удалить частную конечную точку, обязательно включите доступ к общедоступной сети.
  • Выберите ссылку в разделе "Частная конечная точка " и убедитесь, что частная конечная точка настроена правильно. Дополнительные сведения см. в разделе Создание частной конечной точки с новым экземпляром Кэша Azure для Redis.

  • Убедитесь, что приложение подключается к <cachename>.redis.cache.windows.net порту 6380. Избегайте использования <cachename>.privatelink.redis.cache.windows.net в конфигурации или строке подключения.

  • Чтобы убедиться, что команда приводит к разрешению приватного IP-адреса для кэша, выполните команду, такую как nslookup <hostname>, из виртуальной сети, связанной с приватной конечной точкой.

Изменение общедоступного IP-адреса

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

Конфигурация виртуальной сети

Проверьте конфигурацию виртуальной сети следующим образом:

  • Необходимо убедиться, что виртуальная сеть назначена для кэша. На портале Azure выберите виртуальную сеть в разделе "Параметры" в меню навигации слева для кэша.
  • Убедитесь, что компьютер узла клиента находится в той же виртуальной сети, что и кэш.
  • Если клиентское приложение находится в другой виртуальной сети из кэша, включите пиринг для обеих виртуальных сетей в одном регионе Azure.
  • Убедитесь, что правила для входящих и исходящих подключений соответствуют требованиям к порту.

Дополнительные сведения см. в статье Настройка поддержки виртуальной сети для экземпляра Premium Azure Cache for Redis.

Георепликация с использованием инъекции виртуальной сети и кэшей уровня Премиум

Поддерживается георепликация между кэшами в одной виртуальной сети. Георепликация между кэшами в разных виртуальных сетях поддерживается со следующими оговорками:

Чтобы эффективно настроить виртуальную сеть и избежать проблем с георепликацией, необходимо правильно настроить как входящие, так и исходящие порты. Дополнительные сведения о том, как избежать наиболее распространенных проблем с неправильной настройкой виртуальной сети, см. в статье о требованиях к одноранговым портам георепликации.

Хотя можно использовать инъекцию виртуальной сети с кэшами класса Premium, предпочтительнее использовать Приватную связь Azure. Дополнительные сведения см. в разделе: