SQS 的 AWS IAM 角色
AWS IAM Roles for SQS
我在 EC2 实例上托管的应用程序需要与 SQS 保持持续连接,任何连接中断都会导致数据丢失。这可以使用 IAM 用户访问密钥和秘密访问密钥成功完成。但我想为此使用 IAM 角色。 IAM 角色使用临时凭证,并定期轮换凭证。我不确定我的应用程序是否会在临时凭证过期和轮换时失去与 SQS 的连接。
是的,您可以轻松扮演角色。不需要临时凭证。
您可以使用 ec2 IAM 角色。您可以创建一个角色,您可以在其中附加 SQS 的权限,并且可以将相同的角色附加到托管服务器应用程序的 ec2。
相同的引用 - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
与 IAM 角色关联的临时凭证有到期时间,但它们会在到期之前刷新。这应该不会导致问题,除非您的应用程序在到期时间临近时没有正确检查更新的凭据。
但这个问题的一个更基本的因素是您可能不熟悉 SQS 的基础 API。
SQS 不依赖于经过身份验证的 "connection,",因此没有一个连接可以 "lose." 从技术上讲,任何人都可以 "connect" SQS,因为连接本身不是什么是认证的。 SQS 独立地验证每个 action -- 每个长轮询请求、每个删除消息操作等,在其发生时由服务进行验证。 (如果认证失败,只有个别请求失败。)
只要您的代码为它发出的每个 请求 使用适当的新临时凭据,使用 IAM 角色就不会影响您与服务持续交互的能力。
any loss in connection would lead to data loss
您需要重试出现的任何错误。错误的发生可能有多种原因,但由于您的代码通过 HTTPS 与 SQS 交互,因此与该服务的每次交互都不依赖于连续连接。您可以(并且应该,但仅出于性能原因)使用 HTTP keep-alives,但 HTTPS 不依赖于持续维护的单个连接。
我在 EC2 实例上托管的应用程序需要与 SQS 保持持续连接,任何连接中断都会导致数据丢失。这可以使用 IAM 用户访问密钥和秘密访问密钥成功完成。但我想为此使用 IAM 角色。 IAM 角色使用临时凭证,并定期轮换凭证。我不确定我的应用程序是否会在临时凭证过期和轮换时失去与 SQS 的连接。
是的,您可以轻松扮演角色。不需要临时凭证。
您可以使用 ec2 IAM 角色。您可以创建一个角色,您可以在其中附加 SQS 的权限,并且可以将相同的角色附加到托管服务器应用程序的 ec2。
相同的引用 - https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
与 IAM 角色关联的临时凭证有到期时间,但它们会在到期之前刷新。这应该不会导致问题,除非您的应用程序在到期时间临近时没有正确检查更新的凭据。
但这个问题的一个更基本的因素是您可能不熟悉 SQS 的基础 API。
SQS 不依赖于经过身份验证的 "connection,",因此没有一个连接可以 "lose." 从技术上讲,任何人都可以 "connect" SQS,因为连接本身不是什么是认证的。 SQS 独立地验证每个 action -- 每个长轮询请求、每个删除消息操作等,在其发生时由服务进行验证。 (如果认证失败,只有个别请求失败。)
只要您的代码为它发出的每个 请求 使用适当的新临时凭据,使用 IAM 角色就不会影响您与服务持续交互的能力。
any loss in connection would lead to data loss
您需要重试出现的任何错误。错误的发生可能有多种原因,但由于您的代码通过 HTTPS 与 SQS 交互,因此与该服务的每次交互都不依赖于连续连接。您可以(并且应该,但仅出于性能原因)使用 HTTP keep-alives,但 HTTPS 不依赖于持续维护的单个连接。