啟用私人服務存取權

如要讓 AlloyDB for PostgreSQL 執行個體與虛擬私有雲 (VPC) 網路中的資源和 Google 代管服務進行私人通訊,您可以分配 VPC IP 位址範圍,並建立私人服務存取連線。如要概略瞭解 AlloyDB 如何使用私人服務存取權,讓內部資源彼此通訊,請參閱「關於私人服務存取權」。

如要在與 AlloyDB 叢集位於相同Google Cloud 專案的虛擬私有雲網路中,建立私人服務存取權設定,請執行下列兩項作業:

  • 在虛擬私有雲網路中建立分配的 IP 位址範圍。

  • 在虛擬私有雲網路與基礎 Google Cloud 虛擬私有雲網路之間建立私人連線。您也可以設定私人服務存取權,將 AlloyDB 叢集連至位於其他Google Cloud 專案的資源。為此,您必須使用 Shared VPC 合併兩個專案的虛擬私有雲網路。

事前準備

  • 您使用的 Google Cloud 專案必須啟用 AlloyDB 存取權。
  • 您必須在使用的 Google Cloud 專案中具備下列其中一個 IAM 角色:
    • roles/alloydb.admin (AlloyDB 管理員預先定義的 IAM 角色)
    • roles/owner (擁有者基本 IAM 角色)
    • roles/editor (編輯者基本 IAM 角色)

    如果您不具備上述任一角色,請向組織管理員要求存取權。

  • 如要建立私人服務存取權設定,您也必須具備下列 IAM 權限:
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

建立虛擬私有雲 IP 位址範圍

控制台

  1. 前往「VPC networks」(虛擬私有雲網路) 頁面。

    前往「VPC networks」(虛擬私有雲網路)

  2. 選取 AlloyDB 和虛擬私有雲網路所在的專案。

  3. 按一下要用於私人服務存取的虛擬私有雲網路名稱。

  4. 在「VPC network details」(虛擬私有雲網路詳細資料) 頁面中,捲動分頁清單,找到並點選「Private services access」(私人服務存取權) 分頁標籤。

  5. 在「Private services access」(私人服務存取權) 分頁中,按一下「Allocated IP ranges for services」(為服務分配的 IP 範圍) 分頁標籤。

  6. 按一下「Allocate IP range」(分配 IP 範圍)。

  7. 在「Name」(名稱) 和「Description」(說明) 欄位中,輸入分配範圍的名稱和說明。

  8. 為分配作業指定IP 範圍值:

    • 如要指定 IP 位址範圍,請按一下「Custom」(自訂),然後輸入 CIDR 區塊,例如 192.168.0.0/16。

      為確保 AlloyDB 有足夠的位址空間,建議前置字串長度不超過 16。

    • 如要指定前置長度,並讓 Google 選取可用範圍,請按照下列步驟操作:

      1. 按一下「自動」。

      2. 請以純數字輸入前置字串長度,例如 16。

  9. 按一下 [Allocate] (分配),建立已分配範圍。

  10. 在「Private services access」(私人服務存取權) 分頁中,按一下「Private connections to services」(私人服務連線) 分頁標籤。

  11. 按一下「Create connection」(建立連線),在您的網路和服務生產者之間建立私人連線。

  12. 確認「Google Cloud」 為「Connected service producer」(已連線的服務生產者)。

  13. 在「Assigned allocation」(指派的分配項目) 部分,選取先前建立的分配 IP 範圍。

  14. 按一下 [Connect] (連線) 建立連線。

gcloud

如要使用 gcloud CLI,您可以安裝並初始化 Google Cloud CLI,也可以使用 Cloud Shell。

  1. 使用 gcloud config set 指令,將預設專案設為 AlloyDB 和虛擬私有雲網路所在的專案。

    gcloud config set project PROJECT_ID

    將 PROJECT_ID 替換為 AlloyDB 和虛擬私有雲網路所在的專案 ID。

  2. 使用 gcloud compute addresses create 指令建立分配的 IP 位址範圍。

    為確保 AlloyDB 有足夠的位址空間,建議前置字元長度不超過 16。

    • 如要指定位址範圍和前置字元長度 (子網路遮罩),請使用 --addresses 和 --prefix-length 旗標。舉例來說,如要分配 CIDR 區塊 192.168.0.0/16,請將位址指定為 192.168.0.0,並將前置字元長度指定為 16。

          gcloud compute addresses create RESERVED_RANGE_NAME \
              --global \
              --purpose=VPC_PEERING \
              --addresses=192.168.0.0 \
              --prefix-length=16 \
              --description="DESCRIPTION" \
              --network=VPC_NETWORK

      更改下列內容:

      • RESERVED_RANGE_NAME:分配的範圍名稱,例如 my-allocated-range

      • DESCRIPTION:範圍的說明,例如 allocated for my-service

      • VPC_NETWORK:虛擬私有雲網路的名稱,例如 my-vpc-network。如果是 Shared VPC 網路,請設為虛擬私有雲網路的完整路徑,例如 projects/cymbal-project/global/networks/shared-vpc-network。

    • 如要僅指定前置字串長度 (子網路遮罩),請使用 --prefix-length 旗標。如果省略位址範圍,Google Cloud 會自動選取虛擬私有雲網路中未使用的位址範圍。

      下列範例會選取未使用的 IP 位址範圍,前置字串長度為 16 位元:

          gcloud compute addresses create RESERVED_RANGE_NAME \
              --global \
              --purpose=VPC_PEERING \
              --prefix-length=16 \
              --description="DESCRIPTION" \
              --network=VPC_NETWORK

    下列範例會建立連至 Google 的私人連線,讓 default 虛擬私有雲網路中的 VM 執行個體,能透過私人服務存取權,連線至支援這項功能的 Google 服務。

        gcloud compute addresses create google-managed-services-default \
            --global \
            --purpose=VPC_PEERING \
            --prefix-length=16 \
            --description="peering range for Google" \
            --network=default
  3. 使用 gcloud services vpc-peerings connect 指令建立私人連線。

        gcloud services vpc-peerings connect \
            --service=servicenetworking.googleapis.com \
            --ranges=RESERVED_RANGE_NAME \
            --network=VPC_NETWORK

    更改下列內容:

    • RESERVED_RANGE_NAME:您建立的分配 IP 位址範圍名稱

    • VPC_NETWORK:虛擬私有雲網路名稱

    這個指令會啟動長時間執行的作業,並傳回作業名稱。

  4. 確認作業是否已經成功完成。

        gcloud services vpc-peerings operations describe \
            --name=OPERATION_NAME

    將 OPERATION_NAME 改成前面步驟傳回的作業名稱。

後續步驟