通过客户管理的专用网络从 AWS 或 Azure 传输

使用 Google Cloud 跨云互连或合作伙伴互连建立的专用网络连接,可为 AWS 或 Azure 与 Cloud Storage 之间的数据传输提供显著优势:

  • 潜在费用优化:有可能节省出站流量费用。这对于拥有现有互连或执行大型或周期性数据传输的客户来说非常有利,可以节省大量长期费用。
  • 专用网络带宽:使用互连可以提供一致的高容量吞吐量和更低的延迟,这对于大型、时间敏感型迁移和实时数据同步至关重要。
  • 满足合规性需求:非常适合法规要求数据不得通过公共互联网传输的工作负载。此功能可帮助您使用互连私密传输数据,以实现合规性、支持数据主权并简化审核。

概览

本文档将引导您完成以下步骤:

  • 订购和配置跨云互连
  • 在 S3 或 Azure 中创建端点
  • 设置具有混合连接的区域内部代理网络负载均衡器
  • 向 Service Directory 注册负载均衡器
  • 创建传输作业
  • 确认流量正在使用互连

所需权限

您需要拥有特定权限才能完成以下各部分。 这些权限列在相应步骤集的文档中。

互连选项

Storage Transfer Service 可以通过跨云互连 (CCI) 或合作伙伴互连从 AWS 和 Azure 传输数据。

以下步骤特定于 CCI,但也适用于为合作伙伴互连配置网络。

订购和配置跨云互连

跨云互连是 Google Cloud 与其他云服务提供商之间的专用物理连接。

如果您已有 CCI 连接,请跳至下一部分。

AWS

按照连接到 Amazon Web Services 中的说明订购和配置新的跨云互连。您需要拥有正确的权限才能在 Google Cloud 和 AWS 中配置网络。

观看视频,了解在 AWS 和 Google Cloud 之间订购和配置 CCI 的步骤。

Azure

按照连接到 Microsoft Azure 中的说明订购和配置新的跨云互连。您需要拥有正确的权限才能在 Google Cloud 和 Azure 中配置网络。

观看视频,了解在 Azure 和 Google Cloud 之间订购和配置 CCI 的步骤。

如果您的 Cloud Storage 存储桶是区域级存储桶,则应在存储桶所在的区域中配置 CCI,以减少网络延迟。

在 S3 或 Azure 中创建端点

在您的 S3 或 Azure 账号中创建一个端点。

AWS

在您的 Amazon Web Services 账号中,创建一个连接到 S3 的 VPC 端点。

按照以下 AWS 说明操作:使用接口 VPC 端点访问 AWS 服务以创建端点。

Azure

按照这些步骤在 Azure 中的存储账号上配置专用端点。

Storage Transfer Service 需要 *.blob.core.windows.net 端点。不支持 *.dfs.core.windows.net 端点。

创建后,请记下端点的 IP 地址。在下一部分中创建负载均衡器时,您需要指定该 IP 地址。

设置具有混合连接的区域内部代理网络负载均衡器

在 Google Cloud 中,设置具有混合连接的区域级内部代理网络负载均衡器。这会提供一个内部 IP 地址,该地址仅限在与负载均衡器相同的 VPC 网络中运行的客户端使用,并且会将流量路由到您在上一部分中创建的 S3 VPC 端点或 Azure Storage 专用端点。

您应在与 Cloud Interconnect 接口的 VLAN 连接相同的项目和 VPC 网络中创建负载均衡器。虽然互连本身可以位于同一组织内的不同项目中,但连接必须与负载均衡器位于同一 VPC 和区域中。

在执行标记为将端点添加到混合连接 NEG 的步骤时,指定 S3 VPC 端点或 Azure Storage 专用端点 IP 地址。

请记下 NLB 的前端 IP 地址和端口,因为您需要在下一部分中指定它们。

验证连接

在继续操作之前,我们建议您验证负载均衡器是否可以连接到远程存储端点。

为此,请执行以下操作:

  1. 在负载均衡器所在的 VPC 网络中创建 Compute Engine 虚拟机。
  2. 在虚拟机中,使用 curl 测试与负载均衡器的 IP 地址和端口的连接:

    curl -v --resolve HOSTNAME:PORT:LOAD_BALANCER_IP https://HOSTNAME
    

    替换以下内容:

    • HOSTNAME 是源存储服务提供商的主机名。
      • 对于 AWS S3,请使用存储桶所在区域的 S3 API 端点,例如 s3.us-west-1.amazonaws.com。
      • 对于 Azure Storage,请使用存储账号的 Blob 端点,例如 mystorageaccount.blob.core.windows.net。
    • PORT 是您在负载均衡器的转发规则中配置的端口,通常为 443。
    • LOAD_BALANCER_IP 是负载均衡器的前端 IP 地址。

来自远程端点的响应(即使是错误)表示连接成功。连接超时表示网络设置中存在配置错误,您应先解决此问题,然后再继续。

向 Service Directory 注册 NLB

在 Service Directory 中注册 NLB。Storage Transfer Service 使用 Service Directory 来解析负载均衡器的地址并直接连接到该地址。

按照说明注册内部负载均衡器。指定转发规则时,请使用您创建的负载均衡器的 IP 地址和端口。

创建后,请记下该服务的页内链接。其格式为 projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}。 创建转移作业时,您需要用到此值。

创建传输作业

向服务代理授予以下权限。如需了解如何检索服务代理以及向服务代理授予权限,请参阅配置对接收器的访问权限:Cloud Storage。

如需创建使用跨云互连的转移作业,您必须使用 Storage Transfer Service REST API。发送如下请求。 请注意 privateNetworkService 字段,您可以在其中指定 Service Directory 服务的 selfLink。

AWS

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "awsS3DataSource": {
        "privateNetworkService": "SERVICE_SELF_LINK",
        "bucketName": "S3_BUCKET_NAME",
        "awsAccessKey": {
          "accessKeyId": "ACCESS_KEY_ID",
          "secretAccessKey": "SECRET_ACCESS_KEY"
        }
    },
    "gcsDataSink": {
        "bucketName": "GCS_BUCKET_NAME"
    }
  }
}

Azure

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
      "azureBlobStorageDataSource": {
          "privateNetworkService": "SERVICE_SELF_LINK",
          "storageAccount": "AZURE_SOURCE_NAME",
          "container": "AZURE_CONTAINER",
          "azureCredentials": {
              "sasToken": "AZURE_SAS_TOKEN",
          }
      },
      "gcsDataSink": {
          "bucketName": "GCS_BUCKET_NAME"
      }
  }
}

替换以下内容:

  • SERVICE_SELF_LINK 是 Service Directory 服务的自链接。其格式为 projects/{project_id}/locations/{location}/namespaces/{namespace}/services/{service}。

如需了解其他字段,请参阅 transferSpec 参考文档。

确认流量正在使用互连

使用 Cloud Monitoring 验证从 AWS 或 Azure 流经互连的流量。

  1. 在 Google Cloud Console 中,前往混合连接 > Cloud Interconnect。
  2. 选择连接到 AWS/Azure 环境的 VLAN 连接。
  3. 在连接的详情页面上,选择监控标签页。查找指示数据传输的指标。具体而言:
    • 入站流量字节数:此指标显示从 AWS 或 Azure 进入 Google Cloud VPC 的数据。
    • 运行状态:确保物理连接和 BGP 会话都处于正常运行状态。