共用方式為


排除 Azure Cache for Redis 連線問題

這很重要

Azure Cache for Redis 宣布了所有 SKU 的淘汰時間表。 建議您儘快將現有的 Azure Cache for Redis 執行個體移至 Azure 受控 Redis

有關退役的更詳細資訊:

本文說明如何針對將用戶端應用程式連線至 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 或任何其他服務網狀結構,請確定您的服務網狀結構 Proxy 會保留埠 13000-1301915000-15019。 用戶端會使用這些埠與叢集 Azure Redis 快取中的節點通訊,並可能導致這些埠的連線問題。

以 Linux 為基礎的用戶端應用程式

在 Linux 中使用樂觀的 TCP 設定可能會導致客戶端應用程式的連線問題。 如需詳細資訊,請參閱 Linux 裝載用戶端應用程式的 TCP 設定 ,以及 持續 15 分鐘的連線停滯

已連線用戶端數目

檢查已連線用戶端計量的 [最大匯總] 是否接近或高於快取大小允許的連線數目上限。 如需調整每個用戶端連線大小的詳細資訊,請參閱 Azure Cache for Redis 效能

伺服器維護

您的快取可能會在維護期間經歷計劃性或非計劃性伺服器維護,對您的應用程式造成負面影響。 在 Azure 入口網站中檢查快取的錯誤 (類型:容錯移轉)計量,即可驗證此問題。 若要將容錯移轉的影像降至最低,請參閱連線復原能力

連線配置問題

如果您的應用程式完全無法連線到 Azure Redis 快取,某些快取組態可能無法正確設定。 下列各節提供如何確定快取已正確設定的建議。

防火牆規則

如果您已針對 Azure Redis 快取設定防火牆,請確定您的用戶端 IP 位址已新增至防火牆規則。 若要檢查防火牆規則,請針對快取頁面選取左側導覽功能表中的 [設定] 底下的 [防火牆]。

第三方防火牆或外部 Proxy

如果您在網路中使用第三方防火牆或 Proxy,請確定它允許 Azure Cache for Redis 端點 *.redis.cache.windows.net 和埠 63796380。 當您使用叢集快取或異地複寫時,可能需要允許更多埠。

私人端點組態

在 Azure 入口網站中,從您的快取左側導覽功能表中選擇 [設定] 下的 [私有端點],以檢查您的私有端點組態。

  • [私人端點] 頁面上,確定 [ 啟用公用網络存取 ] 已正確設定。

    • 當您建立私人端點時,預設會停用公用網路存取。
    • 若要從快取虛擬網路外部連線到快取私人端點,您必須啟用公用網路存取。
    • 如果您刪除私人端點,請務必啟用公用網路存取。
  • 選取 [私人端點 ] 底下的連結,並確定您的私人端點已正確設定。 如需詳細資訊,請參閱使用新的 Azure Cache for Redis 執行個體建立私人端點

  • 請確保您的應用程式連線到 <cachename>.redis.cache.windows.net 的連接埠 6380。 避免在設定或連接字串中使用 <cachename>.privatelink.redis.cache.windows.net

  • 若要確認命令解析為快取的私有 IP 位址,請在連結至私有端點的虛擬網路內執行類似 nslookup <hostname> 的命令。

公用 IP 位址變更

如果您將任何網路或安全性資源設定為使用快取的公用IP位址,請檢查快取的公用IP位址是否已變更。 如需詳細資訊,請參閱 依賴主機名而非公用IP位址

虛擬網路設定

請檢查您的虛擬網路組態,如下所示:

  • 請確保已將虛擬網路指派給您的快取。 在 Azure 入口網站中,選取快取左側導覽功能表中 [設定] 下的 [虛擬網路]
  • 確保用戶端主機電腦位於與快取相同的虛擬網路中。
  • 如果用戶端應用程式位於與快取不同的虛擬網路中,請為相同 Azure 區域內的兩個虛擬網路啟用對等互連。
  • 確認輸入和輸出規則符合埠需求。

如需詳細資訊,請參閱 設定進階 Azure Cache for Redis 實例的虛擬網路支援

使用 VNet 插入搭配進階快取進行異地複寫

支援在相同虛擬網路中多個快取之間的異地複寫。 支援在不同虛擬網路中多個快取之間的異地複寫,但有下列注意事項:

  • 如果虛擬網路位於相同的區域,您可以使用 虛擬網路對等互連VPN 閘道 VNet 對 VNet 連線來連線。

  • 如果虛擬網路位於不同區域,則不支援使用虛擬網路對等互連的異地複寫。 由於基本內部負載平衡器的限制,位於 VNet 1 (區域 1) 的用戶端虛擬機器無法使用其名稱存取位於 VNet 2 (區域 2) 的快取。 請改用 VPN 閘道 VNet 對 VNet 連線。 如需虛擬網路對等互連條件約束的詳細資訊,請參閱 虛擬網路對等互連需求和條件約束

若要有效設定虛擬網路並避免異地復寫問題,您必須正確設定輸入和輸出埠。 如需避免最常見的虛擬網路設定錯誤問題的詳細資訊,請參閱 異地復寫對等埠需求

雖然可以搭配進階快取來使用虛擬網路插入,但最好使用 Azure Private Link。 如需詳細資訊,請參閱