關於傳輸中資料加密

本頁面提供 Memorystore for Redis 的傳輸中資料加密總覽。

如需如何透過傳輸加密功能加密連線的操作說明,請參閱「啟用傳輸加密」。

Memorystore for Redis 僅支援 TLS 通訊協定 1.2 以上版本。

簡介

Memorystore for Redis 支援使用傳輸層安全標準 (TLS) 通訊協定加密所有 Redis 流量。啟用傳輸中資料加密功能後,Redis 用戶端僅會透過安全的通訊埠連線進行通訊。系統將封鎖未設定 TLS 的 Redis 用戶端。如果您選擇啟用傳輸中資料加密功能,請務必確保 Redis 用戶端能夠使用 TLS 通訊協定。

傳輸中資料加密的必要條件

如要搭配使用傳輸中加密與 Memorystore for Redis,您需要:

  1. 支援 TLS 的 Redis 用戶端或第三方 TLS Sidecar
  2. 安裝在存取 Redis 執行個體的用戶端電腦上的憑證授權單位

開放原始碼 Redis 6.0 版之前不支援原生 TLS。因此,並非所有 Redis 用戶端程式庫都支援 TLS。如果您使用的用戶端不支援 TLS,建議使用 Stunnel 第三方外掛程式,為用戶端啟用 TLS。如需如何使用 Stunnel 連線至 Redis 執行個體的範例,請參閱「使用 Stunnel 和 telnet 安全地連線至 Redis 執行個體」。

憑證授權單位

使用傳輸中加密的 Redis 執行個體會有一或多個專屬憑證授權單位 (CA),用於驗證伺服器身分。CA 是字串,您必須下載並安裝在存取 Redis 執行個體的用戶端上。CA 的效期為建立當天起算的十年內。為確保服務不中斷,您必須在舊憑證授權單位過期前,在 Redis 執行個體的用戶端上安裝新憑證授權單位。

憑證授權單位輪替

CA 在執行個體建立後 10 年內有效。此外,執行個體建立五年後,系統會提供新的 CA。

舊版 CA 在到期日前仍有效。您有五年時間下載安裝新 CA,並將其提供給連線至 Redis 執行個體的用戶端。舊版 CA 憑證到期後,即可從用戶端解除安裝。

如需輪替 CA 的操作說明,請參閱「管理憑證授權單位輪替」。

輪替伺服器憑證

伺服器端憑證每 180 天會輪替一次,導致連線暫時中斷幾秒鐘。您應採用指數輪詢的重試邏輯,重新建立連線。憑證輪替不會導致標準級執行個體容錯移轉。

傳輸中資料加密的連線限制

在 Redis 執行個體上啟用傳輸中資料加密後,執行個體可建立的用戶端連線數量上限會受到限制。這項限制取決於執行個體大小。如果需要的連線數量超過目前容量層級支援的數量,請考慮增加 Redis 執行個體的大小。

容量級別 Redis 4.0、5.0 和 6.x 版的連線數量上限1 Redis 7.0 以上版本的連線數量上限1
M1 (1-4GB) 1000 65,000
M2 (5 到 10 GB) 2,500 65,000
M3 (11-35GB) 15,000 65,000
M4 (36 到 100 GB) 30,000 65,000
M5 (101+GB) 65,000 65,000

1 這些連線限制是概略值,實際限制取決於每個連線傳送的 Redis 指令頻率和複雜度。

監控連線

由於啟用傳輸中資料加密的 Redis 執行個體有連線數量限制,因此您應監控 redis.googleapis.com/clients/connected 指標,確保連線數量不會超過限制。如果超過限制,Redis 執行個體會拒絕嘗試建立的新連線。在這種情況下,建議您擴大執行個體,以容納所需連線數量。如果懷疑閒置連線占了連線總數的很大一部分,可以使用 timeout 設定參數主動終止這些連線

啟用傳輸中資料加密功能對效能的影響

傳輸中加密功能會加密及解密資料,但這會造成處理負擔。因此,啟用傳輸中加密功能可能會降低效能。此外,使用傳輸中資料加密時,每個額外連線都會產生相關資源費用。如要判斷使用傳輸中加密功能造成的延遲,請比較應用程式效能,方法是針對啟用和停用傳輸中加密功能的 Redis 執行個體,分別進行應用程式效能基準測試。

提升成效的指南

  • 盡可能減少用戶端連線數量。建立並重複使用長時間執行的連線,而不是建立隨選的短期連線。
  • 增加 Memorystore 執行個體的大小 (建議使用 M4 以上)。
  • 增加 Memorystore 用戶端主機的 CPU 資源。CPU 數量較多的用戶端電腦效能較佳。如果使用 Compute Engine VM,建議採用運算最佳化執行個體。
  • 減少與應用程式流量相關聯的酬載大小,因為酬載越大,需要的往返次數就越多。

傳輸中加密對記憶體用量的影響

啟用傳輸中資料加密功能後,系統會保留部分 Redis 執行個體記憶體供這項功能使用。在其他條件相同的情況下,啟用傳輸中加密功能後,由於這項功能會額外使用記憶體,因此「系統記憶體用量比率」指標的值會較高。

Redis 7.0 版效能提升

在 Memorystore for Redis 上使用 Redis 7.0 版,可提升傳輸中資料加密的效能。如要享有這些效能提升優勢,請考慮升級執行個體,使用 Redis 7.0 版。使用這個版本時,Memorystore for Redis 不會捨棄您用來輪替伺服器憑證或執行更新作業的連線。

後續步驟