실제로 이것을 테스트할 설정은 없지만 2개 이상의 노드가 있는 elasticache redis 클러스터를 생성하는 경우 보안 그룹이 클러스터 자체를 손상시키지 않으면서 매우 안전해 보이려면 정확히 어떻게 해야 합니까?
포트 6379에서 자체 및 kubernetes 노드로부터의 수신을 허용하고 자체 및 kubernetes에 대한 모든 송신을 허용하는 보안 그룹을 생성한다고 가정해 보겠습니다.
예를 들면 다음과 같습니다.
resource "aws_security_group" "tools_elasticache_default" {
name = "tools-elasticache-default"
description = "Allow traffic from tools cluster to elasticache instance"
vpc_id = module.tools_cluster.vpc_id
ingress {
description = "Incomming redis traffic"
from_port = 6379
to_port = 6379
protocol = "tcp"
self = "true"
security_groups = [for x in module.tools_cluster.node_security_groups : x.id ]
}
egress {
description = "Outgoing redis traffic"
from_port = 0
to_port = 0
protocol = "-1"
self = "true"
security_groups = [for x in module.tools_cluster.node_security_groups : x.id ]
}
tags = merge(var.tags, {
"shared" = "true"
})
}
내부적으로는 ec2이고 보안 그룹은 인스턴스별로 구성되어 있으므로 Elasticache 클러스터가 손상됩니까? 명시된 것과 같은 Redis 클러스터 통신 포트를 명시적으로 지정하지 않았기 때문에여기?
내가 이해하기로는 하나의 Redis 노드가 포트 3333의 다른 노드로 송신할 수 있지만 그의 요청은 다른 클러스터 참가자의 누락된 수신 규칙에서 삭제되므로 클러스터가 손상되어야 합니다.
아니면 AWS가 이러한 규칙을 암시적으로 관리하고 클러스터 간 통신을 위한 포트가 항상 허용되는지 확인합니까?
어떤 도움이라도 대단히 감사하겠습니다. 감사해요!
답변1
아니면 AWS가 이러한 규칙을 암시적으로 관리하고 클러스터 내 통신용 포트가 항상 허용되는지 확인합니까?
예.