Azure Cache for Redis Repeated Connection Loss and Data Loss Issues

PICOBRIX 20 평판 포인트
2025-12-11T03:31:29.4333333+00:00

Azure Cache for Redis에서 12월4일(KST)에 장애가 발생하여 모든 연결이 강제로 끊기고 Redis 내 모든 데이터가 초기화되었습니다.

Azure Insight에서 관련된 에러를 찾았습니다.

Remote host(Azure Redis 서버)가 강제로 연결을 종료함

클라이언트 측의 과부하나 오류가 아닌 서버 측에서 연결 종료

데이터 영속성(persistence) 설정과 무관하게 모든 데이터 손실

어떤 문제가 있는지, 어떤 조치를 취해야하는지 알려주시면 좋을것같습니다.

========================================================= Azure Cache for Redis experienced an outage on December 4, 2024, at 7:06 PM KST, forcibly disconnecting all connections and initializing all data in Redis.

I found a related error in Azure Insights.

The remote host (Azure Redis server) forcibly closed the connection.

The connection was closed on the server side, not due to an overload or error on the client side.

All data was lost, regardless of persistence settings.

Please let me know what the issue is and what action should be taken.

<-- log

Redis connection failed. Endpoint: Unspecified/Redis Url FailureType: SocketFailure Exception: StackExchange.Redis.RedisConnectionException: SocketFailure on redisUrl /Subscription, Idle/Faulted, last: PING, origin: ReadFromPipe, outstanding: 0, last-read: 77s ago, last-write: 77s ago, keep-alive: 180s, state: ConnectedEstablished, mgr: 3 of 5 available, in: 0, last-heartbeat: 0s ago, last-mbeat: 0s ago, global: 0s ago, v: 2.9.11.19757 System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. System.Net.Sockets.SocketException (10054): An existing connection was forcibly closed by the remote host.

--->image (1)

-->

Azure Cache for Redis
Azure Cache for Redis

Microsoft에서 관리하는 안전한 전용 Redis Cache에 대한 액세스를 제공하는 Azure 서비스입니다.

댓글 0개 설명 없음

질문 작성자가 수락한 답변
익명
2025-12-11T04:37:15.2766667+00:00

안녕하세요 @PICOBRIX 님

Azure Cache for Redis에서 심각한 문제가 있는 것 같네요, 특히 반복적인 연결 손실과 장애 시 데이터 손실 등이 그렇습니다. 특히 당신이 말한 상황과 같은 상황에서 예상치 못한 데이터 손실이 발생할 때 정말 답답할 수 있습니다.

제공하신 내용을 보면, 서버가 강제로 연결을 차단해 영속성 설정과 상관없이 완전한 데이터 손실이 발생했기 때문에 클라이언트 측에서는 문제가 아닐 가능성이 큽니다. 다음은 고려해볼 만한 방법입니다:

Azure 서비스 문제 확인: 해당 기간 동안 Azure Redis 캐시에 영향을 줄 수 있는 알려진 문제나 유지보수 활동이 있는지 확인하세요. 때때로 Microsoft가 지속적인 유지보수를 진행하거나 연결 문제에 영향을 줄 수 있는 장애가 보고될 수 있습니다.

영속성 설정 확인: 영속성 설정과 상관없이 모든 데이터가 사라졌다고 하셨지만, 설정을 다시 한 번 확인하세요. Azure Cache for Redis가 영구 옵션을 활성화한 상태로 올바르게 설정되어 있는지 확인하세요. 이는 향후 데이터 손실을 줄이는 데 도움이 될 수 있습니다.

클라이언트 재시도 조사: Redis 클라이언트가 적절한 재시도 로직으로 구성되어 있는지 확인하세요. 이는 일시적인 정전 시 중요합니다. 특히 StackExchange.Redis를 사용 중이라면 재시도 시 지수 백오프를 활성화하세요.

진단 도구 활용: 장애 시점에 성능 문제를 감지하기 위해 진단 검사를 진행하는 것을 고려하세요. 이 도구들은 메모리 사용량, 클라이언트 연결, 그리고 서버 문제의 가능성에 대한 통찰을 제공할 수 있습니다.

지표 확인: 장애 발생 시점의 진단 지표, 예를 들어 키 만료율, 퇴거 발생, 메모리 압력 등을 살펴보세요. 이 방법은 정전의 원인이 될 수 있는 징후를 파악하는 데 도움이 될 수 있습니다.

모니터링 인프라: 모니터링 시스템을 반드시 갖추고 있어야 합니다. Azure Monitor와 같은 도구는 성과 지표를 추적하고 비정상적인 급증이나 패턴을 알려주는 데 도움을 줍니다.

또한 데이터 지속성을 활성화하고 Geo-Replication을 활용해 향후 이러한 장애에 대한 데이터 복원력을 향상시키는 것도 고려해 보세요.

가능하다면, 문제를 더 좁히기 위해 몇 가지 추가 질문을 드리겠습니다:

  1. Azure Cache for Redis 인스턴스의 가격 등급은 무엇인가요? (기본, 표준, 프리미엄 중 하나)
  2. 장애 당시 특정 작업이 진행되고 있었나요(예: 대규모 트래픽 유입, 구성 변경)?
  3. Redis와 상호작용하는 특정 프레임워크나 라이브러리를 사용하고 있나요?
  4. 연결이 끊긴 후에 수동 복구 과정을 시도해 보셨나요?
  5. 과거에 비슷한 연결 문제를 겪은 적이 있나요?

어떻게 되는지 알려 주세요. 이 글이 문제의 근본을 찾는 데 도움이 되길 바랍니다! 더 자세한 정보는 다음 유용한 자료들을 참고하세요:

추가 질문이 있으면 언제든지 연락해 주세요!

이 대답이 도움이 되었나요?


0 추가 답변

정렬 기준: 최신순

답변

질문 작성자는 답변을 '승인됨'으로 표시하고, 중재자는 답변을 '추천됨'으로 표시할 수 있습니다. 이를 통해 사용자는 해당 답변이 작성자의 문제를 해결했다는 것을 알 수 있습니다.