使用 NCC 建立從 Google Cloud 發起的連線

本頁面說明如何使用 Network Connectivity Center (NCC),建立及佈建 Amazon Web Services (AWS) 合作夥伴 Cross-Cloud Interconnect 連線,並從 Google Cloud啟動。

如果沒有 AWS 提供的啟用金鑰,可以從Google Cloud啟動及佈建 AWS 適用的合作夥伴 Cross-Cloud Interconnect 連線。

如要成功連線,您必須建立 transport 資源。請按照本頁面的操作說明建立傳輸作業。

開始 AWS 適用的合作夥伴 Cross-Cloud Interconnect 佈建程序前,請確認符合下列條件:

  • 您擁有 Amazon Web Services 帳戶。
  • 如果還沒有 NCC 中樞,請建立一個,以便連結傳輸資源。

注意事項

使用 NCC 佈建 AWS 適用的合作夥伴 Cross-Cloud Interconnect 連線時,請注意下列事項:

  • 設定的預設連線拓撲為網狀拓撲。
  • 如果您使用星狀拓撲,混合式輪輻會新增至中心群組。合作夥伴 Cross-Cloud Interconnect 不支援 AWS 混合式輪輻的邊緣群組。
  • 輪輻會自動獲准新增至專案。
  • NCC 最多支援 40 個路由虛擬私有雲網路,但您只能將其中一個路由虛擬私有雲網路新增為輪輻。
  • 如果您使用Private Service Connect 連線傳播功能,搭配 AWS 合作夥伴 Cross-Cloud Interconnect,則該 NCC 中樞上不得有任何其他混合式輪輻。反之,如要將其他混合式輪輻連線至中樞,就無法啟用 Private Service Connect 傳播。

    如要詳細瞭解如何使用 NCC 傳播 Private Service Connect 連線,請參閱「透過 NCC 傳播 Private Service Connect 連線」。

事前準備

開始之前,請先詳閱下列各節。

建立或選取專案

如要輕鬆設定 AWS 適用的合作夥伴 Cross-Cloud Interconnect,請先找出有效的專案。

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自體驗產品的實際應用成效。新客戶還能獲得價值 $300 美元的免費抵免額,能用於執行、測試及部署工作負載。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the Google Cloud CLI.

  5. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. 如果您使用 Google Cloud CLI,請使用 gcloud config set 指令設定專案 ID。

    gcloud config set project PROJECT_ID

    將 PROJECT_ID 替換為專屬專案 ID。

    本頁的 gcloud CLI 指令假設您已設定專案 ID。

  13. 如要確認專案 ID 設定正確無誤,請使用 gcloud config list 指令。

    gcloud config list --format='text(core.project)'

啟用 Network Connectivity API

您必須先啟用 Network Connectivity API,才能使用 AWS 適用的合作夥伴 Cross-Cloud Interconnect 執行任何工作。

控制台

如要啟用 Network Connectivity API,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Network Connectivity API」頁面。

    前往 Network Connectivity API

  2. 按一下「啟用」。

或者,您也可以按照「啟用 API」一文的說明,使用Google Cloud 控制台 API 程式庫啟用 API。

如果沒有啟用金鑰,請從 Google Cloud 啟動連線

列出可用設定檔

如要在您想佈建連線能力的區域中,列出特定專案的可用設定檔,請按照下列步驟操作。

gcloud

使用 gcloud network-connectivity transports remote-profiles list 指令。

gcloud network-connectivity transports remote-profiles list --region REGION

將 REGION 替換成要佈建連線能力的區域名稱,例如 us-west1。

API

使用 networkconnectivity.remoteTransportProfiles.list 方法,並將要求主體留空。

 curl -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://networkconnectivity.googleapis.com/v1/projects/PROJECT/locations/REGION/remoteTransportProfiles"

替換下列值:

  • PROJECT:專案名稱
  • REGION:要佈建連線能力的 Google Cloud 區域 名稱,例如 us-west1

建立 NCC 中樞

如果尚未建立 NCC 中樞,請建立一個,以便連結 transport 資源。

建立 transport 資源

在 transport 資源建立過程中,您必須指定頻寬、remoteProfile 和 remoteAccountId 欄位。

advertisedRoutes 是選填欄位,用於宣傳中樞轉送表以外的路由。

執行下列指令即可建立連線。在中心內,系統會建立多個新的混合式輪輻。

如要建立傳輸資源,請按照下列步驟操作。

控制台

  1. 前往 Google Cloud 控制台的「合作夥伴 Cross-Cloud Interconnect」頁面。

    前往 Partner Cross-Cloud Interconnect

  2. 在專案選單中選取專案。

  3. 按一下「建立傳輸」。

  4. 在「連線起點」下方,按一下「Google Cloud」。

  5. 按一下「繼續」。

  6. 在「傳輸設定檔」下方,選擇要佈建連線的區域。

  7. 在「遠端帳戶 ID」欄位中,輸入 AWS 帳戶的 ID。

  8. 按一下「繼續」。

  9. 在「Basic configuration」(基本設定) 欄位中,輸入下列內容:

    • 要建立的傳輸資源「Transport name」(傳輸名稱)。
    • 傳輸資源的選填說明。
    • (選用) 為連線選擇「頻寬」,例如 1G。
    • (選用) 選擇 IP 堆疊類型。只能選擇「IPv4」IPv4。
    • 選擇「傳輸連線」。
  10. 按一下「繼續」。

  11. 在「連線」下方,選擇「Network Connectivity Center」。

  12. 在「中樞」下方,選擇要使用的中樞名稱。如果尚未建立中樞,請選擇「建立中樞」。按照操作說明建立中心。然後選擇剛建立的中心。

  13. 如要啟用 Private Service Connect,請選取「啟用 Private Service Connect 轉送功能」。

  14. 點選「建立」。

    建立傳輸資源後,系統會顯示「分享配對金鑰」對話方塊,並產生配對金鑰。

  15. 如要完成設定,請在「Share pairing key」(共用配對金鑰) 頁面上,按一下「Go to AWS」(前往 AWS),然後在 AWS 控制台中完成步驟。

  16. 如要驗證連線,請按一下「查看傳輸詳細資料」。「傳輸作業詳細資料」頁面會顯示傳輸作業詳細資料和連線狀態。

gcloud

使用 gcloud network-connectivity transports create 指令。如要啟用 Private Service Connect,請使用選用的 --psc-routing-enabled 旗標。

gcloud network-connectivity transports create TRANSPORT_NAME \
    --region=REGION \
    --remote-account-id=REMOTE_ACCOUNT_ID \
    --remote-profile=REMOTE_PROFILE_NAME \
    --bandwidth=BANDWIDTH \
    --hub=HUB_NAME \
    --advertised-routes=ADVERTISED_ROUTES \
    --stack-type=STACK_TYPE \
    --auto-accept
    [--psc-routing-enabled]

替換下列值:

  • TRANSPORT_NAME:要建立的傳輸資源名稱
  • REGION:要佈建連線能力的區域名稱,例如 us-west1
  • REMOTE_ACCOUNT_ID:AWS 帳戶 ID
  • REMOTE_PROFILE_NAME:與上一個步驟中 gcloud network-connectivity transports remote-profiles list 指令傳回的 Google Cloud 區域相關聯的 AWS 遠端設定檔名稱
  • BANDWIDTH:連線選擇的頻寬,例如 1G。頻寬必須在所選remoteProfile上支援。
  • HUB_NAME:要將傳輸連線至的 NCC 中樞名稱
  • ADVERTISED_ROUTES:向 AWS 宣告的其他 IP 位址。中樞路由表中的所有路由都會向 AWS 公告
  • STACK_TYPE (選用):IP 位址版本堆疊類型。必須為 IPV4_ONLY

API

使用 networkconnectivity.transports.create 方法指定 TRANSPORT_ID,類似於下列範例。如要啟用 Private Service Connect,請在主體中使用選用的 "pscRoutingEnabled": "true"。

curl -X POST \
   -H "Authorization: Bearer $(gcloud auth print-access-token)" \
   -H "Content-Type: application/json" \
   "https://networkconnectivity.googleapis.com/v1/projects/PROJECT/locations/REGION/transports?transportId="TRANSPORT_NAME"
   --data '{
"hub": "HUB_NAME",
"remoteProfile": "REMOTE_PROFILE_NAME",
"bandwidth": "BANDWIDTH",
"remoteAccountId": "REMOTE_ACCOUNT_ID",
"advertisedRoutes": ["ADVERTISED_ROUTES"],
"stackType": "STACK_TYPE",
"autoAccept": "true"
"pscRoutingEnabled": "true"
}'

替換下列值:

  • PROJECT:要在其中建立傳輸作業的專案名稱
  • REGION:要佈建連線能力的 Google Cloud 區域 名稱,例如 us-west1
  • TRANSPORT_NAME:傳輸資源的名稱
  • REMOTE_ACCOUNT_ID:AWS 帳戶 ID
  • REMOTE_PROFILE_NAME:與上一步中 gcloud network-connectivity transports remote-profiles list 指令傳回的 Google Cloud 區域相關聯的 AWS 遠端設定檔名稱
  • BANDWIDTH:連線選擇的頻寬,例如 1G,必須是所選 remoteProfile 支援的頻寬
  • HUB_NAME:要將傳輸連線至的 NCC 中樞名稱
  • ADVERTISED_ROUTES:向 AWS 宣告的其他 IP 位址。中樞路由表中的所有路由都會向 AWS 公告
  • STACK_TYPE (選用):IP 位址版本堆疊類型。必須為 IPV4_ONLY

在輸出內容中,找出 name 欄位的值。格式為 projects/PROJECT/locations/REGION/operations/OPERATION_ID,其中 OPERATION_ID 是作業 ID。

如要查看作業狀態,請使用 networkconnectivity.operations.get 方法。

GET https://networkconnectivity.googleapis.com/v1/locations/REGION/operations/OPERATION_ID

更改下列內容:

  • REGION:要佈建連線能力的 Google Cloud 區域名稱,例如 us-west1
  • OPERATION_ID:作業 ID

如果 transport 資源已建立完成,輸出內容會顯示 "done": true。複製輸出內容中的 generatedActivationKey 欄位值,以供後續步驟使用。

完成 AWS API 的步驟

按照 AWS AWS Direct Connect API 參考資料中的操作說明,使用您在上一個步驟中產生的啟用金鑰。

確認連線

您可以列出附加至所建立中樞的輪輻,確認連線能力是否已建立。您也可以列出中樞的 NCC 路線。

gcloud

如要列出與所有專案中樞相關聯的輪輻,請使用 gcloud network-connectivity hubs list-spokes 指令。

gcloud network-connectivity hubs list-spokes HUB_NAME

將 HUB_NAME 替換成要列出 Spoke 的中樞名稱,例如 my-hub。

如要列出中樞的 NCC 路由,請執行 gcloud network-connectivity hubs route-tables routes list 指令。

gcloud network-connectivity hubs route-tables routes list \
    --hub=HUB_NAME \
    --route_table=default

將 HUB_NAME 替換為中樞名稱,例如 my-hub。

輸出內容大致如下:

IP_CIDR_RANGE  PRIORITY  LOCATION   STATE   TYPE           SITE_TO_SITE  NEXT_HOP                                     HUB          ROUTE_TABLE
10.0.0.0/9     65536     us-east1   ACTIVE  DYNAMIC_ROUTE  OFF           transport-c24daa3d1fa6969a-7a3f13c5553ee9a0  HUB_NAME     default

API

如要列出所有專案中與中樞相關聯的所有輪輻,請使用 networkconnectivity.hubs.listSpokes 方法。

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME:listSpokes

替換下列值:

  • PROJECT_ID:中樞的專案 ID
  • HUB_NAME:要列出 Spoke 的中樞名稱

如要列出中樞的 NCC 路由,請使用 networkconnectivity.hubs.routeTables.routes.list 方法,並將要求主體留空。

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/hubs/HUB_NAME/routeTables/NAME/routes

替換下列值:

  • PROJECT_ID:包含中樞的專案 ID
  • HUB_NAME:中樞名稱
  • NAME:中樞路由表資源的名稱

後續步驟