【发布时间】:2018-06-26 06:10:06
【问题描述】:
我们配置了具有 IAM 角色的 EC2 实例,该实例具有 SQS 和 EC2 的完全权限。有没有任何方法可以在没有 AWS 的任何 SDK/CLI 支持的情况下向队列发送消息?仅使用来自 EC2 实例的简单 REST 调用?
【问题讨论】:
标签: amazon-web-services amazon-ec2 httprequest amazon-sqs amazon-iam
我们配置了具有 IAM 角色的 EC2 实例,该实例具有 SQS 和 EC2 的完全权限。有没有任何方法可以在没有 AWS 的任何 SDK/CLI 支持的情况下向队列发送消息?仅使用来自 EC2 实例的简单 REST 调用?
【问题讨论】:
标签: amazon-web-services amazon-ec2 httprequest amazon-sqs amazon-iam
“有没有办法在没有访问权限和密钥的情况下向 AWS SQS 发送消息?”问题的答案是YES
当您在 EC2 中使用 SDK/CLI 时,您只需将 IAM 角色附加到 EC2 即可与您的 SQS 进行通信。然后,一旦您正确设置了该角色,您就可以在没有访问权限和密钥的情况下向 AWS SQS 发送消息。这是推荐的。
对于“是否有任何方法可以在没有 AWS 的任何 SDK/CLI 支持的情况下将消息发送到队列?仅使用来自 EC2 实例的简单 REST 调用?”问题的答案是是 也是。
更多详情check this。
但在这种情况下(使用简单 REST 调用),您将不得不sign the request。
【讨论】:
您可以使用 cURL 向 SQS 发送消息。
curl -d "Action=SendMessage&Version=2011-10-01&MessageBody=example" <your queue url>
但是,我强烈建议使用 IAM 角色来授予对您的 SQS 的写入/读取权限。
【讨论】: