本頁說明如何從 Google Cloud啟動,成功建立及佈建 Amazon Web Services (AWS) 合作夥伴 Cross-Cloud Interconnect 連線。
如果沒有 AWS 提供的啟用金鑰,可以從Google Cloud啟動及佈建 AWS 連線的合作夥伴 Cross-Cloud Interconnect。
如要成功建立連線,您必須建立 transport 資源。按照這個頁面的操作說明建立傳輸作業。
開始佈建 AWS 合作夥伴 Cross-Cloud Interconnect 之前,請確認符合下列條件:
- 您必須已擁有 Amazon Web Services 帳戶。
- 如果沒有虛擬私有雲 (VPC) 網路,您也必須建立一個,才能將傳輸連線至該網路。
- 如果您是 VPC Service Controls 使用者,必須使用與 AWS 的合作夥伴跨雲端互連相關聯的
networkconnectivity-transportmanager-clh@system.gserviceaccount.com服務帳戶,設定輸入和輸出規則。如需操作說明,請參閱「設定輸入和輸出規則 (適用於 VPC Service Controls 使用者)」。
事前準備
開始設定前,請先詳閱下列各節。
建立或選取專案
如要簡化 AWS 合作夥伴 Cross-Cloud Interconnect 的設定程序,請先找出有效的專案。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI。
-
執行下列指令,初始化 gcloud CLI:
gcloud init 如果使用 Google Cloud CLI,請使用
gcloud config set指令設定專案 ID。gcloud config set project PROJECT_ID
將
PROJECT_ID替換為專屬專案 ID。本頁的 gcloud CLI 指令假設您已設定專案 ID。
如要確認專案 ID 設定正確無誤,請使用
gcloud config list指令。gcloud config list --format='text(core.project)'
前往 Google Cloud 控制台的「Network Connectivity API」頁面。
按一下「啟用」。
PROJECT:專案名稱LOCATION:要佈建連線的 Google Cloud 區域名稱,例如us-west1TRANSPORT_NAME:要建立的傳輸資源名稱REMOTE_ACCOUNT_ID:您的 AWS 帳戶 IDREGION:要佈建連線的區域名稱,例如us-west1BANDWIDTH:連線的所選頻寬,例如1GAWS_REGION:AWS 區域NETWORK:虛擬私有雲網路的名稱ADVERTISED_ROUTE:通告路徑的 IP 位址STACK_TYPE(選用):IP 位址版本堆疊類型。必須是IPV4_ONLY或IPV4_IPV6。預設值為IPV4_ONLYPROJECT:要在其中建立傳輸作業的專案名稱LOCATION:要佈建連線的 Google Cloud 區域名稱,例如us-west1TRANSPORT_ID:傳輸資源的名稱NETWORK:要建立傳輸的網路REMOTE_PROFILE:要佈建連線的設定檔BANDWIDTH:連線的所選頻寬,例如1GAWS_ACCOUNT_ID:您的 AWS 帳戶 IDIP_RANGE:以半形逗號分隔的 IP 位址範圍清單STACK_TYPE(選用):IP 位址版本堆疊類型。必須是IPV4_ONLY或IPV4_IPV6。預設值為IPV4_ONLYLOCATION:要佈建連線的 Google Cloud 區域名稱,例如us-west1OPERATION_ID:作業 IDgeneratedActivationKey欄位的值peeringNetwork欄位的值TRANSPORT_NAME:您建立的傳輸方式名稱VPC_NETWORK:要列出路徑的虛擬私有雲網路名稱PEERING_NETWORK:Transport資源提供的虛擬私有雲網路名稱,您是從transport資源的peeringNetwork欄位複製而來PROJECT:對等互連專案的名稱NETWORK:要新增對等互連的網路資源名稱TRANSPORT_ID:傳輸資源的名稱NETWORK:要列出路由表的虛擬私有雲網路名稱LOCATION:傳輸資源的位置- 將
PROJECT替換為要列出路徑的專案名稱 NETWORK:要列出路由表的虛擬私有雲網路名稱- 如需 Cloud Interconnect 架構和功能的常見問題解答,請參閱 Cloud Interconnect 常見問題。
- 如要進一步瞭解 Cloud Interconnect,請參閱 Cloud Interconnect 總覽。
- 如要瞭解規劃及設定 Cloud Interconnect 時的最佳做法,請參閱「最佳做法」。
- 如要尋找 Google Cloud 資源名稱,請參閱 Cloud Interconnect API。
啟用 Network Connectivity API
您必須先啟用 Network Connectivity API,才能使用 Cloud Interconnect 執行任何工作。
控制台
如要啟用 Network Connectivity API,請按照下列步驟操作:
或者,您也可以使用Google Cloud 控制台 API 程式庫啟用 API,如「啟用 API」一文所述。
如果沒有啟用金鑰,請從 Google Cloud 啟動連線
列出可用的設定檔
如要在您想佈建連線的區域中,列出特定專案的可用設定檔,請按照下列步驟操作。
gcloud
使用 gcloud beta network-connectivity transports remote-profiles list 指令。
gcloud beta 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/v1beta/projects/PROJECT/locations/LOCATION/remoteTransportProfiles"
替換下列值:
建立 transport 資源
在 transport 資源建立過程中,您必須指定頻寬、網路、remoteProfile 和 remoteAccountId 欄位。advertisedRoutes 是選填欄位,但為確保 AWS 的連線能力,您必須指定這個欄位。這個欄位可以是 IPv4 和 IPv6 子網路的清單。
如果網路使用自動子網路建立功能,請使用 10.128.0.0/9
中的 Google Cloud值。
如要建立傳輸資源,請按照下列步驟操作。
gcloud
使用 gcloud beta network-connectivity transports create 指令
gcloud beta network-connectivity transports create TRANSPORT_NAME \
--remote-account-id=REMOTE_ACCOUNT_ID \
--region=REGION \
--bandwidth=BANDWIDTH \
--remote-profile=AWS_REGION \
--network=NETWORK \
--advertised-routes=ADVERTISED_ROUTE \
--stack-type=STACK_TYPE
替換下列值:
API
使用 networkconnectivity.transports.create 方法指定 TRANSPORT_ID,類似於下列範例:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" "https://networkconnectivity.googleapis.com/v1beta/projects/PROJECT/locations/LOCATION/transports?="TRANSPORT_ID" --data '{
"network": "NETWORK",
"remoteProfile": "REMOTE_PROFILE",
"bandwidth": "BANDWIDTH",
"remoteAccountId": "AWS_ACCOUNT_ID",
"advertisedRoutes": ["IP_RANGE_1","IP_RANGE_2"],
"stackType": "STACK_TYPE
}'
替換下列值:
在輸出中,找出 name 欄位的值。格式為 projects/PROJECT/locations/LOCATION/operations/OPERATION_ID,其中 OPERATION_ID 是作業 ID。
如要查看作業狀態,請使用 networkconnectivity.operations.get 方法。
GET https://networkconnectivity.googleapis.com/v1/locations/LOCATION/operations/OPERATION_ID
更改下列內容:
如果 transport 資源已建立完成,輸出內容會包含 "done": true 行。從輸出內容複製下列值,以供後續步驟使用:
完成 AWS API 的步驟
按照 AWS API 參考文件中的操作說明,使用您在上一個步驟中產生的啟用金鑰。
建立虛擬私有雲網路對等互連
您可以在Google Cloud 結尾主動建立虛擬私有雲網路對等互連。如要這麼做,請使用先前建立的 transport 資源傳回的 peeringNetwork,並確保您建立的對等互連與堆疊類型相同。預設堆疊類型與 transport 資源的 IPV4_ONLY 相符。
如要接收 AWS 路由,請啟用 Import custom routes 欄位。
對等互連虛擬私有雲網路的 MTU 會明確設為最大值,以免連線發生 MTU 問題。如果使用的 MTU 小於 8896,可能會收到 WARNING: Some requests generated
warnings: - Network MTU 1460B does not match the peer's MTU 8896B 警告。在這種情況下,請務必確保 Google Cloud 虛擬私有雲網路和 AWS 虛擬私有雲網路使用相符的 MTU 設定。如果這些值不相符,您可能需要將 MTU 值覆寫為最低公分母。舉例來說,如果您在 Google Cloud 中使用 8896,在 AWS 中使用 8800,則 Google Cloud 中的所有項目都必須設為 8800。
gcloud
如要建立虛擬私有雲網路對等互連,請使用 gcloud compute networks peerings create 指令。
gcloud compute networks peerings create "TRANSPORT_NAME" \
--network="VPC_NETWORK" \
--peer-network="PEERING_NETWORK" \
--import-custom-routes \
--export-custom-routes
替換下列值:
如果指令成功執行,輸出內容的 state 欄位會顯示 ACTIVE 值。
API
如要建立虛擬私有雲網路對等互連,請使用 compute.networks.addPeering 方法。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
替換下列值:
確認連線
您可以列出對等互連的虛擬私有雲網路和路由表,確認連線已建立。完成 AWS 設定後,您可以在清單中查看 AWS 路由。
gcloud
如要列出對等互連的虛擬私有雲網路,請使用 gcloud compute networks peerings list 指令。
gcloud compute networks peerings list
輸出結果會與下列內容相似:
DEST_RANGE TYPE NEXT_HOP_REGION PRIORITY STATUS 10.0.0.0/16 DYNAMIC_PEERING_ROUTE us-east4 0 accepted 10.0.0.0/16 DYNAMIC_PEERING_ROUTE us-east4 0 accepted
如要列出特定傳輸的路線,請使用 gcloud compute networks peerings list-routes 指令。
gcloud compute networks peerings list-routes TRANSPORT_ID\
--direction=INCOMING \
--network=NETWORK \
--region=LOCATION
替換下列值:
API
如要列出對等互連網路,請使用 compute.networks.list 方法。
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks
將 PROJECT 替換為要列出網路的專案名稱。
如要列出路徑,請使用 compute.routes.listPeeringRoutes 方法
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/listPeeringRoutes
替換下列值: