1

我是 AWS 新手,正在开发一个应用程序,我必须在其中显示关于我的 AWS EC2 实例运行状况的不同指标,例如 CPU 使用率和内存以及运行进程信息。我正在尝试从 REST 客户端(Chrome 扩展)执行获取请求,以明确 AWS 公开的此 API 的功能。

https://dns.regionxx.ec2.amazonaws.com/?
Action=DescribeInstanceStatus
&AWSAccessKeyId=0GS7553JW74RRM612K02EXAMPLE
&Timestamp=1397109362
&Signature=lBP67vCvGlDMBQ1dofZxg8E8SUEXAMPLE
&SignatureVersion=2
&SignatureMethod=HMAC-SHA1

REST 客户端支持 OAuth 1.0 是一个问题,因为 AWS 支持签名版本 2 和 4。

有什么帮助吗?

4

1 回答 1

2

您可以使用 Signatures 直接执行此操作,但为什么不使用现有的 SDK 之一,例如boto (Python)、Ruby AWS SDKJava AWS SDK。这些 SDK 负责所有的身份验证/授权机制,您只需要提供您aws_access_key_id和您的aws_secret_access_key

例如,使用 boto 您可以执行以下操作:

import boto.ec2
conn = boto.ec2.connect_to_region("us-east-1",
   aws_access_key_id='<key>',
   aws_secret_access_key='<secret>')

reservations = conn.get_all_instances

for reservation in reservations:
    for instance in reservation:
        print instance.status

或者您可以使用 EC2 命令行 API http://aws.amazon.com/developertools/351

 ec2-describe-instance-status <instances->

或者您可以使用AWS CLI

 aws ec2 describe-instance-status <instance id>
于 2014-04-10T19:43:34.993 回答