本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Snow Family 设备上设置和启动兼容 Amazon S3 的存储
在本地环境中安装和配置软件工具, AWS 以便与 Snowball Edge 设备或设备集群以及 Snow Family 设备上的 Amazon S3 兼容存储进行交互。然后,使用这些工具设置 Snowball Edge 设备或集群,并在 Snow Family 设备上启动与 Amazon S3 兼容的存储。
先决条件
Snow Family 设备上与 Amazon S3 兼容的存储要求你将 Snowball Edge 客户端和 AWS CLI 安装到本地环境中。你还可以使用 AWS SDK for .NET 适用于 Windows PowerShell 的 AWS 工具在 Snow Family 设备上使用与 Amazon S3 兼容的存储。 AWS 建议使用以下版本的这些工具:
-
Snowball Edge 客户端 — 使用最新版本。有关更多信息,请参阅本指南中的下载和安装 Snowball Edge 客户端。
-
AWS CLI— 版本 2.11.15 或更高版本。有关更多信息,请参阅《 AWS Command Line Interface 用户指南》 AWS CLI中的安装、更新和卸载。
-
AWS SDK for .NET— AWSSDK .S3Control 3.7.304.8 或更高版本。有关更多信息,请参阅 AWS SDK for .NET。
-
AWS 适用于 Windows 的工具 PowerShell — 版本 4.1.476 或更高版本。有关更多信息,请参阅《AWS Tools for Windows PowerShell 用户指南》。
设置您的本地环境
本节介绍如何设置和配置 Snowball Edge 客户端和您的本地环境,以便在 Snow Family 设备上与 Amazon S3 兼容存储一起使用。
下载并安装 Snowball Edge 客户端。有关更多信息,请参阅下载和安装 Snowball Edge 客户端。
为 Snowball Edge 客户端配置配置文件。有关更多信息,请参阅为 Snowball Edge 客户端配置配置文件。
-
如果您使用的是 AWS SDK for .NET,请按如下方式设置
clientConfig.AuthenticationRegion
参数值:clientConfig.AuthenticationRegion =
"snow"
设置您的 Snowball Edge 设备
在 Snowball IAM Edge 上进行设置
AWS Identity and Access Management (IAM) 可帮助您精细访问在 Snowball Edge 设备上运行的 AWS 资源。您可以使用IAM控制谁经过身份验证(登录)和授权(拥有权限)使用资源。
IAM在 Snowball Edge 上本地支持。您可以使用本地IAM服务来创建角色并向其附加IAM策略。您可以使用这些策略以允许执行分配的任务所需的访问权限。
以下示例允许对 Amazon S3 的完全访问权限API:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:*", "Resource": "*" } ]
有关更多IAM政策示例,请参阅AWS Snowball Edge 开发人员指南。
在 Snow 系列设备上启动与 Amazon S3 兼容的存储
按照以下说明在 Snowball Edge 设备或集群上启动 Snow Family 设备上兼容 Amazon S3 的存储服务。
如果您更喜欢用户友好的体验,则可以使用为独立设备或设备集群启动 Snow Family 设备上的 Amazon S3 兼容存储服务 AWS OpsHub。请参阅 在 Snow Family 设备上设置与 Amazon S3 兼容的存储 AWS OpsHub。
-
运行以下命令来解锁您的 Snowball Edge 设备或设备集群:
-
对于单个设备:
snowballEdge unlock-device --endpoint https://
snow-device-ip
-
对于集群:
snowballEdge unlock-cluster
-
-
运行以下命令并确保 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
]
-
-
对于每台设备(无论您拥有一台设备还是集群),要在 Snow 系列设备上启动与 Amazon S3 兼容的存储,请执行以下操作:
-
通过运行以下
describe-device
命令获取设备的PhysicalNetworkInterfaceId
:snowballEdge describe-device --endpoint https://
snow-device-ip
-
运行以下
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-codeunlockcode
--endpoint https://snow-device-ip
该命令返回一个包含 IP 地址的JSON结构。记下该 IP 地址。
有关这些命令的详细信息,请参阅在 Sn ow Family 设备上设置虚拟网络接口 (VNI)。
注意
在 Snow 系列设备上启动与 Amazon S3 兼容的存储会消耗设备资源。
-
-
运行以下
start-service
命令启动 Snow Family 设备上兼容 Amazon S3 的存储服务。其中包括您的设备的 IP 地址以及您为s3control
和s3api
终端节点创建的亚马逊资源名称 (ARNs):VNIs要在单个设备上启动服务,请执行以下操作:
snowballEdge start-service --service-id s3-snow --device-ip-addresses
snow-device-1-ip
--virtual-network-interface-arnsvni-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-arnsvni-arn-1
vni-arn-2
vni-arn-3
vni-arn-4
vni-arn-5
vni-arn-6
对于
--virtual-network-interface-arns
,请VNIs包含ARNs您在上一步中创建的所有内容。ARN使用空格分隔每个。 -
针对单个设备运行以下
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
--profileprofile-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" } } ] }