temos a seguinte configuração no AWS: 8 ambientes do Elastic Beanstalk (4 QA, 4 PROD) lêem e gravam dados. Normalmente, 1 ambiente (a API) sempre lê dados do DynamoDB e o RDS e 1 ambiente (o servidor de tarefas para o coletor de dados) normalmente gravam dados.
Para melhorar o desempenho, criamos um servidor de memcached que pode ser acessado pela lógica do aplicativo. Normalmente, o servidor da API mencionado acima tenta ler do cache (e adiciona, se não conseguir encontrar o item), enquanto o Servidor de tarefas invalida itens de cache, para forçar a API a lê-los no banco de dados.
Até agora, tudo bem, tudo funciona bem. O principal problema agora são as configurações de segurança. memcached requer que a porta 11211 esteja aberta e o mundo inteiro possa fazer telnet e ler nossas configurações de cache.
Defino primeiro o grupo de segurança do servidor de memcached para permitir apenas conexões de entrada de nossos servidores VPN, para que nossas máquinas de desenvolvimento possam acessá-lo. Funciona bem, apenas 3 CIDRs. Então tentei adicionar os grupos de segurança dos ambientes do Elastic Beanstalk para fazer o mesmo. Isto parece não funcionar mais . Não consigo acessar o servidor do memcached dos servidores do Elastic Beanstalk. O que eu basicamente fiz no CLI
aws ec2 authorize-security-group-ingress --group-name security-group-of-memcached-server --protocol tcp --port 11211 --source-group xxx-rds-associations --group-owner 517999993
em que xxx-rds-associations é um grupo de segurança do ambiente do Elastic Beanstalk e suas instâncias. A fim de evitar um problema de configuração de aplicativo estúpido, eu também RDPd no servidor e tentei acessar o servidor memcached com telnet. Não funcionou também.
Existe um mal-entendido básico do meu lado? A inclusão de um grupo de segurança na origem não permite que o servidor com esse grupo acesse o servidor de destino?
Ou eu simplesmente perdi alguma coisa?
Eu agradeço qualquer entrada. Cumprimentos Marco