網路

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

Memorystore 會使用虛擬私有雲對等互連,將您的虛擬私有雲網路連線至 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

如需在建立執行個體時選擇連線模式的操作說明,請參閱「在服務專案中建立使用共用 VPC 網路的 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 執行個體所連線的 VPC 網路,您就能從地端部署網路中的用戶端連線。如要允許來自內部部署網路的連線,請按照下列步驟操作:

  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 角色。如果沒有必要權限,您可能會收到權限不足的錯誤訊息。如需常見網路錯誤清單,請參閱「網路錯誤情境」。

使用者介面權限

如要在使用者介面中列出本機和主專案網路,您需要下列權限:
  • 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 也支援虛擬私有雲網路,但舊版網路、地端存取和共用虛擬私有雲網路除外。