Conexões do banco de dados persistem após a alteração do grupo de segurança

1

Nós configuramos um sistema para enviar uma mensagem para uma fila no SQS quando há uma interrupção em uma dependência. Para simular uma interrupção e testar o sistema, bloqueei a porta de saída para um banco de dados no grupo de segurança, mas descobri que a instância ec2 ainda conseguiu recuperar dados por meio de conexões JDBC do banco de dados mesmo depois que a porta foi bloqueada por algum tempo (mais de 10 minutos, menos de duas horas).

O que está acontecendo? As mudanças no grupo de segurança devem entrar em vigor imediatamente, mas suponho que isso tenha a ver com não desligar as conexões ao vivo?

Existe uma maneira melhor de simular uma interrupção, já que não queremos desligar o banco de dados?

    
por Hazel Troost 03.08.2018 / 21:25

1 resposta

2

As alterações nas regras do grupo de segurança surtem efeito quase imediatamente.

No entanto, o que as regras permitem é o estabelecimento de conexões. Uma vez que a conexão está ativa, a rede lembra a tupla da conexão (protocolo, endereço de origem / dest, porta de origem / destino) e a conexão pode continuar existindo porque já foi criada.

Por outro lado, as ACLs de rede são sem estado. Bloquear as conexões com a rede A ACL deve ter o efeito que você está procurando, embora talvez não exatamente o mesmo, porque o banco de dados pode falhar de várias maneiras que podem se manifestar de maneira diferente.

Quando as ACLs de rede negam tráfego (ou grupos de segurança negam novas conexões) o efeito é um tempo limite - porque os pacotes recusados são simplesmente descartados, descartados, sem nenhuma mensagem enviada na direção inversa para indicar que há um buraco negro no rede.

Por outro lado, as falhas reais podem resultar alternadamente em erros de rede como "host de destino inacessível" ou "conexão recusada" ou "conexão redefinida por peer". Cada uma dessas falhas deve tender a falhas mais rápidas do que as expirações, e não há como simulá-las dentro da infraestrutura da VPC.

Mas simular uma falha com tempos limite deve ser um teste que vale a pena, e as ACLs da rede devem facilitar isso.

Note, claro, que se você ainda for capaz de estabelecer novas conexões com o grupo de segurança supostamente bloqueando o tráfego, então o comportamento do seu grupo de segurança não é o que você acredita que seja.

    
por 04.08.2018 / 03:44