你好Stack Overflow社区
我们目前正面临一个令人困惑的问题,这个问题与我们环境中的AWS ElasticCache(Redis)示例有关。我们希望在这件事上得到一些见解或指导。
情况如下:我们需要暂时停止一个ElasticCache示例的操作,但我们发现该示例只能终止,不能停止。为了防止传入流量到达ElasticCache示例,我们决定删除相关的安全组及其所有规则,假设此操作将立即终止所有活动连接。
然而,有趣的是,尽管删除了安全组及其规则,但在此更改之前建立的活动连接仍然存在。这意味着数据继续通过这些连接流动,即使安全组在理论上应该阻止它们。
我们对这种行为感到非常困惑,并且正在努力理解为什么删除安全组不会立即切断所有活动连接。我们的主要目标是有效地停止与ElasticCache示例的所有通信,同时对我们的应用程序造成最小的中断。
有人能解释一下为什么这些连接在安全组规则被删除后仍然是活动的吗?是否有任何AWS ElasticCache特定的细微差别可以解释此行为?我们将非常感谢您对如何有效地终止所有与ElasticCache示例的连接而不会对我们的应用程序造成不必要的伤害的任何见解、解释或建议。
如果需要更多的细节,请随时询问,我们很乐意提供更多的信息。
AWS ElasticCache引擎:Redis尝试的操作:已删除关联的安全组及其规则以停止通信预期结果:立即终止所有活动连接当前结果:尽管删除了安全组,但活动连接仍然存在
1条答案
按热度按时间enxuqcxy1#
安全组为stateful。
这意味着,您的安全组使用连接跟踪来跟踪有关示例的往来流量的信息。基于流量的连接状态应用规则,以确定流量是被允许还是被拒绝。
更改安全组规则时,其跟踪的连接不会立即中断。安全组继续允许数据包,直到现有连接超时。
要确保通信立即中断,或者无论跟踪状态如何,所有通信都要遵守防火墙规则,您可以为子网使用网络ACL。网络ACL是无状态的,因此不会自动允许响应流量。添加阻止任一方向流量的网络ACL会中断现有连接。
有关更多信息,请参阅Amazon VPC用户指南中的Network ACLs。