设置并配置 AWS 成本和使用情况报表集成
使用 Amazon Web Services (AWS) 成本和使用情况报表 (CUR) 集成,可以在成本管理中监视和控制 AWS 支出。 借助这种集成,可以在 Azure 门户中的单个位置监视和控制 Azure 与 AWS 的支出。 本文介绍如何设置并配置集成,以便可以使用成本管理功能来分析成本和查看预算。
成本管理使用你的 AWS 访问凭据来处理 S3 桶中存储的 AWS 成本和使用情况报表,以获取报表定义并下载报表 GZIP CSV 文件。
在 AWS 中创建成本和使用情况报表
AWS 建议使用成本和使用情况报表来收集和处理 AWS 成本。 成本管理跨云连接器支持在管理(整合)帐户级别配置的成本和使用情况报告。 有关详细信息,请参阅 AWS 成本和使用情况报表文档。
执行以下步骤,使用 AWS 中计费和成本管理控制台的“成本和使用情况报表”页来创建成本和使用情况报表:
- 登录到 AWS 管理控制台,并打开计费和成本管理控制台。
- 在导航窗格中,选择“成本和使用情况报表”。
- 选择“创建报表”。
- 在“报表名称”中输入报表的名称。
- 在“其他报表详细信息”下,选择“包括资源 ID”。
- 对于“数据刷新设置”,请选择在最终完成帐单后,如果 AWS 向帐户应用退款、额度或支持费,你是否希望刷新 AWS 成本和使用情况报表。 刷新报表时,会将一份新报表上传到 Amazon S3。 建议将该项设置保持选中状态。
- 选择“下一页”。
- 对于“S3 桶”,请选择“配置”。
- 在“配置 S3 桶”对话框中输入桶名称以及要在其中创建新桶的区域,然后选择“下一步”。
- 选择“我已确认此策略正确”,然后选择“保存”。
- (可选)对于“报表路径前缀”,请输入要附加在报表名称前面的报表路径前缀。
如果跳过,则默认前缀是为报表指定的名称。 日期范围采用/report-name/date-range/
格式。 - 对于“时间单位”,请选择“小时”。
- 对于“报表版本控制”,请选择是希望报表的每个版本覆盖以前的版本,还是要添加更多新报表。
- 对于“为以下对象启用数据集成”,无需做出任何选择。
- 对于“压缩”,请选择“GZIP”。
- 选择下一步。
- 查看报表的设置后,选择“查看并完成”。
请记下报表名称, 在稍后的步骤中需要用到。
AWS 最长可能需要在 24 小时后才开始将报表传送到 Amazon S3 桶中。 传送开始后,AWS 将每日至少更新 AWS 成本和使用情况报表文件一次。 你可以继续配置 AWS 环境,而无需等待传送开始。
注意
当前不支持在成员(链接)帐户级别配置的成本和使用情况报告。
在 AWS 中创建策略和角色
成本管理每天会多次访问成本和使用情况报表所在的 S3 桶。 服务需要访问凭据来检查新数据。 请在 AWS 中创建角色和策略,使成本管理能够访问凭据。
若要在成本管理中启用对 AWS 帐户的基于角色的访问,请在 AWS 控制台中创建角色。 需要通过 AWS 控制台获取角色 ARN 和外部 ID。 稍后,将在成本管理中的“创建 AWS 连接器”页上使用这些信息。
使用“创建策略”向导
- 登录到 AWS 控制台并选择“服务”。
- 在服务列表中选择“IAM”。
- 选择“策略”。
- 选择“创建策略”。
- 选择“选择服务”。
配置成本和使用情况报表的权限
- 输入“成本和使用情况报表”。
- 选择“访问级别”>“读取”>“DescribeReportDefinitions”。 成本管理通过此步骤读取定义的 CUR 报表,并确定它们是否符合报表定义先决条件。
- 选择“添加更多权限”。
配置 S3 桶和对象的权限
- 选择“选择服务”。
- 输入 S3。
- 选择“访问级别”>“列出”>“ListBucket”。 此操作获取 S3 桶中的对象列表。
- 选择“访问级别”>“读取”>“GetObject”。 使用此操作可以下载计费文件。
- 选择“资源”>“特定”。
- 在“桶”中,选择“添加 ANN”链接以打开另一个窗口。
- 在“资源桶名称”中,输入用于存储 CUR 文件的桶。
- 选择“添加 ARN”。
- 在“对象”中,选择“任何”。
- 选择“添加更多权限”。
配置成本资源管理器的权限
- 选择“选择服务”。
- 输入“成本资源管理器服务”。
- 选择“所有成本资源管理器服务操作(ce:*)”。 此操作将验证集合是否正确。
- 选择“添加更多权限”。
添加 AWS 组织的权限
- 输入“组织”。
- 选择“访问级别”>“列出”>“ListAccounts”。 此操作获取帐户的名称。
- 选择“添加更多权限”。
配置策略的权限
- 输入“IAM”。
- 选择“访问级别”>“List”>“ListAttachedRolePolicies”和“ListPolicyVersions”以及“ListRoles”。
- 选择“访问级别”>“Read”>“GetPolicyVersion”。
- 选择“资源”>策略,然后选择“任意”。 通过这些操作即可验证是否仅向连接器授予了所需的最小权限集。
- 选择下一步。
查看 + 创建
- 在“查看策略”中,输入新策略的名称。 验证你输入的信息是否正确。
- 添加标记。 可以输入要使用的标记或跳过此步骤。 在成本管理中创建连接器不需要执行此步骤。
- 选择“创建策略”以完成此过程。
策略 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"
]
}
]
}
使用“创建新角色”向导
- 登录到 AWS 控制台并选择“服务”。
- 在服务列表中选择“IAM”。
- 依次选择“角色”、“创建角色”。
- 在“选择受信任实体”页上,选择“AWS 帐户”,然后在“AWS 帐户”下,选择“另一个 AWS 帐户”。
- 在“帐户 ID”下输入 432263259397。
- 在“选项”下,选择“需要外部 ID (当第三方充当此角色时的最佳做法)”。
- 在“外部 ID”下,输入充当 AWS 角色与成本管理之间的共享密码的外部 ID。 请注意外部 ID,因为在 Microsoft 成本管理中的“新建连接器”页上需要使用它。 Microsoft 建议在输入外部 ID 时使用强密码策略。 外部 ID 应符合 AWS 限制:
- 键入:String
- 长度约束:最小长度为 2。 最大长度为 1224。
- 必须满足正则表达式模式:
[\w+=,.@: /-]*
注意
不要更改“需要 MFA”选项。 应将其保持清除状态。
- 选择下一步。
- 在搜索栏中搜索并选中新策略。
- 选择下一步。
- 在“角色详细信息”中,输入角色名称。 验证你输入的信息是否正确。 请注意输入的名称,因为稍后在设置 Microsoft 成本管理连接器时会用到它。
- (可选)添加标记。 可以输入任何标记,或跳过此步骤。 在成本管理中创建连接器不需要执行此步骤。
- 选择“创建角色”。
在 Azure 中为 AWS 设置新连接器
使用以下信息创建 AWS 连接器并开始监视 AWS 成本。
注意
如果在初始设置期间将自动续订配置设置为“打开”,则试用期结束后,AWS 的连接器将保持活动状态。 否则,在试用后禁用该连接器。 它可能会保持禁用三个月,然后被永久删除。 删除连接器后,无法重新激活同一连接。 如需有关禁用连接器或者在删除连接后创建新连接的帮助,请在 Azure 门户中创建支持请求。
先决条件
- 请确保至少启用了一个管理组。 需要一个管理组才能将你的订阅链接到 AWS 服务。 有关创建管理组的详细信息,请参阅在 Azure 中创建管理组。
- 确保你是订阅的管理员。
- 按照在在 AWS 中创建成本和使用情况报表部分所述,完成新 AWS 连接器所需的设置。
创建新连接器
- 登录 Azure 门户。
- 如有必要,导航到“成本管理 + 计费”并选择一个计费范围。
- 选择“成本分析”,然后选择“设置”。
- 选择“AWS 连接器”。
- 选择“添加连接器”。
- 在“创建连接器”页上的“显示名称”中,输入连接器的名称 。
- (可选)选择默认的管理组。 它会存储所有已发现的链接帐户。 稍后可对其进行设置。
- 在“计费”部分中,如果要确保连续操作,请将“自动续订”选择为“打开” 。 如果选择自动选项,则必须选择计费订阅。
- 对于“角色 ARN”,请输入在 AWS 中设置角色时使用的值。
- 对于“外部 ID”,请输入在 AWS 中设置角色时使用的值。
- 对于“报表名称”,请输入在 AWS 中创建的名称。
- 依次选择“下一步”、“创建”。
新的 AWS 范围、AWS 合并帐户、AWS 链接帐户及其成本数据可能需要在几小时后才会显示。
创建连接器后,我们建议为其分配访问控制。 将为用户分配对新发现的范围的权限:AWS 合并帐户和 AWS 链接帐户。 创建连接器的用户是该连接器、合并帐户和所有链接帐户的所有者。
在发现之后向用户分配连接器权限不会为现有的 AWS 范围分配权限, 而只为新的链接帐户分配权限。
执行其他步骤
- 设置管理组(如果尚未这样做)。
- 检查新范围是否已添加到范围选取器。 选择“刷新”查看最新数据。
- 在“云连接器”页上选择你的连接器,然后选择“转到计费帐户”,以将链接帐户分配到管理组。
注意
管理组目前不受 Microsoft 客户协议 (MCA) 客户支持。 MCA 客户可以创建连接器并查看其 AWS 数据。 但是,MCA 客户无法在管理组下同时查看其 Azure 成本和 AWS 成本。
管理 AWS 连接器
在“AWS 连接器”页上选择某个连接器时,可以:
- 选择“转到计费帐户”来查看 AWS 合并帐户的信息。
- 选择“访问控制”来管理连接器的角色分配。
- 选择“编辑”来更新连接器。 无法更改 AWS 帐号,因为它显示在角色 ARN 中。 但可以创建新的连接器。
- 选择“验证”来重新运行验证测试,以确保成本管理能够使用连接器设置收集数据。
设置 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 成本和使用情况。
- 如果你不熟悉成本分析,请参阅使用成本分析浏览和分析成本快速入门。
- 如果不熟悉 Azure 中的预算,请参阅创建和管理预算。