Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как устранять распространенные проблемы с подключением клиентского приложения к кэшу Azure для Redis. Проблемы с подключением могут быть вызваны периодическими условиями или неправильной конфигурацией кэша. Эта статья разделена на периодические проблемы и проблемы конфигурации кэша.
Проблемы с прерывающимся подключением
- Приложения, размещенные в Kubernetes
- Клиентское приложение на основе Linux
- Количество подключенных клиентов
- обслуживание сервера;
Проблемы с подключением к конфигурации кэша
- Правила брандмауэра
- Конфигурация частной конечной точки
- Изменение общедоступного IP-адреса
- Конфигурация виртуальной сети
Проверка подключения
Вы можете проверить подключение с помощью средства командной строки 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.
Георепликация с использованием инъекции виртуальной сети и кэшей уровня Премиум
Поддерживается георепликация между кэшами в одной виртуальной сети. Георепликация между кэшами в разных виртуальных сетях поддерживается со следующими оговорками:
Если виртуальные сети находятся в одном регионе, их можно подключить с помощью пиринга виртуальной сети или подключения vpn-шлюза к виртуальной сети.
Если виртуальные сети находятся в разных регионах, георепликация с помощью пиринга между виртуальными сетями не поддерживается. Виртуальная машина клиента в
VNet 1
(регионе 1) не может получить доступ к кэшу вVNet 2
(регионе 2) по его имени из-за ограничения, связанного с базовыми внутренними распределителями нагрузки. Вместо этого используйте подключение VPN шлюза сети к сети. Дополнительные сведения о ограничениях пиринга между виртуальными сетями см. в статье о требованиях и ограничениях пиринга виртуальной сети.
Чтобы эффективно настроить виртуальную сеть и избежать проблем с георепликацией, необходимо правильно настроить как входящие, так и исходящие порты. Дополнительные сведения о том, как избежать наиболее распространенных проблем с неправильной настройкой виртуальной сети, см. в статье о требованиях к одноранговым портам георепликации.
Хотя можно использовать инъекцию виртуальной сети с кэшами класса Premium, предпочтительнее использовать Приватную связь Azure. Дополнительные сведения см. в разделе:
-
Переход от кэшей внедрения к приватным канальным кэшам
VNet
- Что такое Azure Cache для Redis с помощью Azure Private Link?