设置并配置 AWS 成本和使用情况报表集成

使用 Amazon Web Services (AWS) 成本和使用情况报表 (CUR) 集成,可以在成本管理中监视和控制 AWS 支出。 借助这种集成,可以在 Azure 门户中的单个位置监视和控制 Azure 与 AWS 的支出。 本文介绍如何设置并配置集成,以便可以使用成本管理功能来分析成本和查看预算。

成本管理使用你的 AWS 访问凭据来处理 S3 桶中存储的 AWS 成本和使用情况报表,以获取报表定义并下载报表 GZIP CSV 文件。

在 AWS 中创建成本和使用情况报表

AWS 建议使用成本和使用情况报表来收集和处理 AWS 成本。 成本管理跨云连接器支持在管理(整合)帐户级别配置的成本和使用情况报告。 有关详细信息,请参阅 AWS 成本和使用情况报表文档。

执行以下步骤,使用 AWS 中计费和成本管理控制台的“成本和使用情况报表”页来创建成本和使用情况报表:

  1. 登录到 AWS 管理控制台,并打开计费和成本管理控制台
  2. 在导航窗格中,选择“成本和使用情况报表”。
  3. 选择“创建报表”。
  4. 在“报表名称”中输入报表的名称。
  5. 在“其他报表详细信息”下,选择“包括资源 ID”。
  6. 对于“数据刷新设置”,请选择在最终完成帐单后,如果 AWS 向帐户应用退款、额度或支持费,你是否希望刷新 AWS 成本和使用情况报表。 刷新报表时,会将一份新报表上传到 Amazon S3。 建议将该项设置保持选中状态。
  7. 选择“下一页”。
  8. 对于“S3 桶”,请选择“配置”。
  9. 在“配置 S3 桶”对话框中输入桶名称以及要在其中创建新桶的区域,然后选择“下一步”。
  10. 选择“我已确认此策略正确”,然后选择“保存”。
  11. (可选)对于“报表路径前缀”,请输入要附加在报表名称前面的报表路径前缀。
    如果跳过,则默认前缀是为报表指定的名称。 日期范围采用 /report-name/date-range/ 格式。
  12. 对于“时间单位”,请选择“小时”。
  13. 对于“报表版本控制”,请选择是希望报表的每个版本覆盖以前的版本,还是要添加更多新报表。
  14. 对于“为以下对象启用数据集成”,无需做出任何选择。
  15. 对于“压缩”,请选择“GZIP”。
  16. 选择下一步
  17. 查看报表的设置后,选择“查看并完成”。
    请记下报表名称, 在稍后的步骤中需要用到。

AWS 最长可能需要在 24 小时后才开始将报表传送到 Amazon S3 桶中。 传送开始后,AWS 将每日至少更新 AWS 成本和使用情况报表文件一次。 你可以继续配置 AWS 环境,而无需等待传送开始。

注意

当前不支持在成员(链接)帐户级别配置的成本和使用情况报告。

在 AWS 中创建策略和角色

成本管理每天会多次访问成本和使用情况报表所在的 S3 桶。 服务需要访问凭据来检查新数据。 请在 AWS 中创建角色和策略,使成本管理能够访问凭据。

若要在成本管理中启用对 AWS 帐户的基于角色的访问,请在 AWS 控制台中创建角色。 需要通过 AWS 控制台获取角色 ARN 和外部 ID。 稍后,将在成本管理中的“创建 AWS 连接器”页上使用这些信息。

使用“创建策略”向导

  1. 登录到 AWS 控制台并选择“服务”。
  2. 在服务列表中选择“IAM”。
  3. 选择“策略”。
  4. 选择“创建策略”。
  5. 选择“选择服务”。

配置成本和使用情况报表的权限

  1. 输入“成本和使用情况报表”。
  2. 选择“访问级别”>“读取”>“DescribeReportDefinitions”。 成本管理通过此步骤读取定义的 CUR 报表,并确定它们是否符合报表定义先决条件。
  3. 选择“添加更多权限”。

配置 S3 桶和对象的权限

  1. 选择“选择服务”。
  2. 输入 S3
  3. 选择“访问级别”>“列出”>“ListBucket”。 此操作获取 S3 桶中的对象列表。
  4. 选择“访问级别”>“读取”>“GetObject”。 使用此操作可以下载计费文件。
  5. 选择“资源”>“特定”。
  6. 在“桶”中,选择“添加 ANN”链接以打开另一个窗口。
  7. 在“资源桶名称”中,输入用于存储 CUR 文件的桶。
  8. 选择“添加 ARN”。
  9. 在“对象”中,选择“任何”。
  10. 选择“添加更多权限”。

配置成本资源管理器的权限

  1. 选择“选择服务”。
  2. 输入“成本资源管理器服务”。
  3. 选择“所有成本资源管理器服务操作(ce:*)”。 此操作将验证集合是否正确。
  4. 选择“添加更多权限”。

添加 AWS 组织的权限

  1. 输入“组织”。
  2. 选择“访问级别”>“列出”>“ListAccounts”。 此操作获取帐户的名称。
  3. 选择“添加更多权限”。

配置策略的权限

  1. 输入“IAM”。
  2. 选择“访问级别”>“List”>“ListAttachedRolePolicies”和“ListPolicyVersions”以及“ListRoles”。
  3. 选择“访问级别”>“Read”>“GetPolicyVersion”。
  4. 选择“资源”>策略,然后选择“任意”。 通过这些操作即可验证是否仅向连接器授予了所需的最小权限集。
  5. 选择下一步

查看 + 创建

  1. 在“查看策略”中,输入新策略的名称。 验证你输入的信息是否正确。
  2. 添加标记。 可以输入要使用的标记或跳过此步骤。 在成本管理中创建连接器不需要执行此步骤。
  3. 选择“创建策略”以完成此过程。

策略 JSON 应类似于以下示例。 将 bucketname 替换为 S3 Bucket 的名称,将 accountname 替换为你的帐户号,并将 rolename 替换为你创建的角色名称。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "organizations:ListAccounts",
                "iam:ListRoles",
                "ce:*",
                "cur:DescribeReportDefinitions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "iam:GetPolicyVersion",
                "iam:ListPolicyVersions",
                "iam:ListAttachedRolePolicies"
            ],
            "Resource": [
                "arn:aws:s3:::bucketname",
                "arn:aws:s3:::bucketname/*",
                "arn:aws:iam::accountnumber:policy/*",
                "arn:aws:iam::accountnumber:role/rolename"
            ]
        }
    ]
}

使用“创建新角色”向导

  1. 登录到 AWS 控制台并选择“服务”。
  2. 在服务列表中选择“IAM”。
  3. 依次选择“角色”、“创建角色”。
  4. 在“选择受信任实体”页上,选择“AWS 帐户”,然后在“AWS 帐户”下,选择“另一个 AWS 帐户”。
  5. 在“帐户 ID”下输入 432263259397。
  6. 在“选项”下,选择“需要外部 ID (当第三方充当此角色时的最佳做法)”。
  7. 在“外部 ID”下,输入充当 AWS 角色与成本管理之间的共享密码的外部 ID。 请注意外部 ID,因为在 Microsoft 成本管理中的“新建连接器”页上需要使用它。 Microsoft 建议在输入外部 ID 时使用强密码策略。 外部 ID 应符合 AWS 限制:
    • 键入:String
    • 长度约束:最小长度为 2。 最大长度为 1224。
    • 必须满足正则表达式模式:[\w+=,.@: /-]*

    注意

    不要更改“需要 MFA”选项。 应将其保持清除状态。

  8. 选择下一步
  9. 在搜索栏中搜索并选中新策略。
  10. 选择下一步
  11. 在“角色详细信息”中,输入角色名称。 验证你输入的信息是否正确。 请注意输入的名称,因为稍后在设置 Microsoft 成本管理连接器时会用到它。
  12. (可选)添加标记。 可以输入任何标记,或跳过此步骤。 在成本管理中创建连接器不需要执行此步骤。
  13. 选择“创建角色”。

在 Azure 中为 AWS 设置新连接器

使用以下信息创建 AWS 连接器并开始监视 AWS 成本。

注意

如果在初始设置期间将自动续订配置设置为“打开”,则试用期结束后,AWS 的连接器将保持活动状态。 否则,在试用后禁用该连接器。 它可能会保持禁用三个月,然后被永久删除。 删除连接器后,无法重新激活同一连接。 如需有关禁用连接器或者在删除连接后创建新连接的帮助,请在 Azure 门户中创建支持请求

先决条件

创建新连接器

  1. 登录 Azure 门户
  2. 如有必要,导航到“成本管理 + 计费”并选择一个计费范围。
  3. 选择“成本分析”,然后选择“设置”。
  4. 选择“AWS 连接器”。
  5. 选择“添加连接器”。
  6. 在“创建连接器”页上的“显示名称”中,输入连接器的名称 。
    屏幕截图显示你在其中配置 AWS 连接器的“创建连接器”页。
  7. (可选)选择默认的管理组。 它会存储所有已发现的链接帐户。 稍后可对其进行设置。
  8. 在“计费”部分中,如果要确保连续操作,请将“自动续订”选择为“打开” 。 如果选择自动选项,则必须选择计费订阅。
  9. 对于“角色 ARN”,请输入在 AWS 中设置角色时使用的值。
  10. 对于“外部 ID”,请输入在 AWS 中设置角色时使用的值。
  11. 对于“报表名称”,请输入在 AWS 中创建的名称。
  12. 依次选择“下一步”、“创建”。

新的 AWS 范围、AWS 合并帐户、AWS 链接帐户及其成本数据可能需要在几小时后才会显示。

创建连接器后,我们建议为其分配访问控制。 将为用户分配对新发现的范围的权限:AWS 合并帐户和 AWS 链接帐户。 创建连接器的用户是该连接器、合并帐户和所有链接帐户的所有者。

在发现之后向用户分配连接器权限不会为现有的 AWS 范围分配权限, 而只为新的链接帐户分配权限。

执行其他步骤

  • 设置管理组(如果尚未这样做)。
  • 检查新范围是否已添加到范围选取器。 选择“刷新”查看最新数据。
  • 在“云连接器”页上选择你的连接器,然后选择“转到计费帐户”,以将链接帐户分配到管理组。

注意

管理组目前不受 Microsoft 客户协议 (MCA) 客户支持。 MCA 客户可以创建连接器并查看其 AWS 数据。 但是,MCA 客户无法在管理组下同时查看其 Azure 成本和 AWS 成本。

管理 AWS 连接器

在“AWS 连接器”页上选择某个连接器时,可以:

  • 选择“转到计费帐户”来查看 AWS 合并帐户的信息。
  • 选择“访问控制”来管理连接器的角色分配。
  • 选择“编辑”来更新连接器。 无法更改 AWS 帐号,因为它显示在角色 ARN 中。 但可以创建新的连接器。
  • 选择“验证”来重新运行验证测试,以确保成本管理能够使用连接器设置收集数据。

屏幕截图显示 AWS 连接器详细信息。

设置 Azure 管理组

将 Azure 订阅和 AWS 链接帐户放在同一个管理组中,以便可以在单个位置查看跨云提供商的信息。 若要配置包含管理组的 Azure 环境,请参阅管理组的初始设置

若要区分成本,可以创建一个只用于保存 AWS 链接帐户的管理组。

设置 AWS 合并帐户

AWS 合并帐户可以合并多个 AWS 帐户的计费和付款。 它还充当 AWS 链接帐户。 可以使用 AWS 连接器页上的链接查看 AWS 合并帐户的详细信息。

屏幕截图显示 AWS 合并帐户的详细信息。

在该页中,可以:

  • 选择“更新”,以批量更新 AWS 链接帐户与管理组的关联。
  • 选择“访问控制”,以设置范围的角色分配。

AWS 合并帐户的权限

默认情况下,AWS 合并帐户的权限是在创建帐户时根据 AWS 连接器权限设置的。 连接器创建者即为所有者。

可以使用 AWS 合并帐户的“访问级别”页管理访问级别。 但是,AWS 链接帐户不会继承 AWS 合并帐户的权限。

设置 AWS 链接帐户

AWS 链接帐户是创建和管理 AWS 资源的位置。 链接帐户还充当安全边界。

在此页中,可以:

  • 选择“更新”,以更新 AWS 链接帐户与管理组的关联。
  • 选择“访问控制”,以设置范围的角色分配。

屏幕截图显示“AWS 链接帐户”页。

AWS 链接帐户的权限

默认情况下,AWS 链接帐户的权限是在创建时根据 AWS 连接器权限设置的。 连接器创建者即为所有者。 可以使用 AWS 链接帐户的“访问级别”页管理访问级别。 AWS 链接帐户不会从 AWS 合并帐户继承权限。

AWS 链接帐户始终从其所属的管理组继承权限。

后续步骤