이 문서에서는 클라이언트 애플리케이션을 Azure Cache for Redis에 연결하는 일반적인 문제를 해결하는 방법을 설명합니다. 연결 문제는 일시적인 조건 또는 잘못된 캐시 구성으로 인해 발생할 수 있습니다. 이 문서는 일시적인 문제 및 캐시 구성 문제로 나뉩니다.
일시적인 연결 문제
캐시 구성 연결 문제
연결 테스트
Redis 명령줄 도구 redis-cli를 사용하여 연결을 테스트할 수 있습니다. Redis CLI에 대한 자세한 내용은 Azure Cache for Redis와 함께 Redis 명령줄 도구 사용을 참조하세요.
redis-cli를 연결할 수 없는 경우 Azure PowerShell에서 사용하여 PSPING
연결을 테스트할 수 있습니다.
psping -q <cachename>:<port>
전송된 패킷 수가 수신된 패킷 수와 같으면 연결이 감소하지 않습니다.
일시적인 연결 문제
클라이언트 애플리케이션은 연결 수의 급증 또는 패치와 같은 이벤트로 인해 일시적인 연결 문제가 발생할 수 있습니다.
Kubernetes 호스팅 애플리케이션
클라이언트 애플리케이션이 Kubernetes에서 호스트되는 경우 클러스터 노드 또는 클라이언트 애플리케이션을 실행하는 Pod가 메모리, CPU 또는 네트워크 압력을 받고 있는지 확인합니다. 클라이언트 애플리케이션을 실행하는 Pod는 동일한 노드에서 실행되는 다른 Pod의 영향을 받을 수 있으며 Redis 연결 또는 IO 작업을 제한할 수 있습니다.
Istio 또는 다른 서비스 메시를 사용하는 경우 서비스 메시 프록시가 포트 13000-13019
또는 15000-15019
를 예약하는지 확인합니다. 클라이언트는 이러한 포트를 사용하여 클러스터형 Azure Redis 캐시의 노드와 통신하며 해당 포트에서 연결 문제를 일으킬 수 있습니다.
Linux 기반 클라이언트 애플리케이션
Linux에서 낙관적 TCP 설정을 사용하면 클라이언트 애플리케이션에 대한 연결 문제가 발생할 수 있습니다. 자세한 내용은 Linux 호스팅 클라이언트 애플리케이션에 대한 TCP 설정 및 15분 동안 지속되는 연결 중단을 참조하세요.
연결된 클라이언트 수
연결된 클라이언트 메트릭의 최대 집계가 캐시 크기에 허용되는 최대 연결 수보다 가깝거나 높은지 확인합니다. 클라이언트 연결당 크기 조정에 대한 자세한 내용은 Azure Cache for Redis 성능을 참조하세요.
서버 유지 관리
캐시는 유지 관리 기간 동안 애플리케이션에 부정적인 영향을 주는 계획되거나 계획되지 않은 서버 유지 관리를 거치게 될 수 있습니다. Azure Portal의 캐시에서 오류(유형: 장애 조치) 메트릭을 확인하여 이 문제를 확인할 수 있습니다. 장애 조치의 영향을 최소화하려면 연결 회복력을 참조하세요.
연결 구성 문제
애플리케이션이 Azure Redis 캐시에 전혀 연결할 수 없는 경우 일부 캐시 구성이 올바르게 설정되지 않을 수 있습니다. 다음 섹션에서는 캐시가 올바르게 구성되었는지 확인하는 방법에 대한 제안을 제공합니다.
방화벽 규칙
Azure Redis 캐시에 대해 구성된 방화벽이 있는 경우 클라이언트 IP 주소가 방화벽 규칙에 추가되었는지 확인합니다. 방화벽 규칙을 확인하려면 캐시 페이지의 왼쪽 탐색 메뉴에서 설정 아래에서 방화벽을 선택합니다.
타사 방화벽 또는 외부 프록시
네트워크에서 타사 방화벽 또는 프록시를 사용하는 경우, Azure Cache for Redis 엔드포인트 *.redis.cache.windows.net
와 포트 6379
및 6380
를 허용하는지 확인하십시오. 클러스터형 캐시 또는 지역 복제를 사용하는 경우 더 많은 포트를 허용해야 할 수 있습니다.
프라이빗 엔드포인트 구성
Azure Portal에서 캐시의 왼쪽 탐색 메뉴에 있는 설정에서 프라이빗 엔드포인트를 선택하여 프라이빗 엔드포인트 구성을 확인합니다.
프라이빗 엔드포인트 페이지에서 공용 네트워크 액세스 사용이 올바르게 설정되었는지 확인합니다.
- 프라이빗 엔드포인트를 만들 때 공용 네트워크 액세스는 기본적으로 사용하지 않도록 설정됩니다.
- 캐시 가상 네트워크 외부에서 캐시 프라이빗 엔드포인트에 연결하려면 공용 네트워크 액세스를 사용하도록 설정해야 합니다.
- 프라이빗 엔드포인트를 삭제하는 경우 공용 네트워크 액세스를 사용하도록 설정해야 합니다.
프라이빗 엔드포인트에서 링크를 선택하고 프라이빗 엔드포인트가 올바르게 구성되었는지 확인합니다. 자세한 내용은 새 Azure Cache for Redis 인스턴스를 사용하여 프라이빗 엔드포인트 만들기를 참조하세요.
애플리케이션이
<cachename>.redis.cache.windows.net
에 포트6380
로 연결되도록 확보하세요. 구성 또는 연결 문자열에서<cachename>.privatelink.redis.cache.windows.net
를 사용하지 않습니다.명령이 캐시의 개인 IP 주소로 확인되는지 확인하려면 프라이빗 엔드포인트에 연결된 가상 네트워크 내에서와 같은
nslookup <hostname>
명령을 실행합니다.
공용 IP 주소 변경
캐시의 공용 IP 주소를 사용하도록 네트워킹 또는 보안 리소스를 구성하는 경우 캐시의 공용 IP 주소가 변경되었는지 확인합니다. 자세한 내용은 공용 IP 주소가 아닌 호스트 이름에 의존을 참조하세요.
가상 네트워크 구성
다음과 같이 가상 네트워크 구성을 확인합니다.
- 가상 네트워크가 캐시에 할당되었는지 확인합니다. Azure Portal의 캐시에 대한 왼쪽 탐색 메뉴의 설정 아래에서 Virtual Network를 선택합니다.
- 클라이언트 호스트 컴퓨터가 캐시와 동일한 가상 네트워크에 있는지 확인합니다.
- 클라이언트 애플리케이션이 캐시와 다른 가상 네트워크에 있는 경우 동일한 Azure 지역 내의 두 가상 네트워크에 대해 피어링을 사용하도록 설정합니다.
- 인바운드 및 아웃바운드 규칙이 포트 요구 사항을 충족하는지 확인합니다.
자세한 내용은 프리미엄 Azure Cache for Redis 인스턴스에 대한 가상 네트워크 지원 구성을 참조하세요.
프리미엄 캐시에서 VNet 삽입을 사용하여 지역 복제
동일한 가상 네트워크의 캐시 간에 지역에서 복제가 지원됩니다. 다른 가상 네트워크의 캐시 간 지역에서 복제는 다음과 같은 주의 사항으로 지원됩니다.
가상 네트워크가 동일한 지역에 있는 경우 가상 네트워크 피어링 또는 VPN Gateway VNet 간 연결을 사용하여 연결할 수 있습니다.
가상 네트워크가 다른 지역에 있는 경우 가상 네트워크 피어링을 사용한 지역 복제는 지원되지 않습니다. (지역 1)의
VNet 1
클라이언트 가상 머신은 기본 내부 부하 분산 장치의 제약 조건으로 인해 이름을 사용하여 (지역 2)의 캐시VNet 2
에 액세스할 수 없습니다. 대신 VPN Gateway VNet 간 연결을 사용합니다. 가상 네트워크 피어링 제약 조건에 대한 자세한 내용은 Virtual Network 피어링 요구 사항 및 제약 조건을 참조하세요.
가상 네트워크를 효과적으로 구성하고 지역에서 복제 문제를 방지하려면 인바운드 포트와 아웃바운드 포트를 모두 올바르게 구성해야 합니다. 가장 일반적인 가상 네트워크 구성 오류 문제를 방지하는 방법에 대한 자세한 내용은 지역에서 복제 피어 포트 요구 사항을 참조하세요.
프리미엄 캐시와 함께 가상 네트워크 주입을 사용할 수 있지만 Azure Private Link를 사용하는 것이 좋습니다. 자세한 내용은 다음을 참조하세요.