在AWS机密云和顶级机密云区域部署Cloud Volumes ONTAP
与标准AWS区域类似、您可以在中使用BlueXP "AWS机密云" 和中的 "AWS云的绝密" 部署Cloud Volumes ONTAP、它可为云存储提供企业级功能。AWS机密云和Top机密云是美国特定的封闭区域智能社区;此页面上的说明仅适用于AWS机密云和Top机密云区域用户。
开始之前、请查看AWS机密云和Top机密云中支持的版本、并了解BlueXP中的私有模式。
-
在AWS机密云和Top机密云中查看以下受支持的版本:
-
Cloud Volumes ONTAP 9.12.1 P2
-
连接器3.9.32版
Connector是在AWS中部署和管理Cloud Volumes ONTAP 所需的软件。您将从安装在Connector实例上的软件登录到BlueXP。AWS机密云和Top SecretCloud不支持适用于BlueXP的SaaS网站。
-
-
了解私有模式
在AWS机密云和Top机密云中、BlueXP在_private模式_下运行。在私有模式下、无法连接到BlueXP SaaS层。用户可从连接器(而不是SaaS层)提供的基于Web的控制台本地访问BlueXP。
要详细了解私有模式的工作原理、请参阅 "BlueXP私有部署模式"。
第1步:设置网络
设置 AWS 网络,以便 Cloud Volumes ONTAP 可以正常运行。
-
选择要启动连接器实例和 Cloud Volumes ONTAP 实例的 VPC 和子网。
-
确保您的 VPC 和子网支持连接器和 Cloud Volumes ONTAP 之间的连接。
-
将 VPC 端点设置为 S3 服务。
如果要将冷数据从 Cloud Volumes ONTAP 分层到低成本对象存储,则需要 VPC 端点。
第2步:设置权限
设置IAM策略和角色、以便为连接器和Cloud Volumes ONTAP提供在AWS机密云或Top机密云中执行操作所需的权限。
您需要为以下每项设置一个 IAM 策略和 IAM 角色:
-
Connector 实例
-
Cloud Volumes ONTAP 实例
-
对于HA对、是指Cloud Volumes ONTAP HA调解器实例(如果要部署HA对)
-
转到 AWS IAM 控制台,然后单击 * 策略 * 。
-
为 Connector 实例创建策略。
您可以创建这些策略来支持AWS环境中的S3存储分段。在稍后创建分段时、请确保分段名称前加上 fabric-pool-
。此要求适用场景适用于AWS机密云和顶级机密云区域。秘密区域{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:RunInstances", "ec2:ModifyInstanceAttribute", "ec2:DescribeRouteTables", "ec2:DescribeImages", "ec2:CreateTags", "ec2:CreateVolume", "ec2:DescribeVolumes", "ec2:ModifyVolumeAttribute", "ec2:DeleteVolume", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:CreateSnapshot", "ec2:DeleteSnapshot", "ec2:DescribeSnapshots", "ec2:GetConsoleOutput", "ec2:DescribeKeyPairs", "ec2:DescribeRegions", "ec2:DeleteTags", "ec2:DescribeTags", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:ValidateTemplate", "iam:PassRole", "iam:CreateRole", "iam:DeleteRole", "iam:PutRolePolicy", "iam:ListInstanceProfiles", "iam:CreateInstanceProfile", "iam:DeleteRolePolicy", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteInstanceProfile", "s3:GetObject", "s3:ListBucket", "s3:GetBucketTagging", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "kms:List*", "kms:Describe*", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DisassociateIamInstanceProfile", "ec2:DescribeInstanceAttribute", "ec2:CreatePlacementGroup", "ec2:DeletePlacementGroup" ], "Resource": "*" }, { "Sid": "fabricPoolPolicy", "Effect": "Allow", "Action": [ "s3:DeleteBucket", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:PutBucketTagging", "s3:ListBucketVersions" ], "Resource": [ "arn:aws-iso-b:s3:::fabric-pool*" ] }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:AttachVolume", "ec2:DetachVolume" ], "Condition": { "StringLike": { "ec2:ResourceTag/WorkingEnvironment": "*" } }, "Resource": [ "arn:aws-iso-b:ec2:*:*:instance/*" ] }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": [ "arn:aws-iso-b:ec2:*:*:volume/*" ] } ] }
顶级机密区域{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:RunInstances", "ec2:ModifyInstanceAttribute", "ec2:DescribeRouteTables", "ec2:DescribeImages", "ec2:CreateTags", "ec2:CreateVolume", "ec2:DescribeVolumes", "ec2:ModifyVolumeAttribute", "ec2:DeleteVolume", "ec2:CreateSecurityGroup", "ec2:DeleteSecurityGroup", "ec2:DescribeSecurityGroups", "ec2:RevokeSecurityGroupEgress", "ec2:RevokeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:CreateSnapshot", "ec2:DeleteSnapshot", "ec2:DescribeSnapshots", "ec2:GetConsoleOutput", "ec2:DescribeKeyPairs", "ec2:DescribeRegions", "ec2:DeleteTags", "ec2:DescribeTags", "cloudformation:CreateStack", "cloudformation:DeleteStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:ValidateTemplate", "iam:PassRole", "iam:CreateRole", "iam:DeleteRole", "iam:PutRolePolicy", "iam:ListInstanceProfiles", "iam:CreateInstanceProfile", "iam:DeleteRolePolicy", "iam:AddRoleToInstanceProfile", "iam:RemoveRoleFromInstanceProfile", "iam:DeleteInstanceProfile", "s3:GetObject", "s3:ListBucket", "s3:GetBucketTagging", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "kms:List*", "kms:Describe*", "ec2:AssociateIamInstanceProfile", "ec2:DescribeIamInstanceProfileAssociations", "ec2:DisassociateIamInstanceProfile", "ec2:DescribeInstanceAttribute", "ec2:CreatePlacementGroup", "ec2:DeletePlacementGroup" ], "Resource": "*" }, { "Sid": "fabricPoolPolicy", "Effect": "Allow", "Action": [ "s3:DeleteBucket", "s3:GetLifecycleConfiguration", "s3:PutLifecycleConfiguration", "s3:PutBucketTagging", "s3:ListBucketVersions" ], "Resource": [ "arn:aws-iso:s3:::fabric-pool*" ] }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances", "ec2:TerminateInstances", "ec2:AttachVolume", "ec2:DetachVolume" ], "Condition": { "StringLike": { "ec2:ResourceTag/WorkingEnvironment": "*" } }, "Resource": [ "arn:aws-iso:ec2:*:*:instance/*" ] }, { "Effect": "Allow", "Action": [ "ec2:AttachVolume", "ec2:DetachVolume" ], "Resource": [ "arn:aws-iso:ec2:*:*:volume/*" ] } ] }
-
为 Cloud Volumes ONTAP 创建策略。
秘密区域{ "Version": "2012-10-17", "Statement": [{ "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws-iso-b:s3:::*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws-iso-b:s3:::fabric-pool-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws-iso-b:s3:::fabric-pool-*", "Effect": "Allow" }] }
顶级机密区域{ "Version": "2012-10-17", "Statement": [{ "Action": "s3:ListAllMyBuckets", "Resource": "arn:aws-iso:s3:::*", "Effect": "Allow" }, { "Action": [ "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws-iso:s3:::fabric-pool-*", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws-iso:s3:::fabric-pool-*", "Effect": "Allow" }] }
对于HA对、如果您计划部署Cloud Volumes ONTAP HA对、请为HA调解器创建一个策略。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "ec2:AssignPrivateIpAddresses", "ec2:CreateRoute", "ec2:DeleteRoute", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeVpcs", "ec2:ReplaceRoute", "ec2:UnassignPrivateIpAddresses" ], "Resource": "*" } ] }
-
创建角色类型为 Amazon EC2 的 IAM 角色,并附加您在上述步骤中创建的策略。
创建角色:与策略类似、您应为连接器设置一个IAM角色、并为Cloud Volumes ONTAP节点设置一个IAM角色。
对于HA对:与策略类似、您应为连接器设置一个IAM角色、为Cloud Volumes ONTAP节点设置一个IAM角色、并为HA调解器设置一个IAM角色(如果要部署HA对)。选择角色:启动 Connector 实例时,必须选择 Connector IAM 角色。从BlueXP创建Cloud Volumes ONTAP工作环境时、您可以为Cloud Volumes ONTAP选择IAM角色。
对于HA对、您可以在通过BlueXP创建Cloud Volumes ONTAP工作环境时为Cloud Volumes ONTAP和HA调解器选择IAM角色。
第3步:设置AWS KMS
如果要将Amazon加密与Cloud Volumes ONTAP结合使用、请确保满足AWS密钥管理服务(KMS)的要求。
-
确保您的帐户或其他 AWS 帐户中存在有效的客户主密钥( CMK )。
CMK 可以是 AWS 管理的 CMK 或客户管理的 CMK 。
-
如果 CMK 位于与您计划部署 Cloud Volumes ONTAP 的帐户不同的 AWS 帐户中,则需要获取该密钥的 ARN 。
创建Cloud Volumes ONTAP 系统时、您需要为BlueXP提供ARN。
-
将Connector实例的IAM角色添加到CMK的关键用户列表中。
这样、BlueXP就可以在Cloud Volumes ONTAP 中使用CMK。
第4步:安装Connector并设置BlueXP
在开始使用BlueXP在AWS中部署Cloud Volumes ONTAP之前、您必须先安装和设置BlueXP连接器。借助此连接器、BlueXP可以管理公有 云环境(包括Cloud Volumes ONTAP)中的资源和流程。
-
获取由证书颁发机构( CA )以隐私增强邮件( PEM ) Base-64 编码 X.509 格式签名的根证书。有关获取证书的信息,请参见贵组织的策略和流程。
对于AWS机密云区域、您应上传 NSS Root CA 2
证书、对于Top SecretCloud、则为Amazon Root CA 4
证书。请确保仅上传这些证书、而不上传整个证书链。证书链文件较大、上传可能会失败。如果您有其他证书、则可以稍后上传这些证书、如下一步所述。您需要在设置过程中上传证书。在通过HTTPS向AWS发送请求时、BlueXP会使用可信证书。
-
启动 Connector 实例:
-
转到BlueXP的AWS智能社区市场页面。
-
在自定义启动选项卡上,选择用于从 EC2 控制台启动实例的选项。
-
按照提示配置实例。
配置实例时,请注意以下事项:
-
我们建议使用 T3.xlarge 。
-
您必须选择在设置权限时创建的IAM角色。
-
您应保留默认存储选项。
-
连接器所需的连接方法如下: SSH , HTTP 和 HTTPS 。
-
-
-
从连接到Connector实例的主机设置BlueXP:
-
打开 Web 浏览器并输入 https://ipaddress 其中_ipaddress_是安装了连接器的Linux主机的IP地址。
-
指定用于连接到 AWS 服务的代理服务器。
-
上传您在步骤 1 中获得的证书。
-
选择*设置新BlueXP*并按照提示设置系统。
-
系统详细信息:输入Connector的名称和公司名称。
-
* 创建管理员用户 * :为系统创建管理员用户。
此用户帐户在系统本地运行。无法通过BlueXP连接到可用的auth0服务。
-
*Review *:查看详细信息,接受许可协议,然后选择*Set Up。
-
-
要完成 CA 签名证书的安装,请从 EC2 控制台重新启动 Connector 实例。
-
-
Connector 重新启动后,使用您在设置向导中创建的管理员用户帐户登录。
第5步:(可选)安装专用模式证书
对于AWS机密云和Top SecretCloud区域、此步骤是可选的、只有当您在上一步中安装的根证书之外还有其他证书时、才需要此步骤。
-
列出已安装的现有证书。
-
要收集occm容器Docker ID (标识名称为ds-occm-1)、请运行以下命令:
docker ps
-
要进入ocm容器、请运行以下命令:
docker exec -it <docker-id> /bin/sh
-
要从"trust _store_password"环境变量收集密码、请运行以下命令:
env
-
要列出信任存储库中安装的所有证书、请运行以下命令并使用上一步收集的密码:
keytool -list -v -keystore occm.truststore
-
-
添加证书。
-
要收集ocm容器Docker ID (标识名称为ds-occm-1)、请运行以下命令:
docker ps
-
要进入ocm容器、请运行以下命令:
docker exec -it <docker-id> /bin/sh
将新证书文件保存在中。
-
要从"trust _store_password"环境变量收集密码、请运行以下命令:
env
-
要将证书添加到信任存储库、请运行以下命令并使用上一步中的密码:
keytool -import -alias <alias-name> -file <certificate-file-name> -keystore occm.truststore
-
要检查是否已安装证书、请运行以下命令:
keytool -list -v -keystore occm.truststore -alias <alias-name>
-
要退出ocm容器、请运行以下命令:
exit
-
要重置ocm容器、请运行以下命令:
docker restart <docker-id>
-
第6步:向BlueXP电子钱包添加许可证
如果您从NetApp购买了许可证、则需要将其添加到BlueXP电子钱包中、以便在创建新的Cloud Volumes ONTAP系统时选择许可证。电子钱包会将这些许可证标识为未分配。
-
从BlueXP导航菜单中、选择*监管>数字电子钱包*。
-
在* Cloud Volumes ONTAP 基于节点的许可证*选项卡上、从下拉列表中选择*基于节点的许可证*。
-
单击 * 未分配 * 。
-
单击 * 添加未分配的许可证 * 。
-
输入许可证的序列号或上传许可证文件。
-
如果您还没有许可证文件、则需要手动从netapp.com上传许可证文件。
-
转至 "NetApp 许可证文件生成器" 并使用您的 NetApp 支持站点凭据登录。
-
输入密码,选择您的产品,输入序列号,确认您已阅读并接受隐私策略,然后单击 * 提交 * 。
-
选择是通过电子邮件还是直接下载接收 serialnumber.nlf JSON 文件。
-
-
单击 * 添加许可证 * 。
BlueXP将许可证添加到电子钱包中。在将许可证与新的 Cloud Volumes ONTAP 系统关联之前,此许可证将被标识为未分配。之后、许可证将移至数字钱包中的BYOL选项卡。
第7步:从BlueXP启动Cloud Volumes ONTAP
您可以通过在BlueXP中创建新的工作环境、在AWS机密云和Top机密云中启动Cloud Volumes ONTAP实例。
对于HA对、需要使用密钥对才能向HA调解器启用基于密钥的SSH身份验证。
-
在工作环境页面上,单击 * 添加工作环境 * 。
-
在*创建*下,选择Cloud Volumes ONTAP。
对于HA:在*创建*下,选择Cloud Volumes ONTAP或Cloud Volumes ONTAP HA。
-
完成向导中的步骤以启动 Cloud Volumes ONTAP 系统。
在向导中进行选择时,请勿在*Services*下选择*Data Sense & Compliance和*Backup to Cloud*。在*Preconfigured Packages*下,选择*Change Configuration* only,并确保未选择任何其他选项。AWS机密云和顶级机密云区域不支持预配置的软件包、如果选择此选项、您的部署将失败。
完成HA对向导时、请注意以下事项。
-
在多可用性区域(AZ)中部署Cloud Volumes ONTAP HA时、应配置传输网关。有关说明,请参阅"设置 AWS 传输网关"。
-
请按如下所示部署此配置、因为在发布时、AWS Top机密云中仅提供了两个可用的配置:
-
节点 1 :可用性区域 A
-
节点 2 :可用性区域 B
-
调解器:可用性区域 A 或 B
-
完成向导后,请注意以下事项:
-
您应保留默认选项以使用生成的安全组。
预定义的安全组包含 Cloud Volumes ONTAP 成功运行所需的规则。如果您需要使用自己的,请参阅下面的安全组部分。
-
您必须选择在准备 AWS 环境时创建的 IAM 角色。
-
底层 AWS 磁盘类型适用于初始 Cloud Volumes ONTAP 卷。
您可以为后续卷选择不同的磁盘类型。
-
AWS 磁盘的性能取决于磁盘大小。
您应选择可提供所需持续性能的磁盘大小。有关 EBS 性能的更多详细信息,请参见 AWS 文档。
-
磁盘大小是系统上所有磁盘的默认大小。
如果您稍后需要其他大小的磁盘,则可以使用高级分配选项创建使用特定大小磁盘的聚合。
BlueXP将启动Cloud Volumes ONTAP 实例。您可以跟踪时间链中的进度。
第8步:安装用于数据分层的安全证书
要在AWS机密云和顶级机密云区域中启用数据分层、您需要手动安装安全证书。
-
创建 S3 存储分段。
确保分段名称前加上 fabric-pool-.
例如fabric-pool-testbucket
。 -
保留您在中安装的根证书
step 4
方便。
-
复制中安装的根证书中的文本
step 4
。 -
使用命令行界面安全地连接到Cloud Volumes ONTAP系统。
-
安装根证书。您可能需要按
ENTER
多次按键:security certificate install -type server-ca -cert-name <certificate-name>
-
出现提示时、输入完整的复制文本、包括和发件人
----- BEGIN CERTIFICATE -----
to----- END CERTIFICATE -----
。 -
保留一份CA签名数字证书的副本、以供将来参考。
-
保留CA名称和证书序列号。
-
为AWS机密云和顶级机密云区域配置对象存储:
set -privilege advanced -confirmations off
-
运行此命令以配置对象存储。
所有亚马逊资源名称(ARN)均应后缀为 -iso-b
、例如arn:aws-iso-b
。例如、如果某个资源需要具有区域的ARN、则对于Top Secreting Cloud、请使用命名约定作为us-iso-b
。-server
标志。对于AWS机密云、请使用us-iso-b-1
。storage aggregate object-store config create -object-store-name <S3Bucket> -provider-type AWS_S3 -auth-type EC2-IAM -server <s3.us-iso-b-1.server_name> -container-name <fabric-pool-testbucket> -is-ssl-enabled true -port 443
-
验证是否已成功创建对象存储:
storage aggregate object-store show -instance
-
将对象存储附加到聚合。应对每个新聚合重复此操作:
storage aggregate object-store attach -aggregate <aggr1> -object-store-name <S3Bucket>