将 aws 资源限制为特定的 ecs 集群

Posted

技术标签:

【中文标题】将 aws 资源限制为特定的 ecs 集群【英文标题】:Restricting aws resource to a specific ecs cluster 【发布时间】:2021-12-07 23:22:41 【问题描述】:

我有 2 个 ecs 集群都运行相同的服务,但只有它们应该访问一些 aws 资源(lambda/ sqs)。如何实现?此外,我需要一些机制来仅从 lambda 触发该集群中服务(java)中的一段代码/函数。考虑到两个集群的代码是一样的,那怎么实现呢?

【问题讨论】:

如果您正在寻找“意见”,您可能会得到更好的回复:reddit.com/r/aws 【参考方案1】:

对于第一个问题,实现它的规范方法是使用 Task Role 并将其与支持需要访问 AWS 资源的服务的任务相关联。您实际上创建了一个特定的 IAM 角色,该角色有权访问您需要访问的资源并在任务定义中指定它。由该任务定义启动的容器将可以在本地访问 AWS 临时凭证,从而允许您的代码访问这些资源。因为代码(容器映像?)是相同的,所以您希望拥有两个完全相同的单独任务定义,但一个具有任务角色,另一个没有任务角色。您的两项服务将继续相同,但一项将具有临时信用,而另一项则没有。更多信息here in the docs。

问题的第二部分有点含糊(约翰指出,答案可能非常固执己见)。

【讨论】:

以上是关于将 aws 资源限制为特定的 ecs 集群的主要内容,如果未能解决你的问题,请参考以下文章

AWS那些需要注意的问题

如何将节点特定的 SSH 密钥与 Rundeck AWS EC2 资源插件一起使用?

创建 AWS IAM 策略,将正在运行的实例限制为特定安全组

如何从 aws cloudformation 模板为特定资源类型创建堆栈

Kubernetes 配置Pod和容器(五)应用资源配额和限制

AWS ECS 容量提供商