指定将建议导出到的现有 S3 存储桶 - AWS Compute Optimizer

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

指定将建议导出到的现有 S3 存储桶

可以将 Compute Optimizer 建议导出到 Amazon Simple Storage Service (Amazon S3) 存储桶。您的建议将导出为 CSV 文件,元数据将导出为 JSON 文件。本节将说明如何通过向 Amazon S3 存储桶添加策略,指定将建议导出到的存储桶。根据您添加的策略,Compute Optimizer 可以将建议导出文件写入 Amazon S3 存储桶。

先决条件

确保创建将建议导出到的目标 S3 存储桶。为导出建议而指定的 S3 存储桶无法公开访问,也无法配置为申请方付款存储桶。最佳安全实践是对 Compute Optimizer 导出文件创建专用的 S3 存储桶。有关更多信息,请参阅《Amazon S3 控制台用户指南》中的如何创建 S3 存储桶?

过程

创建 S3 存储桶后,请按照以下步骤向 S3 存储桶添加策略,以指定 Compute Optimizer 将建议导出文件写入存储桶。

  1. 通过以下网址打开 Simple Storage Service(Amazon S3)控制台:https://console.aws.amazon.com/s3/

  2. 选择您希望 Compute Optimizer 将导出文件传送到的存储桶。

  3. 选择权限

  4. 请选择存储桶策略

  5. 复制以下一项策略并粘贴到存储桶策略编辑器文本框中。

  6. 替换策略中的以下占位符文本:

    • amzn-s3-demo-bucket 替换为您的存储桶的名称。

    • OptionalPrefix 替换为可选对象前缀。

    • myRegion 替换为源 AWS 区域。

    • myAccountID 替换为导出任务请求者的账号。

  7. 在策略中包括以下所有三条语句:

    1. 第一条语句(针对 GetBucketAcl 操作)指定 Compute Optimizer 获取存储桶的访问控制列表 (ACL)。

    2. 第二条语句(针对 GetBucketPolicyStatus 操作)指定 Compute Optimizer 获取存储桶的策略状态,指示该存储桶是否为公共存储桶。

    3. 第三条语句(用于 PutObject 操作)使 Compute Optimizer 可以完全控制将导出文件放入您的存储桶。

    如果缺少这些语句中的任何一个,或者策略中的存储桶名称和可选对象前缀与您在导出请求中指定的内容不匹配,则导出请求将失败。如果策略中的账号与导出任务请求者的账号不匹配,则导出也会失败。

    注意

    如果现有存储桶已附加一个或多个策略,请将用于 Compute Optimizer 访问权限的语句添加到这些策略。评估生成的权限集,以确保其适用于访问存储桶的用户。

策略选项 1:使用可选前缀

对象前缀是 S3 对象键的可选附加内容,可在 S3 存储桶中组织导出文件。如果您想在创建建议导出时指定对象前缀,请使用以下策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/optionalPrefix/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } } ] }
注意

compute-optimizer/myAccountID/ 部分不是可选前缀的一部分。Compute Optimizer 会为您创建存储桶路径的 optimizer/myAccountID/ 部分,它将添加到您指定的前缀。

策略选项 2:没有对象前缀

如果您不想指定对象前缀,请使用以下策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "myAccountID" }, "StringLike": { "aws:SourceArn": "arn:aws:compute-optimizer:myRegion:myAccountID:*" } } } ] }

后续步骤

有关如何导出 AWS Compute Optimizer 建议的说明,请参阅导出建议

此外,您还可以指定使用 Amazon S3 客户自主管理型密钥或 AWS Key Management Service(KMS)密钥加密的 S3 存储桶。有关如何执行此操作的说明,请参阅 使用加密的 S3 存储桶进行建议导出

其他资源