Como soluciono problemas de conectividade entre minhas tarefas do Amazon ECS para um tipo de lançamento do Amazon EC2 e um banco de dados do Amazon RDS?

4 minuto de leitura
0

Meu aplicativo está sendo executado como um conjunto de tarefas lançadas pelo Amazon Elastic Container Service (Amazon ECS) em instâncias do Amazon Elastic Compute Cloud (Amazon EC2). Meu aplicativo não consegue se comunicar com o banco de dados do Amazon Relational Database Service (Amazon RDS).

Resolução

Verifique suas configurações de rede

Para verificar se uma instância de contêiner pode estabelecer uma conexão com o banco de dados, conclua as etapas a seguir para instâncias de contêiner baseadas em Linux ou Windows:

Para instâncias de contêiner baseadas em Linux:

1.    Use o SSH para se conectar à instância de contêiner em que sua tarefa está.

2.    Para se conectar ao banco de dados do RDS, execute o seguinte comando:

$ telnet test.ab12cde3fg4.us-east-1.rds.amazonaws.com 3306

Observação: Substitua test.ab12cde3fg4.us-east-1.rds.amazonaws.com por seu endpoint de banco de dados. Substitua 3306 pela porta do banco de dados.

A saída é semelhante à seguinte:

> Trying 172.31.122.28
 > Connected to test.ab12cde3fg4.us-east-1.rds.amazonaws.com
 > Escape character is '^]'.

Importante: O Telnet não vem pré-instalado nas imagens de máquina da Amazon (AMIs) otimizadas para o Amazon ECS. Para instalar o Telnet, execute o comando sudo yum install telnet -y.

Para instâncias de contêiner baseadas em Windows:

1.    Use o Remote Desktop Protocol (RDP) para se conectar à instância de contêiner em que sua tarefa está.

2.    Para se conectar ao banco de dados do RDS, execute o comando a seguir usando o prompt de comando do Windows ou o Windows PowerShell:

$ telnet test.ab12cde3fg4.us-east-1.rds.amazonaws.com 3306

Observação: Substitua test.ab12cde3fg4.us-east-1.rds.amazonaws.com por seu endpoint de banco de dados. Substitua 3306 pela porta do banco de dados.

Importante: O Telnet não vem pré-instalado nas AMIs do Windows otimizadas para o Amazon ECS. Para instalar o Telnet, execute o comando Install-WindowsFeature -Name Telnet-Client usando o PowerShell como administrador.

Se a conexão for estabelecida, uma página em branco será exibida.

Se a conexão não for estabelecida e você receber erros de “Tempo limite de conexão” ou “Falha na conexão”, conclua as seguintes etapas:

1.    Verifique se os grupos de segurança anexados permitem o acesso ao banco de dados do RDS. Você pode usar a chamada de API DescribeInstances ou a guia Descrição para a ID da instância selecionada no console do Amazon EC2.

Observação: No modo de rede bridge e host, os grupos de segurança conectados à instância de contêiner controlam o acesso ao banco de dados. No modo de rede awsvpc, os grupos de segurança associados durante o lançamento do serviço ou da tarefa controlam o acesso.

Dica: Como prática recomendada, crie um grupo de segurança que permita o tráfego de entrada da porta do banco de dados. Em seguida, conecte o grupo de segurança ao banco de dados e à instância do contêiner ou associe o grupo de segurança às tarefas baseadas em awsvpc.

2.    Verifique se a lista de controle de acesso à rede (ACL da rede) e a tabela de rotas associadas à sub-rede permitem acesso ao banco de dados.

Verifique os parâmetros de conexão do banco de dados

1.    Na seção environment de sua definição de contêiner, transmita suas variáveis de ambiente com segurança. Para transmiti-las com segurança, consulte suas variáveis de ambiente no AWS Systems Manager Parameter Store ou no AWS Secrets Manager.

Observação: Um aplicativo usa parâmetros (como endpoint do banco de dados, porta do banco de dados e credenciais de acesso ao banco de dados) para estabelecer uma conexão com o banco de dados. Esses parâmetros geralmente são passados como variáveis de ambiente para a tarefa.

2.    Se o contêiner em sua tarefa puder estabelecer uma conexão com o banco de dados, mas não conseguir se autenticar devido a parâmetros de conexão incorretos (como nome de usuário ou senha do banco de dados), redefina a senha do banco de dados.

3.    Remova todos os espaços de caracteres à esquerda ou à direita dos parâmetros de conexão.

Observação: Erros de sintaxe podem resultar em falha na conexão entre seu contêiner e o banco de dados do RDS.


AWS OFICIAL
AWS OFICIALAtualizada há 4 anos