設定私人服務存取權

私人服務連線可讓Google Cloud 虛擬私有雲網路與 Google 管理或第三方服務建立安全私密連線。這項功能可讓虛擬私有雲網路中的 VM 執行個體使用內部 IP 位址與這些服務通訊,而不會將流量暴露於公開網際網路上。

事前準備

如要建立私人連線,請完成下列事前準備:

  • 您必須具有現有的虛擬私有雲網路,可用來連線至服務供應商的網路。VM 執行個體必須使用這個虛擬私有雲網路,以私人連線的方式連線至服務。
  • 按照 Live Stream API「事前準備」頁面的步驟,建立設定正確的 Google Cloud 專案 (或選擇現有專案)。

為 Live Stream API 啟用私人服務連線

如需設定私人服務連線的一般程序,請參閱虛擬私有雲說明文件。本頁面會根據 Live Stream API 調整程序。

  1. 安裝及設定 Google Cloud CLI

  2. 啟用 Service Networking API。

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud services enable servicenetworking.googleapis.com

    Windows (PowerShell)

    gcloud services enable servicenetworking.googleapis.com

    Windows (cmd.exe)

    gcloud services enable servicenetworking.googleapis.com

  3. 如要取得設定私人連線所需的權限,請要求管理員在虛擬私有雲網路所在的 Google Cloud 專案中,授予您 Compute Engine 網路管理員 (roles/compute.networkAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理存取權」。

    您也可以透過自訂角色或其他預先定義的角色取得必要權限。

  4. 在虛擬私有雲網路中,使用 addresses create 指令分配具名 IP 範圍,如下列範例所示。

    如要指定位址範圍與前置字串長度 (也就是子網路遮罩),請使用 addressesprefix-length 標記。舉例來說,如要分配 CIDR 區塊 192.168.0.0/17,請將位址指定為 192.168.0.0,並將前置字串長度指定為 17

    使用下列任何指令資料之前,請先替換以下項目:

    • RESERVED_RANGE_NAME:分配的範圍名稱,例如 my-allocated-range
    • DESCRIPTION:範圍的說明,例如 allocated for my-service
    • VPC_NETWORK:虛擬私有雲網路的名稱,例如 my-vpc-network

    執行下列指令:

    Linux、macOS 或 Cloud Shell

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

    Windows (PowerShell)

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

    Windows (cmd.exe)

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

    您應該會收到類似以下的回應:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    如要只指定前置字串長度,請使用 prefix-length 標記。如果省略位址範圍, Google Cloud 會自動選取虛擬私有雲網路中未使用的位址範圍。下列範例會以 17 位元前置字串長度選取未使用的 IP 位址範圍。

    使用下列任何指令資料之前,請先替換以下項目:

    • RESERVED_RANGE_NAME:分配的範圍名稱,例如 my-allocated-range
    • DESCRIPTION:範圍的說明,例如 allocated for my-service
    • VPC_NETWORK:虛擬私有雲網路的名稱,例如 my-vpc-network

    執行下列指令:

    Linux、macOS 或 Cloud Shell

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

    Windows (PowerShell)

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

    Windows (cmd.exe)

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

    您應該會收到類似以下的回應:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    上述範例會建立與 Google 的私人連線,讓所提供虛擬私有雲網路 (例如 my-vpc-network) 中的 VM 執行個體,可以透過私人服務存取權與支援該功能的 Google 服務連線。

    Live Stream API 必須為每個區域分配 CIDR/17 區塊。如果您打算在多個區域使用 Live Stream API,請分配較大的區塊。下表說明建議分配的區塊大小 (視區域數量而定):

    區域數量prefix-length 旗標的值
    117
    216
    3-415
    5-814
    9-1613
  5. 在服務供應商網路與您的虛擬私有雲網路之間建立私人連線:

    1. 建立私人連線。

      使用下列任何指令資料之前,請先替換以下項目:

      • RESERVED_RANGE_NAME:您在上一個步驟中建立的分配範圍名稱
      • VPC_NETWORK:虛擬私有雲網路的名稱
      • PROJECT_ID:虛擬私有雲網路所在專案的專案 ID Google Cloud

      執行下列指令:

      Linux、macOS 或 Cloud Shell

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

      Windows (PowerShell)

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

      Windows (cmd.exe)

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

      您應該會收到類似以下的回應:

      Operation "operations/OPERATION_ID" finished successfully.

      這項指令會建立長時間執行的作業 (LRO)。

    2. 如果指令成功執行,請跳至下一個步驟。否則,請檢查作業狀態。

      使用下列任何指令資料之前,請先替換以下項目:

      • OPERATION_ID:上一個步驟中傳回的作業 ID

      執行下列指令:

      Linux、macOS 或 Cloud Shell

      gcloud services vpc-peerings operations describe \
        --name=operations/OPERATION_ID

      Windows (PowerShell)

      gcloud services vpc-peerings operations describe `
        --name=operations/OPERATION_ID

      Windows (cmd.exe)

      gcloud services vpc-peerings operations describe ^
        --name=operations/OPERATION_ID

      您應該會收到類似以下的回應:

      Operation "operations/OPERATION_ID" finished successfully.

  6. (選用) 如果您使用 VPC Service Controls,則需要為剛建立的私人連線啟用 VPC-SC。

    使用下列任何指令資料之前,請先替換以下項目:

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

    執行下列指令:

    Linux、macOS 或 Cloud Shell

    gcloud services vpc-peerings enable-vpc-service-controls \
        --service=servicenetworking.googleapis.com \
        --network=VPC_NETWORK

    Windows (PowerShell)

    gcloud services vpc-peerings enable-vpc-service-controls `
        --service=servicenetworking.googleapis.com `
        --network=VPC_NETWORK

    Windows (cmd.exe)

    gcloud services vpc-peerings enable-vpc-service-controls ^
        --service=servicenetworking.googleapis.com ^
        --network=VPC_NETWORK

    您應該會收到類似以下的回應:

    Operation "operations/OPERATION_ID" finished successfully.

  7. (選用) 如要啟用地端部署存取服務供應商,請在 Cloud Router 上新增 SRT/RTMP IP 位址做為自訂路由通告。接著,更新 Service Networking 虛擬私有雲端對等互連,匯出自訂路徑,透過對等互連連線擴展本機網路的連線。詳情請參閱排解地端部署主機問題