Amazon-Web-Services

用於集群間通信的 AWS Elasticache 安全組

  • December 4, 2020

我真的沒有設置來測試這個,但是如果我創建一個超過 1 個節點的 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 是否隱式管理這些規則並確保始終允許用於集群間通信的埠?

任何幫助將不勝感激。謝謝!

還是 AWS 隱式管理這些規則並確保始終允許用於集群內通信的埠?

是的。

引用自:https://serverfault.com/questions/1044961