У меня нет возможности это проверить, но если я создам кластер Elasticache Redis с более чем одним узлом, как именно должна выглядеть группа безопасности, чтобы обеспечить высокую безопасность, но при этом не нарушить работу самого кластера?
Допустим, я создаю группу безопасности, которая разрешает входящий трафик с себя и моих узлов Kubernetes на порт 6379 и разрешает всем исходящий трафик на себя и 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"
})
}
Сломает ли это мой кластер elasticache, поскольку он находится под капотом ec2, а группы безопасности находятся на основе экземпляра? Поскольку я явно не указал порты связи кластера redis, как указаноздесь?
Насколько я понимаю, кластер должен быть разрушен, поскольку один узел Redis может подключиться к другому узлу через порт 3333, но его запрос будет отклонен из-за отсутствующего правила входа для него на другом участнике кластера.
Или AWS неявно управляет этими правилами и следит за тем, чтобы порты для межкластерной связи всегда были разрешены?
Любая помощь будет высоко оценена. Спасибо!
решение1
Или AWS неявно управляет этими правилами и следит за тем, чтобы порты для внутрикластерной связи всегда были разрешены?
Да.