本页面介绍了成功创建和预配从 Google Cloud发起的适用于 Amazon Web Services (AWS) 的合作伙伴 Cross-Cloud Interconnect 连接的步骤。
如果您没有 AWS 提供的激活密钥,可以从Google Cloud启动并预配适用于 AWS 的合作伙伴 Cross-Cloud Interconnect 连接。
在开始适用于 AWS 的合作伙伴 Cross-Cloud Interconnect 预配流程之前,请确保满足以下条件:
- 您必须已拥有 Amazon Web Services 账号。
- 您还必须创建虚拟私有云 (VPC) 网络(如果尚不存在),以将传输连接到该网络。
如需成功建立连接,您必须创建 transport 资源。
请按照以下说明创建传输。
准备工作
开始之前,请查看以下部分。
创建或选择项目
为了更轻松地配置 Network Connectivity Center,请先确定有效项目。
- 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 Center 页面。
点击启用。
PROJECT:项目的名称LOCATION:您要在其中预配连接的 Google Cloud 区域的名称,例如us-west1PROJECT:您要在其中创建传输的项目名称LOCATION:您要在其中预配连接的 Google Cloud 区域的名称,例如us-west1TRANSPORT_ID:传输资源的名称NETWORK:您要在其中创建传输的网络REMOTE_PROFILE:您要在其中预配连接的配置文件BANDWIDTH:您为连接选择的带宽,例如BPS_1GAWS_ACCOUNT_ID:您的 AWS 账号的 IDIP_RANGE:以逗号分隔的 IP 地址范围列表STACK_TYPE(可选):IP 地址版本堆栈类型。 必须为IPV4_ONLY或IPV4_IPV6。默认值为IPV4_ONLY。LOCATION:您要在其中预配连接的 Google Cloud 区域的名称,例如us-west1OPERATION_ID:操作的 IDgeneratedActivationKey字段的值peeringNetwork字段的值TRANSPORT_NAME:您创建的传输的名称VPC_NETWORK:您要列出路由的 VPC 网络的名称PEERING_NETWORK:您从transport资源的peeringNetwork字段复制的Transport资源提供的 VPC 网络的名称PROJECT:您要对等互连的项目的名称NETWORK:要添加对等互连的网络资源的名称TRANSPORT_ID:传输资源的名称NETWORK:您要列出路由表的 VPC 网络的名称LOCATION:传输资源的位置- 将
PROJECT替换为要列出相应路由的项目名称 NETWORK:您要列出路由表的 VPC 网络的名称- 如需获取有关 Cloud Interconnect 架构和功能的常见问题解答,请参阅 Cloud Interconnect 常见问题解答。
- 如需详细了解 Cloud Interconnect,请参阅 Cloud Interconnect 概览。
- 如需了解规划和配置 Cloud Interconnect 的最佳实践,请参阅最佳实践。
- 如需查找 Google Cloud 资源名称,请参阅 Cloud Interconnect API。
启用 Network Connectivity API
您必须先启用 Network Connectivity API,然后才能使用 Network Connectivity Center 执行任何任务。
控制台
如要启用 Network Connectivity API,请执行以下操作:
或者,您可以按照启用 API 中所述,使用 Google Cloud 控制台 API 库来启用 API。
列出可用的配置文件
如需列出您要在其中预配连接的区域中特定项目中的可用配置文件,请按照以下步骤操作。
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 子网的列表。
如果您的网络使用自动子网创建功能,请使用 Google Cloud中的 10.128.0.0/9 值。
如需创建传输资源,请按照以下步骤操作。
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 控制台完成设置。
建立 VPC 网络对等互连
您可以主动在Google Cloud 端建立 VPC 网络对等互连。为此,请使用从之前创建的 transport 资源返回的 peeringNetwork,并确保您创建的对等互连具有相同的堆栈类型。默认堆栈类型使用 IPV4_ONLY 与 transport 资源匹配。
如需接收 AWS 路由,您必须启用 Import custom routes 字段。
对等互连 VPC 网络中的 MTU 会明确设置为最大值,以避免连接中出现 MTU 问题。如果您使用的 MTU 小于 8,896,则可能会收到警告 WARNING: Some requests generated
warnings: - Network MTU 1460B does not match the peer's MTU 8896B。在这种情况下,您必须确保在 Google Cloud VPC 网络和 AWS VPC 网络之间使用匹配的 MTU 配置。如果这些值不匹配,您可能需要将 MTU 值替换为最小公分母。例如,如果您在 Google Cloud 中使用 8,896,在 AWS 中使用 8,800,则 Google Cloud 中的所有内容都必须配置为 8,800。
gcloud
如需建立 VPC 网络对等互连,请使用 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
如需建立 VPC 网络对等互连,请使用 compute.networks.addPeering 方法。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK/addPeering
替换以下值:
验证连接
您可以通过列出对等互连的 VPC 网络和路由表,来验证是否已建立连接。AWS 配置完成后,您可以在列表中看到 AWS 路由。
gcloud
如需列出对等互连的 VPC 网络,请使用 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
替换以下值: