網路

本頁面提供 Memorystore for Redis 網路總覽。

Memorystore 會使用 VPC 對等互連,將您的虛擬私有雲網路連線至 Google 內部服務網路。Memorystore for Redis 提供不同的對等互連架構和網路功能,具體取決於您建立執行個體時選擇的連線模式

我們新增了選取連線模式的選項,以便在 Google Cloud 中支援進階網路選項,例如共用虛擬私有雲架構和更完善的 IP 管理,同時確保支援 Memorystore 現有的對等互連架構。

Memorystore for Redis 支援兩種連線模式:DIRECT_PEERINGPRIVATE_SERVICE_ACCESS

無論連線模式為何,Memorystore for Redis 一律會使用內部 IP 位址佈建 Redis 執行個體。

連線模式

Memorystore for Redis 提供兩種連線模式,支援不同的功能:

  • 直接對接
  • 私人服務連線

如要查看現有執行個體的網路連線模式,請執行下列指令,並將 variables 改成適當的值:

gcloud redis instances describe instance-id --region=region
  • connectMode 值會顯示 DIRECT_PEERINGPRIVATE_SERVICE_ACCESS

如需在建立執行個體時選擇連線模式的操作說明,請參閱在服務專案中建立使用共用虛擬私有雲網路的 Redis 執行個體,或建立使用集中式 IP 位址範圍的 Redis 執行個體

直接對接

使用直接對接模式時,Memorystore 會在客戶虛擬私有雲網路和 Google 管理專案中的虛擬私有雲網路之間建立虛擬私有雲對接。對接會在建立執行個體時自動建立,使用者不需執行其他步驟。其他 Google Cloud服務不會共用對接。在私人服務連線模式推出前,Memorystore for Redis 使用的是直接對接連線模式。

預設情況下,新執行個體會使用直接對接連線模式建立。如果現有指令碼未指定連線模式,系統預設會使用直接對接模式。

如果您要以直接對等互連連線模式建立執行個體,並使用 --reserved-ip-range gcloud 標記指定 IP 位址範圍,請參閱「建立具有特定 IP 位址範圍的 Redis 執行個體」一文,瞭解如何指定範圍。如果執行個體沒有唯讀副本,則所需的最小區塊大小為 /29。如果執行個體有唯讀副本,則所需的最小區塊大小為 /28

私人服務連線

私人服務連線是另一種在虛擬私有雲網路與 Google 服務網路之間建立對接的方式。

為虛擬私有雲網路建立私人服務連線時,系統會在該虛擬私有雲網路與 Google 服務網路之間建立對等互連。連線建立完成後,您就可以使用私人服務連線模式建立執行個體

使用私人服務連線,即可為 Redis 執行個體啟用下列功能:

  • 使用共用 VPC 在服務專案中佈建 Memorystore for Redis 執行個體。
  • 集中管理多項 Google 服務的 IP 位址範圍。
  • 透過 VPN 通道Cloud Interconnect,從外部來源連線至虛擬私有雲網路。

私人服務存取權的優點之一,是多項 Google 服務可共用相同的網路對等互連,因此能限制 Google 服務建立的對等互連數量。

使用私人服務連線連線模式建立執行個體時,--reserved-ip-range gcloud 旗標的用途與使用直接對接連線模式建立執行個體時不同。使用私人服務連線模式建立執行個體時,如果分配給私人服務連線的 IP 位址範圍有多個,您可以使用 --reserved-ip-range gcloud 旗標,選擇建立 Redis 執行個體時要使用的分配範圍。如需操作說明,請參閱「使用特定 IP 位址範圍建立 Redis 執行個體」。

選擇連線模式

下表列出不同使用案例和應採用的連線模式。

情境 支援的連線模式
使用共用虛擬私有雲網路佈建 Redis 執行個體 僅限私人服務連線
使用 VPN 從地端部署網路存取 Redis 執行個體 僅限私人服務連線
集中管理多項 Google 服務的 IP 範圍 僅限私人服務連線
使用專屬虛擬私有雲網路佈建 Redis 執行個體 私人服務連線 (建議) 或直接對接

切換現有執行個體的連線模式

您無法切換現有執行個體的連線模式。如要切換連線模式,請使用新的連線模式重新建立執行個體。這會導致執行個體的 IP 位址變更。

舉例來說,如果您在私人服務連線連線模式推出前建立執行個體,該執行個體的連線模式屬性會設為直接對接。如果您使用私人服務連線連線模式重建執行個體,執行個體的 IP 位址會變更。

此外,Memorystore for Redis 支援在同一個專案和同一個網路中,讓 Redis 執行個體使用私人服務連線,以及讓執行個體使用直接對接。

透過私人服務連線進行地端部署存取

如果地端部署網路已連線至 Memorystore for Redis 執行個體所連線的虛擬私有雲網路,您就能從地端部署網路中的用戶端連線。如要允許從地端部署網路連線,請完成下列步驟:

  1. 請確認 Shared VPC 網路已透過下列其中一種方式連線至內部部署網路:
  2. 請確認管理 Cloud VPN 通道和 Cloud Interconnect 連結 (VLAN) 的 Cloud Router 上的 BGP 工作階段,已從地端部署網路收到特定前置字元 (目的地)。預設路徑 (目的地 0.0.0.0/0) 無法匯入 Memorystore for Redis 虛擬私有雲網路,因為該網路有自己的本機預設路徑。系統一律會使用目的地的本機路徑,即使 Memorystore for Redis 對等互連已設定為從虛擬私有雲網路匯入自訂路徑也一樣。
  3. 找出私人服務連線產生的對等互連。Memorystore for Redis 使用的對等互連名稱為 servicenetworking-googleapis-com
  4. 更新對等互連連線,方法是同時設定 --import-custom-routes--export-custom-routes 標記,交換自訂路徑。
  5. 找出私人服務連線使用的分配範圍
  6. 為管理 Cloud VPN 通道或 Cloud Interconnect 連結 (VLAN) BGP 工作階段的 Cloud Router,建立 Cloud Router 自訂通告路由

傳達網路需求

通常貴機構的網路團隊和/或網路管理員會負責設定私人服務連線。這樣一來,網路團隊就能確保用於其他Google Cloud 資源的 IP 位址或範圍不會重疊,以免造成連線問題。

建議您與貴機構的網路/安全團隊聯絡,請他們為您設定私有服務連線,尤其是在設定過程中發生錯誤時。與網路團隊聯絡時,請提供下列資訊:

The Memorystore for Redis instance cannot be created due to the following
error:

"Google private services access is not enabled. Enable privates service access
and try again."

Before an instance can be created, a private service access connection needs to
be established for network <project name: network>. Please refer to the
following Memorystore documentation links for more information on how to create
this connection:

* Networking.
* Establishing a private services access connection.
* Verifying a private services access connection.

已啟用唯讀備用資源的執行個體網路需求

如要使用 Memorystore for Redis 的唯讀副本功能,執行個體的 CIDR IP 位址範圍必須為 /28 以上。較大的範圍大小 (例如 /27/26) 都是有效值。這項功能不支援較小的範圍,例如 /29

建立私人服務連線所需的權限

如要管理私人服務連線,使用者應具備下列 IAM 角色。如果沒有必要權限,您可能會收到權限不足的錯誤訊息。如需常見網路錯誤清單,請參閱「網路錯誤情境」。

UI 權限

如要在使用者介面中列出本機和主專案網路,需要下列權限:
  • compute.networks.list
    • 本機和主專案都需要。
如要在使用者介面中檢查私人服務連線,必須具備下列權限:
  • compute.networks.list
    • 本機和主專案都需要。
如要在使用者介面中建立私人服務存取連線,您必須具備下列權限:
  • serviceusage.services.enable
    • 需要啟用 Service Networking API。
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

gcloud 權限

檢查私人服務連線所需的 gcloud 權限
  • compute.networks.list
    • 本機和主專案都需要。
建立私人服務連線所需的 gcloud 權限
  • serviceusage.services.enable
    • 需要啟用 Service Networking API。
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

支援的網路和用戶端 IP 範圍

Memorystore for Redis 支援 RFC 1918 私人 IP 位址和部分非 RFC 1918 私人 IP 位址。

  • 「有效範圍」提供 Memorystore for Redis 可接受的範圍清單。不過,Memorystore for Redis 不支援這裡連結的有效範圍表格中列出的私用公開 IP (PUPI) 位址。
  • 「受限範圍」會列出無法用於建立 Memorystore for Redis 執行個體的 IP 位址範圍。
  • 如果 Memorystore 執行個體使用私人服務連線連線模式,PUPI 範圍內的用戶端就無法連線至 Memorystore 執行個體。

Memorystore 也支援虛擬私有雲網路,但舊版網路、地端存取和Shared VPC 網路除外。