另一種測試方法:建立連線到快取的測試快取用戶端,然後從快取新增及擷取某些項目。 測試快取用戶端可以是使用 StackExchange.Redis 的主控台應用程式。 將範例用戶端應用程式安裝到與快取同一虛擬網路的 VM 上。 然後,執行此應用程式以驗證確認連線到快取。
嘗試連線到虛擬網路中的 Azure Cache for Redis 時,為什麼會收到遠端憑證無效的錯誤?
嘗試連線到虛擬網路中的 Azure Cache for Redis 時,您會看到類似這樣的憑證驗證錯誤:
{"No connection is available to service this operation: SET mykey; The remote certificate is invalid according to the validation procedure.; …"}
原因可能是您透過 IP 位址連線到主機。 建議您使用主機名稱。 換句話說,請使用下列字串:
[mycachename].redis.cache.windows.net:6380,password=xxxxxxxxxxxxxxxxxxxx,ssl=True,abortConnect=False
避免使用類似下列連接字串的 IP 位址:
10.128.2.84:6380,password=xxxxxxxxxxxxxxxxxxxx,ssl=True,abortConnect=False
如果您無法解析 DNS 名稱,某些用戶端程式庫就會包含由 StackExchange.Redis 用戶端提供的設定選項,例如
sslHost
。 此選項可讓您覆寫用於憑證驗證的主機名稱。 例如:
10.128.2.84:6380,password=xxxxxxxxxxxxxxxxxxxx,ssl=True,abortConnect=False;sslHost=[mycachename].redis.cache.windows.net
虛擬網路可以搭配標準還是基本快取使用?
虛擬網路只能搭配進階層快取使用。
為什麼在有些子網路中建立 Azure Cache for Redis 執行個體會失敗,有些則不會?
如要將 Azure Cache for Redis 執行個體部署到虛擬網路,快取就必須位於不包含任何其他資源類型的專用子網路中。 如要嘗試將 Azure Cache for Redis 執行個體部署到包含其他資源的 Resource Manager 虛擬網路子網路 (例如Azure 應用程式閘道執行個體和輸出 NAT),部署通常會失敗。 建立新的 Azure Cache for Redis 執行個體之前,請先刪除其他類型的現有資源。
子網路中也必須有足夠的可用 IP 位址。
子網路位址空間需求為何?
Azure 會在每個子網路中保留一些 IP 位址,但這些位址無法使用。 子網路的第一個和最後一個 IP 位址會保留給相容的通訊協定,以及用於 Azure 服務的額外 3 個位址。 如需詳細資訊,請參閱
在這些子網路內使用 IP 位址是否有任何限制?
除了 Azure 虛擬網路基礎結構使用的 IP 位址外,子網路中每個 Azure Cache for Redis 執行個體在每個叢集分區都會使用兩個 IP 位址,加一個供額外複本使用的 IP 位址 (如有)。 負載平衡器再使用一個 IP 位址。 非叢集快取會視為有一個分區。
我可以從對等互連的虛擬網路連線到我的快取嗎?
如果虛擬網路都位在相同的區域中,您就可以使用虛擬網路對等互連或 VPN 閘道 VNET 對 VNET 連線連接這些虛擬網路。
如果對等互連的 Azure 虛擬網路位在「不同的」
區域:因為受到基本負載平衡器的條件約束,區域 1 中的用戶端 VM 無法透過其負載平衡的 IP 位址存取區域 2 的快取。 也就是說,除非是目前僅可使用「可用性區域」
建立的標準負載平衡器快取才有可能。
如需虛擬網路對等互連條件約束的詳細資訊,請參閱<虛擬網路 - 對等互連 - 需求和條件約束>。 其中一個解決方案是使用 VPN 閘道 VNET 對 VNET 連線,而非使用虛擬網路對等互連。
在虛擬網路中裝載快取時,所有快取功能都可以正常運作嗎?
當快取是虛擬網路的一部分時,只有虛擬網路中的用戶端可以存取此快取。 因此,下列快取管理功能不適用於以下情況: