为您的建议导出指定现有 S3 存储桶 - Amazon Compute Optimizer
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为您的建议导出指定现有 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. 打开 Amazon S3 控制台,网址为https://console.aws.amazon.com/s3/

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

  3. 选择权限

  4. 请选择存储桶策略

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

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

    • Replace(替换) amzn-s3-demo-bucket 用你的存储桶的名字。

    • Replace(替换) optionalPrefix 带有可选的对象前缀。

    • Replace(替换) myRegion 与消息来源 Amazon Web Services 区域。

    • Replace(替换) 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:*" } } } ] }

后续步骤

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

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

其他 资源