Skip to main content
Cloud Volumes ONTAP
所有云提供商
  • Amazon Web Services
  • Google Cloud
  • Microsoft Azure
  • 所有云提供商
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

在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 可以正常运行。

步骤
  1. 选择要启动连接器实例和 Cloud Volumes ONTAP 实例的 VPC 和子网。

  2. 确保您的 VPC 和子网支持连接器和 Cloud Volumes ONTAP 之间的连接。

  3. 将 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对)

步骤
  1. 转到 AWS IAM 控制台,然后单击 * 策略 * 。

  2. 为 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/*"
                ]
            }
        ]
    }
  3. 为 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": "*"
    		}
    	]
    }
  4. 创建角色类型为 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)的要求。

步骤
  1. 确保您的帐户或其他 AWS 帐户中存在有效的客户主密钥( CMK )。

    CMK 可以是 AWS 管理的 CMK 或客户管理的 CMK 。

  2. 如果 CMK 位于与您计划部署 Cloud Volumes ONTAP 的帐户不同的 AWS 帐户中,则需要获取该密钥的 ARN 。

    创建Cloud Volumes ONTAP 系统时、您需要为BlueXP提供ARN。

  3. 将Connector实例的IAM角色添加到CMK的关键用户列表中。

    这样、BlueXP就可以在Cloud Volumes ONTAP 中使用CMK。

第4步:安装Connector并设置BlueXP

在开始使用BlueXP在AWS中部署Cloud Volumes ONTAP之前、您必须先安装和设置BlueXP连接器。借助此连接器、BlueXP可以管理公有 云环境(包括Cloud Volumes ONTAP)中的资源和流程。

步骤
  1. 获取由证书颁发机构( CA )以隐私增强邮件( PEM ) Base-64 编码 X.509 格式签名的根证书。有关获取证书的信息,请参见贵组织的策略和流程。

    备注 对于AWS机密云区域、您应上传 NSS Root CA 2 证书、对于Top SecretCloud、则为 Amazon Root CA 4 证书。请确保仅上传这些证书、而不上传整个证书链。证书链文件较大、上传可能会失败。如果您有其他证书、则可以稍后上传这些证书、如下一步所述。

    您需要在设置过程中上传证书。在通过HTTPS向AWS发送请求时、BlueXP会使用可信证书。

  2. 启动 Connector 实例:

    1. 转到BlueXP的AWS智能社区市场页面。

    2. 在自定义启动选项卡上,选择用于从 EC2 控制台启动实例的选项。

    3. 按照提示配置实例。

      配置实例时,请注意以下事项:

      • 我们建议使用 T3.xlarge 。

      • 您必须选择在设置权限时创建的IAM角色。

      • 您应保留默认存储选项。

      • 连接器所需的连接方法如下: SSH , HTTP 和 HTTPS 。

  3. 从连接到Connector实例的主机设置BlueXP:

    1. 打开 Web 浏览器并输入 https://ipaddress 其中_ipaddress_是安装了连接器的Linux主机的IP地址。

    2. 指定用于连接到 AWS 服务的代理服务器。

    3. 上传您在步骤 1 中获得的证书。

    4. 选择*设置新BlueXP*并按照提示设置系统。

      • 系统详细信息:输入Connector的名称和公司名称。

      • * 创建管理员用户 * :为系统创建管理员用户。

        此用户帐户在系统本地运行。无法通过BlueXP连接到可用的auth0服务。

      • *Review *:查看详细信息,接受许可协议,然后选择*Set Up。

    5. 要完成 CA 签名证书的安装,请从 EC2 控制台重新启动 Connector 实例。

  4. Connector 重新启动后,使用您在设置向导中创建的管理员用户帐户登录。

第5步:(可选)安装专用模式证书

对于AWS机密云和Top SecretCloud区域、此步骤是可选的、只有当您在上一步中安装的根证书之外还有其他证书时、才需要此步骤。

步骤
  1. 列出已安装的现有证书。

    1. 要收集occm容器Docker ID (标识名称为ds-occm-1)、请运行以下命令:

      docker ps
    2. 要进入ocm容器、请运行以下命令:

      docker exec -it <docker-id> /bin/sh
    3. 要从"trust _store_password"环境变量收集密码、请运行以下命令:

      env
    4. 要列出信任存储库中安装的所有证书、请运行以下命令并使用上一步收集的密码:

      keytool -list -v -keystore occm.truststore
  2. 添加证书。

    1. 要收集ocm容器Docker ID (标识名称为ds-occm-1)、请运行以下命令:

      docker ps
    2. 要进入ocm容器、请运行以下命令:

      docker exec -it <docker-id> /bin/sh

      将新证书文件保存在中。

    3. 要从"trust _store_password"环境变量收集密码、请运行以下命令:

      env
    4. 要将证书添加到信任存储库、请运行以下命令并使用上一步中的密码:

      keytool -import -alias <alias-name> -file <certificate-file-name> -keystore occm.truststore
    5. 要检查是否已安装证书、请运行以下命令:

      keytool -list -v -keystore occm.truststore -alias <alias-name>
    6. 要退出ocm容器、请运行以下命令:

      exit
    7. 要重置ocm容器、请运行以下命令:

      docker restart <docker-id>

第6步:向BlueXP电子钱包添加许可证

如果您从NetApp购买了许可证、则需要将其添加到BlueXP电子钱包中、以便在创建新的Cloud Volumes ONTAP系统时选择许可证。电子钱包会将这些许可证标识为未分配。

步骤
  1. 从BlueXP导航菜单中、选择*监管>数字电子钱包*。

  2. 在* Cloud Volumes ONTAP 基于节点的许可证*选项卡上、从下拉列表中选择*基于节点的许可证*。

  3. 单击 * 未分配 * 。

  4. 单击 * 添加未分配的许可证 * 。

  5. 输入许可证的序列号或上传许可证文件。

  6. 如果您还没有许可证文件、则需要手动从netapp.com上传许可证文件。

    1. 转至 "NetApp 许可证文件生成器" 并使用您的 NetApp 支持站点凭据登录。

    2. 输入密码,选择您的产品,输入序列号,确认您已阅读并接受隐私策略,然后单击 * 提交 * 。

    3. 选择是通过电子邮件还是直接下载接收 serialnumber.nlf JSON 文件。

  7. 单击 * 添加许可证 * 。

结果

BlueXP将许可证添加到电子钱包中。在将许可证与新的 Cloud Volumes ONTAP 系统关联之前,此许可证将被标识为未分配。之后、许可证将移至数字钱包中的BYOL选项卡。

第7步:从BlueXP启动Cloud Volumes ONTAP

您可以通过在BlueXP中创建新的工作环境、在AWS机密云和Top机密云中启动Cloud Volumes ONTAP实例。

开始之前

对于HA对、需要使用密钥对才能向HA调解器启用基于密钥的SSH身份验证。

步骤
  1. 在工作环境页面上,单击 * 添加工作环境 * 。

  2. 在*创建*下,选择Cloud Volumes ONTAP。

    对于HA:在*创建*下,选择Cloud Volumes ONTAP或Cloud Volumes ONTAP HA。

  3. 完成向导中的步骤以启动 Cloud Volumes ONTAP 系统。

    注意 在向导中进行选择时,请勿在*Services*下选择*Data Sense & Compliance和*Backup to Cloud*。在*Preconfigured Packages*下,选择*Change Configuration* only,并确保未选择任何其他选项。AWS机密云和顶级机密云区域不支持预配置的软件包、如果选择此选项、您的部署将失败。
有关在多个可用性区域中部署Cloud Volumes ONTAP HA的注意事项

完成HA对向导时、请注意以下事项。

  • 在多可用性区域(AZ)中部署Cloud Volumes ONTAP HA时、应配置传输网关。请参见 "设置 AWS 传输网关"

  • 请按如下所示部署此配置、因为在发布时、AWS Top机密云中仅提供了两个可用的配置:

    • 节点 1 :可用性区域 A

    • 节点 2 :可用性区域 B

    • 调解器:可用性区域 A 或 B

有关在单个节点和HA节点中部署Cloud Volumes ONTAP的注意事项

完成向导后,请注意以下事项:

  • 您应保留默认选项以使用生成的安全组。

    预定义的安全组包含 Cloud Volumes ONTAP 成功运行所需的规则。如果您需要使用自己的,请参阅下面的安全组部分。

  • 您必须选择在准备 AWS 环境时创建的 IAM 角色。

  • 底层 AWS 磁盘类型适用于初始 Cloud Volumes ONTAP 卷。

    您可以为后续卷选择不同的磁盘类型。

  • AWS 磁盘的性能取决于磁盘大小。

    您应选择可提供所需持续性能的磁盘大小。有关 EBS 性能的更多详细信息,请参见 AWS 文档。

  • 磁盘大小是系统上所有磁盘的默认大小。

    备注 如果您稍后需要其他大小的磁盘,则可以使用高级分配选项创建使用特定大小磁盘的聚合。
结果

BlueXP将启动Cloud Volumes ONTAP 实例。您可以跟踪时间链中的进度。

第8步:安装用于数据分层的安全证书

要在AWS机密云和顶级机密云区域中启用数据分层、您需要手动安装安全证书。

开始之前
  1. 创建 S3 存储分段。

    备注 确保分段名称前加上 fabric-pool-. 例如 fabric-pool-testbucket
  2. 保留您在中安装的根证书 step 4 方便。

步骤
  1. 复制中安装的根证书中的文本 step 4

  2. 使用命令行界面安全地连接到Cloud Volumes ONTAP系统。

  3. 安装根证书。您可能需要按 ENTER 多次按键:

    security certificate install -type server-ca -cert-name <certificate-name>
  4. 出现提示时、输入完整的复制文本、包括和发件人 ----- BEGIN CERTIFICATE ----- to ----- END CERTIFICATE -----

  5. 保留一份CA签名数字证书的副本、以供将来参考。

  6. 保留CA名称和证书序列号。

  7. 为AWS机密云和顶级机密云区域配置对象存储: set -privilege advanced -confirmations off

  8. 运行此命令以配置对象存储。

    备注 所有亚马逊资源名称(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
  9. 验证是否已成功创建对象存储: storage aggregate object-store show -instance

  10. 将对象存储附加到聚合。应对每个新聚合重复此操作: storage aggregate object-store attach -aggregate <aggr1> -object-store-name <S3Bucket>