Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule wyjaśniono, jak rozwiązywać typowe problemy z łączeniem aplikacji klienckiej z Azure Cache for Redis. Problemy z łącznością mogą być spowodowane sporadycznymi warunkami lub nieprawidłową konfiguracją pamięci podręcznej. Ten artykuł jest podzielony na sporadyczne problemy i problemy z konfiguracją pamięci podręcznej.
Sporadyczne problemy z łącznością
- Aplikacje hostowane na platformie Kubernetes
- Aplikacja kliencka oparta na systemie Linux
- Liczba połączonych klientów
- Konserwacja serwera
Problemy z konfiguracją łączności pamięci podręcznej
- Reguły zapory
- Konfiguracje prywatnego punktu końcowego
- Zmiana publicznego adresu IP
- Konfiguracja sieci wirtualnej
Testowanie łączności
Łączność można przetestować przy użyciu narzędzia wiersza polecenia Redis redis-cli. Aby uzyskać więcej informacji na temat interfejsu wiersza polecenia Redis, zobacz Używanie narzędzia wiersza polecenia Redis z Azure Cache for Redis.
Jeśli redis-cli nie może nawiązać połączenia, możesz przetestować łączność przy użyciu PSPING
w Azure PowerShell.
psping -q <cachename>:<port>
Jeśli liczba wysłanych pakietów jest równa liczbie odebranych pakietów, nie ma spadku łączności.
Sporadyczne problemy z łącznością
Aplikacja kliencka może mieć sporadyczne problemy z łącznością spowodowane skokami liczby połączeń lub zdarzeniami, takimi jak stosowanie poprawek.
Aplikacje hostowane na platformie Kubernetes
Jeśli aplikacja kliencka jest hostowana na platformie Kubernetes, sprawdź, czy węzły klastra lub zasobnik z uruchomioną aplikacją kliencką znajdują się pod presją pamięci, procesora CPU lub sieci. Zasobnik z uruchomioną aplikacją kliencką może mieć wpływ na inne zasobniki uruchomione w tym samym węźle i może ograniczać połączenia Redis lub operacje we/wy.
Jeśli używasz Istio lub innej siatki usług, upewnij się, że serwer proxy usługi Service Mesh rezerwuje porty 13000-13019
lub 15000-15019
. Klienci używają tych portów do komunikowania się z węzłami w klastrowanej pamięci podręcznej Redis Azure i mogą powodować problemy z łącznością na tych portach.
Aplikacja kliencka oparta na systemie Linux
Używanie optymistycznych ustawień TCP w systemie Linux może powodować problemy z łącznością dla aplikacji klienckich. Aby uzyskać więcej informacji, zobacz Ustawienia TCP dla aplikacji klienckich hostowanych w systemie Linux i Przerwy w połączeniu trwające 15 minut.
Liczba połączonych klientów
Sprawdź, czy maksymalna wartość zagregowana dla metryki Połączeni klienci jest bliska lub wyższa niż maksymalna liczba dozwolonych połączeń dla rozmiaru pamięci podręcznej. Aby uzyskać więcej informacji na temat określania rozmiaru na połączenia klienckie, zobacz Wydajność usługi Azure Cache for Redis.
Konserwacja serwera
Pamięć podręczna może zostać poddana planowanej lub nieplanowanej konserwacji serwera, która negatywnie wpływa na aplikację w oknie obsługi. Ten problem można zweryfikować, sprawdzając metrykę Błędy (typ: tryb failover) w pamięci podręcznej w Azure Portal. Aby zminimalizować efekty pracy w trybie failover, zobacz Odporność połączeń.
Problemy z konfiguracją łączności
Jeśli aplikacja w ogóle nie może nawiązać połączenia z pamięcią podręczną Redis Azure, część konfiguracji pamięci podręcznej może nie zostać poprawnie skonfigurowana. Poniższa tabela zawiera sugestie dotyczące upewniania się, że pamięć podręczna jest poprawnie skonfigurowana.
Reguły zapory
Jeśli masz skonfigurowaną zaporę dla pamięci podręcznej Redis Azure, upewnij się, że adres IP klienta został dodany do reguł zapory. Aby sprawdzić reguły zapory, wybierz pozycję Zapora sieciowa w obszarze Ustawienia w menu nawigacyjnym po lewej stronie pamięci podręcznej.
Zapora lub zewnętrzny serwer proxy innej firmy
Jeśli używasz zapory lub serwera proxy innej firmy w sieci, upewnij się, że zezwala ona na punkt końcowy *.redis.cache.windows.net
Azure Cache for Redis oraz porty 6379
i 6380
. W przypadku korzystania z klastrowanej pamięci podręcznej lub replikacji geograficznej może być konieczne zezwolenie na więcej portów.
Konfiguracje prywatnego punktu końcowego
W Azure Portal sprawdź konfigurację prywatnego punktu końcowego, wybierając pozycję Prywatny punkt końcowy w obszarze Ustawienia w menu nawigacji po lewej stronie pamięci podręcznej.
Na stronie Prywatny punkt końcowy upewnij się, że opcja Włącz dostęp do sieci publicznej jest ustawiona poprawnie.
- Dostęp do sieci publicznej jest domyślnie wyłączony podczas tworzenia prywatnego punktu końcowego.
- Aby nawiązać połączenie z prywatnym punktem końcowym pamięci podręcznej spoza sieci wirtualnej pamięci podręcznej, należy włączyć dostęp do sieci publicznej.
- Jeśli usuniesz prywatny punkt końcowy, pamiętaj o włączeniu dostępu do sieci publicznej.
Wybierz link w obszarze Prywatny punkt końcowy i upewnij się, że prywatny punkt końcowy jest poprawnie skonfigurowany. Aby uzyskać więcej informacji, zobacz Tworzenie prywatnego punktu końcowego przy użyciu nowego wystąpienia usługi Azure Cache for Redis.
Upewnij się, że aplikacja łączy się z
<cachename>.redis.cache.windows.net
portem6380
. Unikaj używania<cachename>.privatelink.redis.cache.windows.net
w konfiguracji lub parametrach połączenia.Aby sprawdzić, czy polecenie jest rozpoznawane jako prywatny adres IP pamięci podręcznej, uruchom polecenie, takie jak
nslookup <hostname>
z poziomu sieci wirtualnej połączonej z prywatnym punktem końcowym.
Zmiana publicznego adresu IP
Jeśli skonfigurujesz dowolny zasób sieciowy lub zabezpieczeń do korzystania z publicznego adresu IP pamięci podręcznej, sprawdź, czy publiczny adres IP pamięci podręcznej uległ zmianie. Aby uzyskać więcej informacji, zobacz Poleganie na nazwie hosta, a nie na publicznym adresie IP.
Konfiguracja sieci wirtualnej
Sprawdź konfigurację sieci wirtualnej w następujący sposób:
- Upewnij się, że sieć wirtualna jest przypisana do pamięci podręcznej. W Azure Portal wybierz pozycję Virtual Network w obszarze Ustawienia w menu nawigacji po lewej stronie pamięci podręcznej.
- Upewnij się, że maszyna hosta klienta znajduje się w tej samej sieci wirtualnej co pamięć podręczna.
- Jeśli aplikacja kliencka znajduje się w innej sieci wirtualnej niż pamięć podręczna, włącz komunikację równorzędną dla obu sieci wirtualnych w tym samym regionie świadczenia usługi Azure.
- Sprawdź, czy reguły ruchu przychodzącego i wychodzącego spełniają wymagania dotyczące portów.
Aby uzyskać więcej informacji, zobacz Konfigurowanie obsługi sieci wirtualnej dla wystąpienia usługi Azure Cache for Redis w warstwie Premium.
Replikacja geograficzna korzystająca z iniekcji pamięci podręcznej przez sieci wirtualne w warstwie Premium
Obsługiwana jest replikacja geograficzna między pamięciami podręcznymi w tej samej sieci wirtualnej. Replikacja geograficzna między pamięciami podręcznymi w różnych sieciach wirtualnych jest obsługiwana z następującymi zastrzeżeniami:
Jeśli sieci wirtualne znajdują się w tym samym regionie, możesz połączyć je przy użyciu komunikacji równorzędnej sieci wirtualnych lub połączenia VPN Gateway między sieciami wirtualnymi.
Jeśli sieci wirtualne znajdują się w różnych regionach, replikacja geograficzna przy użyciu komunikacji równorzędnej sieci wirtualnych nie jest obsługiwana. Kliencka maszyna wirtualna w
VNet 1
(region 1) nie może uzyskać dostępu do pamięci podręcznej wVNet 2
(region 2) przy użyciu jej nazwy z powodu ograniczenia z wewnętrznymi modułami równoważenia obciążenia w warstwie Podstawowa. Zamiast tego użyj połączenia VPN Gateway między sieciami wirtualnymi. Aby uzyskać więcej informacji na temat ograniczeń komunikacji równorzędnej sieci wirtualnych, zobacz Wymagania i ograniczenia komunikacji równorzędnej sieci wirtualnych.
Aby efektywnie skonfigurować sieć wirtualną i uniknąć problemów z replikacją geograficzną, należy poprawnie skonfigurować zarówno porty przychodzące, jak i wychodzące. Aby uzyskać więcej informacji na temat unikania najczęstszych problemów z błędną konfiguracją sieci wirtualnej, zobacz Wymagania dotyczące portów równorzędnych replikacji geograficznej.
Chociaż istnieje możliwość użycia iniekcji sieci wirtualnej z pamięciami podręcznymi w warstwie Premium, zaleca się użycie Azure Private Link. Aby uzyskać więcej informacji, zobacz:
-
Migracja z
VNet
pamięci podręcznej iniekcji do pamięci podręcznej Private Link - Co to jest usługa Azure Cache for Redis korzystająca z usługi łączy prywatnych Azure?