Se a instância do EC2 e a instância de banco de dados RDS estiverem em VPCs diferentes, você pode estar usando o emparelhamento de VPC para conectar duas VPCs. Mas no seu caso, ambos estão na mesma VPC. Isso é bom. Certifique-se de que a instância de banco de dados RDS seja iniciada na sub-rede privada e a instância do EC2 seja iniciada na sub-rede pública.
Para conectar a instância de banco de dados RDS na instância do EC2
- No grupo de segurança da instância de banco de dados RDS, você precisa abrir o tráfego para a instância do EC2.
- Clique em Grupo de segurança de banco de dados do Painel RDS. Clique em Entrada aba. O botão Editar é usado para adicionar ou remover regras do grupo de segurança.
- Adicione regra para que a instância do EC2 acesse seu banco de dados. Digamos que você tenha iniciado o MySQL DB Engine na instância de banco de dados. Você precisa abrir a porta 3306 para a instância do EC2. Você pode usar o IP privado da instância do EC2 para se conectar à instância de banco de dados do RDS.
- SSH na instância do EC2, instale o
mysql-server
pacote. Você precisa conectar a instância de banco de dados RDS usandomysql-server
. mysql --host=<my-hostname> --port=3306 --user=<user> --password=<password>
comando usado para se conectar com a instância de banco de dados RDS.
Para conectar a instância de banco de dados RDS no MySQL WorkBench
-
No MySQL WorkBench, clique em Configurar nova conexão .
-
Dê o nome da conexão. Escolha Padrão (TCP/IP) sobre SSH . Você precisa fornecer o nome do host SSH, nome de usuário e arquivo de chave, bem como o nome do host MySQL, porta, nome de usuário e senha.
-
As credenciais SSH não são nada como credenciais de instância do EC2. Para Keyfile, você deve procurar o arquivo KeyPair(.pem). No RDS Hostname, você deve fornecer o ponto de extremidade disponível no painel do RDS.
-
Para verificar a conexão, clique em Testar conexão botão.
O motivo pelo qual você está escolhendo Padrão (TCP/IP) em vez de SSH é conectar a instância de banco de dados RDS por meio da instância EC2. Primeiro, ele se conectará a uma instância do EC2 e, em seguida, acessará a instância de banco de dados RDS porque a instância de banco de dados não tem acesso à Internet e está na sub-rede privada.
Certifique-se de que no aplicativo da web java, você mencionou o nome do host RDS, a porta, o nome de usuário e a senha estão corretos. Não há necessidade de mencionar o nome do host EC2 no aplicativo.