0

我正在使用 AWS ECS Fargate,我目前正在使用服务发现来允许我的任务相互通信。我有一个问题,我的任务只有在我将这个安全组放在它们上时才能进行通信

resource "aws_security_group" "ecs_config_service" {
  name        = "staging-ecs-config-service"
  description = "We need this so our services can communicate"
  vpc_id      = module.vpc.vpc_id

  ingress {
    from_port = 0
    to_port   = 0
    protocol  = "-1"
    cidr_blocks = [
      "0.0.0.0/0"
    ]
  }
}

如果我删除此安全组并只允许来自负载均衡器的流量,则容器无法通信。这感觉有点像允许来自任何地方的流量的安全风险,但我不确定我还能如何让我的任务进行通信。

我的 ECS 集群位于我的 VPC 的私有子网中。

我的设置有什么遗漏吗?

4

1 回答 1

1

与其将 IP 地址列入白名单,不如尝试将安全组列入白名单。例如,如果您在 ECS 中运行了两个单独的服务,您可以将安全组 A 分配给第一个服务,将安全组 B 分配给第二个服务,并在安全组 A 中创建一个允许从安全组 B 进入的规则。


或者,您至少可以将 IP 范围限制为 VPC 的 CIDR 块,以便 VPC 之外的任何内容都无法访问您的服务。

于 2020-12-08T14:07:20.847 回答