授权 SDK Metrics 在 AWS SDK for Ruby 中收集和发送指标。 - 适用于 Ruby 的 AWS 开发工具包
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

授权 SDK Metrics 在 AWS SDK for Ruby 中收集和发送指标。

要为企业支持使用 SDKs 从 AWS SDK Metrics 收集指标,企业客户必须创建 IAM 角色,该角色授予 CloudWatch 代理从 Amazon EC2 实例或生产环境收集数据的权限。

使用以下 Ruby 代码示例或 AWS 控制台来创建 IAM 策略和角色,使得 CloudWatch 代理能够访问您的环境中的 SDK Metrics。

要了解如何将 SDK Metrics 与 AWS SDK for Ruby 结合使用,请参阅在适用于 Ruby 的 AWS 开发工具包中设置开发工具包指标

使用 AWS SDK for Ruby 设置访问权限

为实例创建 IAM 角色,该角色有权访问 Amazon EC2 Systems Manager 和 SDK Metrics。

首先,使用 CreatePolicy 创建策略。然后,使用 CreateRole 创建角色。最后,使用 AttachRolePolicy 将您创建的策略附加到新角色。

require 'aws-sdk-iam' # v2: require 'aws-sdk' role_name = 'AmazonCSM' client = Aws::IAM::Client.new(region: 'us-west-2') csm_policy = { 'Version': '2012-10-17', 'Statement': [ { 'Effect': 'Allow', 'Action': [ 'sdkmetrics:*' ], 'Resource': '*' }, { 'Effect': 'Allow', 'Action': [ 'ssm:GetParameter' ], 'Resource': 'arn:aws:ssm:*:*:parameter/AmazonCSM*' } ] } # Create policy resp = client.create_policy({ policy_name: role_name, policy_document: csm_policy.to_json, }) policy_arn = resp.policy.arn puts 'Created policy with ARN: ' + policy_arn policy_doc = { Version: '2012-10-17', Statement: [ { Effect: 'Allow', Principal: { Service: 'ec2.amazonaws.com' }, Action: 'sts:AssumeRole' },] } # Create role client.create_role( { role_name: role_name, description: 'An instance role that has permission for AWS Systems Manager and SDK Metric Monitoring.', assume_role_policy_document: policy_doc.to_json, }) puts 'Created role ' + role_name # Attach policy to role client.attach_role_policy( { policy_arn: policy_arn, role_name: role_name, }) puts 'Attached policy ' + role_name + 'policy to role: ' + role_name

使用 IAM 控制台设置访问权限

或者,您可以使用 IAM 控制台创建角色。

  1. 转至 IAM 控制台,然后创建角色以使用 Amazon EC2。

  2. 在导航窗格中,选择 Roles

  3. 选择 Create Role (创建角色)

  4. 选择 AWS 服务,然后选择 EC2。​

  5. 选择 Next: (下一步:)。权限。

  6. 附加权限策略下,选择创建策略

  7. 对于服务,选择 Systems Manager。对于 Actions (操作),展开 Read (读取),然后选择 GetParameters。 对于资源,请指定您的 CloudWatch 代理。

  8. 添加其他权限

  9. 选择选择服务,然后选择手动输入服务。对于 Service (服务),输入 sdkmetrics。 选择所有 sdkmetrics 操作和所有资源,然后选择 Review Policy (查看策略)

  10. 角色命名为 AmazonSDKMetrics,然后添加描述。

  11. 选择 Create Role (创建角色)