本頁面提供 Memorystore for Redis 的傳輸中資料加密總覽。
如要瞭解如何使用傳輸加密功能加密連線,請參閱「啟用傳輸加密」。
Memorystore for Redis 僅支援 TLS 通訊協定 1.2 以上版本。
簡介
Memorystore for Redis 支援使用傳輸層安全標準 (TLS) 通訊協定加密所有 Redis 流量。啟用傳輸中資料加密功能後,Redis 用戶端僅會透過安全的通訊埠連線進行通訊。系統將封鎖未設定 TLS 的 Redis 用戶端。如果您選擇啟用傳輸中資料加密功能,請務必確保 Redis 用戶端能夠使用 TLS 通訊協定。
傳輸中資料加密的必要條件
如要搭配使用傳輸中資料加密與 Memorystore for Redis,您需要:
- 支援 TLS 的 Redis 用戶端或第三方 TLS Sidecar
- 安裝在存取 Redis 執行個體的用戶端電腦上的憑證授權單位
開放原始碼 Redis 6.0 版之前不支援原生 TLS,因此並非所有 Redis 用戶端程式庫都支援 TLS。如果您使用的用戶端不支援 TLS,建議使用 Stunnel 第三方外掛程式,為用戶端啟用 TLS。如需如何使用 Stunnel 連線至 Redis 執行個體的範例,請參閱「使用 Stunnel 和 telnet 安全連線至 Redis 執行個體」。
憑證授權單位
使用傳輸中加密的 Redis 執行個體會有一或多個專屬的憑證授權單位 (CA),用於驗證伺服器的身分。CA 是字串,您必須下載並安裝在存取 Redis 執行個體的用戶端上。CA 從建立日期起算,效期為十年。為確保服務持續運作,您必須在先前的 CA 到期前,將新的 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 執行個體,以及停用這項功能的 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 不會中斷您用來輪換伺服器憑證或執行更新作業的連線。
後續步驟
- 請參閱啟用傳輸中資料加密功能的操作說明。
- 閱讀驗證功能總覽。
- 查看執行傳輸中加密管理工作所需的權限。
- 瞭解如何連線至已啟用傳輸中資料加密功能的 Redis 執行個體。