将 Amazon Web Services 帐户与 CloudSpend 集成

本文档概述了以下内容:

将 AWS 账户与 CloudSpend 连接

集成您的 Amazon Web Services (AWS) 帐户分为三个阶段:

阶段1

提供对特定 AWS 服务的 CloudSpend 编程只读访问权限,包括 Amazon S3、成本和使用情况报表、IAM 和组织。

第二阶段

  • 创建一个新的 Amazon S3 存储桶,分配允许计费和成本管理将成本和使用情况报表保存到所述存储桶的访问策略。(如果您已经将计费报表存入 S3 存储桶,请跳至第 3 阶段)。
  • 创建 AWS 成本和使用情况报表并将报表传送到创建的 Amazon S3 存储桶。

第三阶段

登录 CloudSpend 控制台并配置集成 AWS 账户页面。

启用编程访问(第 1 阶段)

您可以使用两种方式为您的 AWS 资源提供 CloudSpend 编程访问。您可以创建跨账户 IAM 角色并在您的 AWS 账户和 CloudSpend 的 AWS 账户之间建立信任关系。

在两者之间,建议使用 IAM 角色,因为不共享安全凭证。此外,当您使用角色委派权限时,您可以指定允许担任该角色的 AWS 账户,从而保护您的账户免受未经授权的访问。

我们将弃用对新用户的基于 IAM 用户的访问。因此,如果您是现有用户,则可以切换到基于 IAM 角色的访问。

IAM 基于角色的访问

以下部分将引导您完成 IAM 角色创建过程:

获取您的外部 ID

  • 从 Site24x7 控制台打开 CloudSpend Web 控制台(单击应用快捷方式图标应用快捷方式图标 )或转到 https://site24x7.com/app/cost 并登录。
  • 当您第一次打开 CloudSpend 控制台时,您将进入一个突出显示应用程序功能的引导轮播。您可以阅读并了解该应用程序如何为您提供帮助,也可以选择跳过。

  • 单击集成 AWS 账户。
  • 在 Integrate AWS Account 页面中,提供一个显示名称然后选择 IAM 角色作为访问类型。复制账户 ID 和外部 ID 并将值保存在记事本中以用于 AWS IAM 角色创建步骤。此外,请保持此浏览器选项打开
外部 ID 是您帐户独有的字母数字键。每次刷新集成 AWS 账户页面时都会重新生成密钥。因此,请确保在创建 IAM 角色期间使用正确的密钥。

创建 IAM 角色

  • 在新选项卡中,登录 AWS 管理控制台并打开 IAM 控制台。AWS management console
如果您使用 AWS Organizations 中的整合账单功能将多个成员账户置于一个主账户下,请登录到主账户的 AWS 管理控制台。如果您正在运行多个独立账户(选择让每个账户收到账单),则登录到您想要与 CloudSpend 集成的 AWS 账户。
  • 在导航窗格中,单击角色,然后单击创建角色cloud cost management IAM console config
  • 选择另一个 AWS 账户作为受信任实体的类型。
  • 对于 Account ID,粘贴您之前复制的 CloudSpend 的 AWS 账户 ID。
  • 选择需要外部 ID选项并粘贴您之前从集成 AWS 账户页面(CloudSpend 控制台)复制的唯一密钥。
  • 保持未选中 请求 MFA 选项并选择 下一步: 权限Create IAM role for cloud cost management

分配权限

IAM 策略确定角色的权限。

  • 单击创建策略以打开新的浏览器选项卡。Role creation for cloud cost management
  • 选择JSON 选项卡。复制并粘贴如下所示的自定义成本政策。
 
 
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"VisualEditor0",
         "Effect":"Allow",
         "Action":[
            "organizations:ListRoots",
            "s3:GetObjectVersionTagging",
            "organizations:DescribeAccount",
            "organizations:ListChildren",
            "s3:GetObjectAcl",
            "organizations:DescribeOrganization",
            "s3:GetObjectVersionAcl",
            "s3:HeadBucket",
            "organizations:DescribeHandshake",
            "s3:GetBucketWebsite",
            "s3:GetBucketNotification",
            "s3:GetReplicationConfiguration",
            "s3:ListMultipartUploadParts",
            "organizations:ListAccountsForParent",
            "organizations:ListHandshakesForAccount",
            "s3:GetObject",
            "iam:GetUserPolicy",
            "s3:GetAnalyticsConfiguration",
            "organizations:ListOrganizationalUnitsForParent",
            "s3:GetObjectVersionForReplication",
            "cur:DescribeReportDefinitions",
            "s3:ListBucketByTags",
            "s3:GetLifecycleConfiguration",
            "s3:GetBucketTagging",
            "s3:GetInventoryConfiguration",
            "s3:ListBucketVersions",
            "s3:GetBucketLogging",
            "s3:ListBucket",
            "s3:GetAccelerateConfiguration",
            "s3:GetBucketPolicy",
            "organizations:DescribePolicy",
            "s3:GetObjectVersionTorrent",
            "s3:GetEncryptionConfiguration",
            "organizations:ListCreateAccountStatus",
            "s3:GetBucketRequestPayment",
            "organizations:DescribeOrganizationalUnit",
            "s3:GetObjectTagging",
            "s3:GetMetricsConfiguration",
            "organizations:DescribeCreateAccountStatus",
            "organizations:ListPoliciesForTarget",
            "s3:ListBucketMultipartUploads",
            "organizations:ListTargetsForPolicy",
            "s3:GetBucketVersioning",
            "organizations:ListAWSServiceAccessForOrganization",
            "s3:GetBucketAcl",
            "organizations:ListPolicies",
            "organizations:ListHandshakesForOrganization",
            "organizations:ListAccounts",
            "s3:GetObjectTorrent",
            "s3:ListAllMyBuckets",
            "s3:GetBucketCORS",
            "organizations:ListParents",
            "iam:GetUser",
            "s3:GetBucketLocation",
            "s3:GetObjectVersion"
         ],
         "Resource":"*"
      }
   ]
}
  • 完成后,单击审核策略
    Custom policy for cloud cost management
  • 键入您正在创建的策略的名称和描述。
  • 查看策略摘要并单击创建策略cloud cost management policy review
  • 返回附加权限窗口,选择刷新,在搜索框中键入您刚刚创建的策略的名称。
  • 选中策略名称旁边的复选框。点击下一步:审核cloud cost management role search for policy

查看角色信息

  • 对于角色名称,输入一个有意义的名称。例如,aws-成本管理。如果你愿意,你也可以提供描述。
  • 查看信息,然后单击创建角色
  • 从左侧导航窗格中选择角色搜索您刚刚创建的角色,单击该角色并从摘要部分复制角色 ARN,并将其保存为第 3 阶段。
    cloud cost management role seclection cloud cost management AWS role copy for ARN

IAM 基于用户的访问(已弃用)

以下部分将引导您完成 AWS IAM 用户创建过程:

选择访问类型

  • 登录 AWS 管理控制台并打开 IAM 控制台。
如果您使用 AWS Organizations 中的整合账单功能将多个成员账户置于一个主账户下,请登录到主账户的 AWS 管理控制台。如果您正在运行多个独立账户(选择让每个账户收到账单),则登录到您想要与 CloudSpend 集成的 AWS 账户。
  • 在导航窗格中,单击用户,然后单击添加用户Add IAM user for cloud cost management
  • 对于用户名,键入一个有意义的名称。
  • 选择程序访问作为访问类型。
    cloud cost management user access type
  • 单击下一步:权限

分配权限

  • 在设置权限窗口中,选择将现有策略直接附加到用户选项,然后单击创建策略按钮以打开新的浏览器选项卡。cloud cost management IAM user permissions
  • 选择JSON选项卡。复制下面显示的自定义策略并将其粘贴到编辑器中。
 
 
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Sid":"VisualEditor0",
         "Effect":"Allow",
         "Action":[
            "organizations:ListRoots",
            "s3:GetObjectVersionTagging",
            "organizations:DescribeAccount",
            "organizations:ListChildren",
            "s3:GetObjectAcl",
            "organizations:DescribeOrganization",
            "s3:GetObjectVersionAcl",
            "s3:HeadBucket",
            "organizations:DescribeHandshake",
            "s3:GetBucketWebsite",
            "s3:GetBucketNotification",
            "s3:GetReplicationConfiguration",
            "s3:ListMultipartUploadParts",
            "organizations:ListAccountsForParent",
            "organizations:ListHandshakesForAccount",
            "s3:GetObject",
            "iam:GetUserPolicy",
            "s3:GetAnalyticsConfiguration",
            "organizations:ListOrganizationalUnitsForParent",
            "s3:GetObjectVersionForReplication",
            "cur:DescribeReportDefinitions",
            "s3:ListBucketByTags",
            "s3:GetLifecycleConfiguration",
            "s3:GetBucketTagging",
            "s3:GetInventoryConfiguration",
            "s3:ListBucketVersions",
            "s3:GetBucketLogging",
            "s3:ListBucket",
            "s3:GetAccelerateConfiguration",
            "s3:GetBucketPolicy",
            "organizations:DescribePolicy",
            "s3:GetObjectVersionTorrent",
            "s3:GetEncryptionConfiguration",
            "organizations:ListCreateAccountStatus",
            "s3:GetBucketRequestPayment",
            "organizations:DescribeOrganizationalUnit",
            "s3:GetObjectTagging",
            "s3:GetMetricsConfiguration",
            "organizations:DescribeCreateAccountStatus",
            "organizations:ListPoliciesForTarget",
            "s3:ListBucketMultipartUploads",
            "organizations:ListTargetsForPolicy",
            "s3:GetBucketVersioning",
            "organizations:ListAWSServiceAccessForOrganization",
            "s3:GetBucketAcl",
            "organizations:ListPolicies",
            "organizations:ListHandshakesForOrganization",
            "organizations:ListAccounts",
            "s3:GetObjectTorrent",
            "s3:ListAllMyBuckets",
            "s3:GetBucketCORS",
            "organizations:ListParents",
            "iam:GetUser",
            "s3:GetBucketLocation",
            "s3:GetObjectVersion"
         ],
         "Resource":"*"
      }
   ]
}
  • 点击审查政策。
    cloud cost management custom policy configuration
  • 在审核页面上,键入您正在创建的策略的名称和描述。评估授予的权限,如果一切看起来都令人满意,请单击创建策略
    cloud cost management policy review
  • 返回“设置权限”页面,选择“刷新”,在搜索框中键入您刚刚创建的策略的名称以过滤列表。
  • 选中策略名称旁边的复选框。点击下一步:审核cloud cost management user policy assignment

下载凭证

  • 查看用户详细信息和权限。如果一切正常,请单击创建用户

  • 选择Download.csv并将文件保存在安全位置。(这是您查看或保存安全凭证的唯一机会。)cloud cost management user configuration
  • 打开文件,复制秘密访问密钥和访问密钥 ID 并将其保存到记事本中,以用于第 3 阶段

打开结算报表(第 2 阶段)

AWS 成本和使用情况报表跟踪您每月的 AWS 使用情况(配置的服务),并根据时间量、数据传输、类型、区域等各种维度提供估计费用。如果您使用 AWS Organizations 中的整合计费功能,那么此报表仅对主账户可用,并将包括与组织关联的成员账户的所有活动。

AWS 将报表 CSV 文件传送到 Amazon S3 存储桶。要将计费文件传送到现有或新的 S3 存储桶,请按照以下步骤操作。如果您已经将报表发布到存储桶,请跳到第 3 阶段

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

配置报表内容

  • 登录组织的主账户
  • 打开计费和成本管理控制台


  • 在左侧导航窗格中,选择成本和使用情况报表,然后选择创建报表 cloud cost management report creation
  • 输入您正在创建的报表的名称
  • 选中包含资源 ID字段旁边的复选框
  • 保持数据刷新设置为默认值,然后选择cloud cost management report content

配置交付选项

  • 对于 S3 存储桶,选择配置


  • 配置 S3 存储桶对话框中,从下拉菜单中选择现有存储桶,然后单击保存
  • (可选)如果您要将计费报表发送到新存储桶。输入名称,选择区域并单击保存cloud cost management new bucket creation
  • 验证策略对话框中,选中我已确认此策略正确旁边的复选框,然后选择保存
  • 对于时间粒度,选择每小时
  • 对于报表,选择创建新的报表版本
  • 保持压缩类型,默认。选择下一步
    cloud cost management bucket review

查看报表设置

  • 查看报表的设置。如果一切正常,请选择审查和完成cloud cost management report review

连接 AWS 账户(第 3 阶段)

配置集成 AWS 账户页面

 
  • 如果您已创建 IAM 角色,请导航回打开的 CloudSpend 控制台浏览器选项卡(您复制外部 ID 和账户 ID 的同一选项卡)并将 RoleARN 粘贴到相应字段中。

cloud cost management role configuration
如果您已创建 IAM 用户,请登录 CloudSpend Web 控制台并单击集成 AWS 账户。输入显示名称,然后选择 IAM 用户作为访问类型。将访问密钥 ID 和秘密访问密钥复制并粘贴到相应的字段中。
  • 键入您在报表字段中创建的 AWS 成本和使用情况报表的名称
  • 账单处理开始日期决定了哪些行项目得到处理,哪些项目在账单解析过程中被遗漏。根据您的要求选择合适的开始日期。
    cloud cost management report configuration
  • 选择保存

将 Site24x7 帐户与 CloudSpend 连接

通过以下方式将您的 Site24x7 帐户直接与 CloudSpend 连接:

  1. 提供一个显示名称,并在“集成帐户”页面中选择您的访问类型为 Site24x7 帐户。在下面的下拉列表中,选择要集成的 Site24x7 AWS 账户。
  2. 在 AWS 管理控制台中创建新的成本策略。
  3. 无论您的 Site24x7 账户是否具有 IAM 用户或 IAM 角色,请按照“集成账户”页面上的相应步骤集附加成本策略。
  4. 按照连接 AWS 账户的第 2 阶段和第 3 阶段中的步骤完成将 Site24x7 账户与 CloudSpend 集成的过程

将 MSP 帐户与 CloudSpend 连接

通过以下方式将您的 Site24x7 MSP 帐户直接与 CloudSpend 连接:

  1. 提供一个显示名称,并在“集成帐户”页面中选择您的访问类型为 Site24x7 帐户。
  2. 从下拉列表中选择 MSP 客户,然后在下一个下拉列表中选择与需要集成的客户关联的 Site24x7 AWS 账户。
  3. 在 AWS 管理控制台中创建新的成本策略。
  4. 无论您的 Site24x7 账户是否具有 IAM 用户或 IAM 角色,请按照“集成账户”页面上的相应步骤集附加成本策略。
  5. 按照连接 AWS 账户的第 2 阶段和第 3 阶段中的步骤完成将 Site24x7 账户与 CloudSpend 集成的过程

支持关联账户

您现在可以通过在“集成账户”页面中选择“账户类型”为“关联账户”来为 AWS 中的关联账户使用云成本管理工具。当您选择关联账户时,除了指定报表名称外,还要指定 S3 存储桶名称和存储桶前缀(如果已配置)以存储报表。

配置错误帐户

您现在可以在配置错误帐户部分轻松查看配置 CloudSpend 帐户时出现的错误,例如报表名称无效或角色过期。选择编辑或删除配置错误,并从一个视图中纠正所有帐户的错误。