通过GCP VPC 将资料从AWS S3 搬迁至Google Cloud Storage配置教程
我们的云端储存移转服务可以让您安全的将资料从Amazon S3传输到Google Cloud Storage 中。为了使用GCP的服务,客户将PB量级的资料从S3移转至Cloud Storage中,并希望可以强化此传输服务。使用 VPC Service Controls,GCP上针对敏感资料定义安全边界的一个服务,增加一层或多层的安全防护,让您更安全的移转资料。
让我们来看看如何使用VPC Service Controls安全的将资料传输至Cloud Storage中。在这个范例中,我们会为 service account 制定一个简单版的VPC Service Control rule,如果您需要更多功能,也可以将他设定的复杂些。如果您想了解更多应用案例,VPC Service Control相关文件会有更多进阶rules的介绍。这里可以看到一些实作范例。
除了从S3 移转资料,Cloud Storage Transfer Service 也可以在Cloud Storage buckets 和HTTP/HTTPS servers 之间传输资料。
这个教学假设您已经拥有GCP帐户或是 GCP免费试用版。进入云端控制台,选择或创建一个专案并启用billing。
让我们开始传输资料
跟着这个流程让您的资料从S3 移转至Cloud Storage。
步骤1:新增一个具有传输资料权限的AWS IAM 用户,并确保该用户能够存取S3 中的档案并传输资料。
GCP需要有Amazon S3的资料存取权。您新增的AWS IAM用户需要有以下角色:
- 列表Amazon S3 中每个bucket
- 取得Amazon S3 中bucket
- 读取Amazon S3 中bucket 下的物件
您也需要新增至少一个传输资料的访问/密钥。您也可以针对不同业务需求,为每一笔传输作业建立独立的访问/密钥。
步骤2:创建你的VPC Service Control perimeter
从Cloud Console 中,创建你的VPC Service Control perimeter,并启用您想在这个perimeter 内想要保护的APIs。
注意,VPC Service Control页面在Cloud Console中预设是不可见的,即使你拥有organization admin权限,也看不见这个页面。需要透过organization admin在IAM page中授予Access Context Manager Admin权限给设定VPC Service Control的users。他的页面看起来如下:
步骤3:取得运行传输作业的service account 的名称。
此service account应位于将启动移转作业的GCP专案中。设计上,此 GCP专案将不会位在您的VPC Service Control的perimeter中。
service account的名称格式如下:
project-[ProjectID]@storage-transfer-service.iam.gserviceaccount.com
您可以使用此API解析来确认您的service account名称。
步骤4:在Access Context Manager 中创建一个access policy
注意:一个组织节点只能有一个存取权政策。如果你透过控制台新增access level,它会自动为你创建一个access policy。
或是通过command line 新增policy,如下所示:
gcloud access-context-manager policies create \
--organization ORGANIZATION_ID --title POLICY_TITLE
当command 完成,您将会看到如下内容:
Create request issued
Waiting for operation [accessPolicies/POLICY_NAME/create/1521580097614100] to complete...done.
Created.
步骤5:在access policy 上创建一个access level 将存取限制在一个使用者或service account
这即是一个access policy 上的一个access level 的简单范例,其限制了对于该project 的VPC 存取仅能透过该service account 完成。当然,更复杂的access level rules 组合是可以做到的。然而,这里我们透果一个简单的例子作为VPC Service Controls 的一个“Hello, world” 范例。
步骤5.1:创建一个.yaml 文件来设定拥有存取权限的成员。
- members:
- user:sysadmin@example.com
- serviceAccount:service@project.iam.gserviceaccount.com
步骤5.2:储存文件
在这个范例中,将文件命名为CONDITIONS.yaml。下一步,创建access level。
gcloud access-context-manager levels create NAME \
--title TITLE \
--basic-level-spec CONDITIONS.yaml \
--combine-function=OR \
--policy=POLICY_NAME
您将会看到以下输出:
Create request issued for: NAME
Waiting for operation [accessPolicies/POLICY_NAME/accessLevels/NAME/create/1521594488380943] to complete...done.
Created level NAME.
步骤6:将access level 绑定至您所创建的VPC Service Control
此步骤为确认您刚所创建的access level 作用在VPC Service Control perimeter 保护范围内的服务上,如下所示:
步骤7:开始传输作业
从controlled perimeter 外的专案中启动档案传输至位于controlled perimeter 内的专案的Cloud Storage Bucket。这个传输只能透过你在上一步access level 中设定的那个service account 驱动。如下所示:
完成!您存在S3 中的资料现在已经移转到Google Cloud Storage 中,您可以对其做管理、修改或移转。透过以下资源,以了解更多关于传输资料到GCP 的资讯:
相关文章
(原文翻译自Google Cloud。)



QQ咨询
旺旺咨询