Подключение Amazon RDS и Elastic Beanstalk - PullRequest
3 голосов
/ 01 июня 2011

Уже есть несколько тем, где обсуждается этот вопрос, и я уже пытался реализовать предложения, обсуждаемые в Elastic Beanstalk -> Ошибка соединения RDS при использовании Grails .

  • Я также открыл порты для приема соединений от «Все» для ICMP, TCP и UDP в моем экземпляре EC2.

  • Я убедился, что мои экземпляры RDS и EC2 находятся в одной зоне (восточная)

  • Я также добавил группу безопасности «asticbeanstalk-default »в группу безопасности RDS по умолчанию

  • Я добавил IP-адрес моей локальной машины в настройках RDS CIDR, и я могу подключиться к RDS через SQLYog со своей машины.

НО, когда я пытаюсь подключить свой экземпляр RDS из Elastic Beanstalk, я получаю следующее исключение

Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at java.net.Socket.<init>(Socket.java:392)
at java.net.Socket.<init>(Socket.java:235)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:293)
... 18 more

Jun 1, 2011 5:12:41 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Jun 1, 2011 5:12:41 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [] startup failed due to previous errors
Jun 1, 2011 5:12:41 AM org.apache.catalina.core.StandardContext listenerStop
SEVERE: Exception sending context destroyed event to listener instance of class         org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
 org.springframework.beans.factory.BeanCreationException: Error creating bean with name.....
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)

Мои параметры DataSource.groovy следующие.

production {
    dataSource {
        pooled = true
        dbCreate = "update" // one of 'create', 'create-drop','update'
        url = "jdbc:mysql://[MyEndPoint]:3306/*****"
        username = "*****"
        password = "*****"
        dialect = org.hibernate.dialect.MySQL5InnoDBDialect
        properties {
            validationQuery = "SELECT 1"
            testOnBorrow = true
            testOnReturn = true
            testWhileIdle = true
            timeBetweenEvictionRunsMillis = 1000 * 60 * 30
            numTestsPerEvictionRun = 3
            minEvictableIdleTimeMillis = 1000 * 60 * 30
        }
    }
}

1 Ответ

1 голос
/ 02 июня 2011

Я решил, довольно глупый ответ.

Я всегда чувствовал (думал), что при создании нового файла WAR для проекта Grails в NetBeans он создается в «производственной» среде, но это не так. Мне пришлось перейти к свойствам проекта и изменить настройку «Активная среда Grails» на «Производство», и это исправило это.

В двух словах, Amazon Web Services Elastic Beanstalk пытался подключиться к моей базе данных среды разработки "localhost".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...