Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Não consigo conectar no RDS

Tanto via aplicação no TomCat quanto via SQL Client (HeidiSQL)

Segue alguns prints das configurações: Connectivity & security - 1.1 Connectivity & security - 1.2 Configuration

Deve ser alguma configuração de segurança que foi adicionada pela amazon em versão posterior a utilizada na gravação do curso, pois tive problemas de acesso semelhantes para usar o S3.

Na aplicação recebo essas mensagens no log:

Erro genérico acontecendo
org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection
    at org.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransactionManager.java:430)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
...
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1763)
    at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1677)
...
Caused by: org.hibernate.exception.JDBCConnectionException: Could not open connection
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
...
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.base/java.net.PlainSocketImpl.connect0(Native Method)
    at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)

e no Client SQL mesma coisa:

Can't connect to MySQL server on 'db-casadocodigo.xxxxxxxxxxxx.us-east-1.rds.amazonaws.com'
(10060)

Vou continuar pesquisando, mas espero que alguém consiga me ajudar, pois sem passar dessa parte, não consigo continuar o curso :(

Agradeço desde já ;)

3 respostas
solução!

Olá Luis Gustavo, tudo bem? Você deixou o seu RDS com public accessibility habilitado? Você poderia verificar também se seu Security Group está com a porta 3306 habilitada nas regras de entrada? E qual a versão do MySQL que você utilizou durante a criação do banco de dados?

Fico aguardando retorno!

Boa tarde Jonilson, primeiramente, obrigado pela ajuda!

Adicionei no começo da pergunta alguns prints com algumas informações de configurações do RDS. Respondendo suas perguntas:

Public accessibility está como true;

Sobre essa configuração de Security Group, não sei como verificar, esse curso é meu primeiro contato com AWS, não conheço nada, mas não me recordo de configurar nada sobre isso, consegue me falar onde encontro essa configuração?

E a versão é a 8.0.17, que foi selecionada automaticamente no momento da criação.

Obrigado novamente! Att. Gustavo.

Consegui! Assim como Jonilson disse sobre Security Group, um amigo meu orientou onde fica essa configuração.

Basta acessa-la ela através do link na pagina do banco Connectivity & security e cliclar no default (sg-xxxxx) que fica ali em Security > VPC security groups, lá embaixo tem uma aba Regras de entrada, clique em Editar regras de entradas, na próxima página clique em Adicionar regra , na nova linha eu preenchi:

Tipo: Todo o tráfego, Protocolo: Tudo, Intervalo de portas: Tudo, Origem: Meu IP.

Pronto... só salvar e fazer um teste )