在 Snow Family 设备上设置和启动兼容 Amazon S3 的存储 - Amazon Snowball Edge 开发者指南
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Snow Family 设备上设置和启动兼容 Amazon S3 的存储

在本地环境中安装和配置软件工具, Amazon 以便与 Snowball Edge 设备或设备集群以及 Snow Family 设备上的 Amazon S3 兼容存储进行交互。然后,使用这些工具设置 Snowball Edge 设备或集群,并在 Snow Family 设备上启动与 Amazon S3 兼容的存储。

先决条件

Snow Family 设备上与 Amazon S3 兼容的存储要求你将 Snowball Edge 客户端和 Amazon CLI 安装到本地环境中。你还可以使用 Amazon SDK for .NET 适用于 Windows PowerShell 的 Amazon 工具在 Snow Family 设备上使用与 Amazon S3 兼容的存储。 Amazon 建议使用以下版本的这些工具:

设置您的本地环境

本节介绍如何设置和配置 Snowball Edge 客户端和您的本地环境,以便在 Snow Family 设备上与 Amazon S3 兼容存储一起使用。

  1. 下载并安装 Snowball Edge 客户端。有关更多信息,请参阅下载和安装 Snowball Edge 客户端

  2. 为 Snowball Edge 客户端配置配置文件。有关更多信息,请参阅为 Snowball Edge 客户端配置配置文件

  3. 如果您使用的是 Amazon SDK for .NET,请按如下方式设置clientConfig.AuthenticationRegion参数值:

    clientConfig.AuthenticationRegion = "snow"

设置您的 Snowball Edge 设备

在 Snowball IAM Edge 上进行设置

Amazon Identity and Access Management (IAM) 可帮助您精细访问在 Snowball Edge 设备上运行的 Amazon 资源。您可以使用IAM控制谁经过身份验证(登录)和授权(拥有权限)使用资源。

IAM在 Snowball Edge 上本地支持。您可以使用本地IAM服务来创建角色并向其附加IAM策略。您可以使用这些策略以允许执行分配的任务所需的访问权限。

以下示例允许对 Amazon S3 的完全访问权限API:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ]

有关更多IAM政策示例,请参阅Amazon Snowball Edge 开发人员指南

在 Snow 系列设备上启动与 Amazon S3 兼容的存储

按照以下说明在 Snowball Edge 设备或集群上启动 Snow Family 设备上兼容 Amazon S3 的存储服务。

如果您更喜欢用户友好的体验,则可以使用为独立设备或设备集群启动 Snow Family 设备上的 Amazon S3 兼容存储服务 Amazon OpsHub。请参阅 在 Snow Family 设备上设置与 Amazon S3 兼容的存储 Amazon OpsHub

  1. 运行以下命令来解锁您的 Snowball Edge 设备或设备集群:

    • 对于单个设备:

      snowballEdge unlock-device --endpoint https://snow-device-ip
    • 对于集群:

      snowballEdge unlock-cluster
  2. 运行以下命令并确保 Snowball Edge 设备或设备集群已解锁:

    • 对于单个设备:

      snowballEdge describe-device --endpoint https://snow-device-ip
    • 对于集群:

      snowballEdge describe-cluster --device-ip-addresses [snow-device-1-ip] [snow-device-2-ip] / [snow-device-3-ip] [snow-device-4-ip] [snow-device-5-ip] / [snow-device-6-ip]
  3. 对于每台设备(无论您拥有一台设备还是集群),要在 Snow 系列设备上启动与 Amazon S3 兼容的存储,请执行以下操作:

    1. 通过运行以下 describe-device 命令获取设备的 PhysicalNetworkInterfaceId

      snowballEdge describe-device --endpoint https://snow-device-ip
    2. 运行以下create-virtual-network-interface命令两次,为(用于存储桶操作VNIs)和s3control(用于对象操作)端点创建虚拟网络接口 s3api ()。

      snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --manifest-file manifest --physical-network-interface-id "PhysicalNetworkInterfaceId" --unlock-code unlockcode --endpoint https://snow-device-ip

      该命令返回一个包含 IP 地址的JSON结构。记下该 IP 地址。

      有关这些命令的详细信息,请参阅在 Sn ow Family 设备上设置虚拟网络接口 (VNI)

      注意

      在 Snow 系列设备上启动与 Amazon S3 兼容的存储会消耗设备资源。

  4. 运行以下start-service命令启动 Snow Family 设备上兼容 Amazon S3 的存储服务。其中包括您的设备的 IP 地址以及您为s3controls3api终端节点创建的亚马逊资源名称 (ARNs):VNIs

    要在单个设备上启动服务,请执行以下操作:

    snowballEdge start-service --service-id s3-snow --device-ip-addresses snow-device-1-ip --virtual-network-interface-arns vni-arn-1 vni-arn-2

    要在群集上启动服务,请执行以下操作:

    snowballEdge start-service --service-id s3-snow --device-ip-addresses snow-device-1-ip snow-device-2-ip snow-device-3-ip --virtual-network-interface-arns vni-arn-1 vni-arn-2 vni-arn-3 vni-arn-4 vni-arn-5 vni-arn-6

    对于--virtual-network-interface-arns,请VNIs包含ARNs您在上一步中创建的所有内容。ARN使用空格分隔每个。

  5. 针对单个设备运行以下 describe-service 命令:

    snowballEdge describe-service --service-id s3-snow

    等待服务状态变为 Active

    针对集群运行以下 describe-service 命令:

    snowballEdge describe-service --service-id s3-snow \ --device-ip-addresses snow-device-1-ip snow-device-2-ip snow-device-3-ip

在 Snow Family 设备终端节点上查看有关 Amazon S3 兼容存储的信息

当 Snow Family 设备上兼容 Amazon S3 的存储服务运行时,您可以使用 S describe-service nowball Edge Client 命令查看与 s3control 和 s3api 终端节点关联的 IP 地址。

snowballEdge describe-service --service-id s3-snow --endpoint https://snow-device-ip-address --profile profile-name
describe-service命令的输出

在此示例中,s3control 端点的 IP 地址为 192.168.1.222,s3api 端点的 IP 地址为 192.168.1.152。

{ "ServiceId": "s3-snow", "Autostart": true, "Status": { "State": "ACTIVATING", "Details": "Attaching storage" }, "ServiceCapacities": [ { "Name": "S3 Storage", "Unit": "Byte", "Used": 148599705600, "Available": 19351400294400 } ], "Endpoints": [ { "Protocol": "https", "Port": 443, "Host": "192.168.1.222", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/30c563f1124707705117f57f6c3accd42a4528ed6dba1e35c1822a391a717199d8c49973d3c0283494d987463e826f2c" }, "Description": "s3-snow bucket API endpoint (for s3control SDK)", "DeviceId": "JID-beta-207429000001-23-12-28-03-51-11", "Status": { "State": "ACTIVE" } }, { "Protocol": "https", "Port": 443, "Host": "192.168.1.152", "CertificateAssociation": { "CertificateArn": "arn:aws:snowball-device:::certificate/30c563f1124707705117f57f6c3accd42a4528ed6dba1e35c1822a391a717199d8c49973d3c0283494d987463e826f2c" }, "Description": "s3-snow object & bucket API endpoint (for s3api SDK)", "DeviceId": "JID-beta-207429000001-23-12-28-03-51-11", "Status": { "State": "ACTIVATING" } } ] }