我正在尝试从我的 ECS 集群部署不同类型的 docker 容器。根据容器的类型,我需要允许某些入站和出站端口公开。如何修改现有的容器部署到的ECS实例安全组,并以动态方式添加这个额外的安全组规则?我正在寻找一个自动化的解决方案;如果容器移动到不同的实例,我需要恢复 ECS 实例的原始安全组。
最佳答案
我认为您可能想重新访问 awsvpc 网络模式。正如您在此处解释的那样,这听起来可以满足您的需求。在 awsvpc 模式下,为您的任务分配一个新的 ENI,并映射到任务的网络命名空间。从您的任务的角度来看,您看起来像是在主机模式网络中运行;您的容器将可以直接访问您的网络。您将使用一个现有的安全组,该安全组将允许您的任务容器公开的端口的入站流量。
或者,如果您确实需要根据任务放置来操作安全组,您应该考虑使用 lambda 函数通过适当的操作来响应 ECS CloudWatch 事件。这记录在 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch_event_stream.html
关于amazon-web-services - 如何根据其中运行的容器动态修改正在运行的ECS实例的安全组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50760075/