Unable to configure SonarQube 8.9 with AWS RDS postgresql

SonarQube 8.9 on AWS Linux 2
AWS RDS postgresql 12

I’ve tried many different options but unable to get past getting connected to the postgresql database (AWS RDS). I’ve tried a local db as well, with no luck. I’m doing something wrong, but unable to figure it out.

[ec2-user@ip-172-30-0-84 ~]$ cat /opt/sonarqube/logs/web.log

2021.05.18 19:45:38 INFO web[o.s.p.ProcessEntryPoint] Starting web

2021.05.18 19:45:39 INFO web[o.a.t.u.n.NioSelectorPool] Using a shared selector for servlet write/read

2021.05.18 19:45:40 INFO web[o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [http://localhost:9001]

2021.05.18 19:45:41 INFO web[o.s.s.p.LogServerVersion] SonarQube Server / 8.9.0.43852 / 681d1975f698b70fc4e981593f7bed298ff2f60d

2021.05.18 19:45:41 INFO web[o.sonar.db.Database] Create JDBC data source for jdbc:postgresql:sonarqube.cgheywak12wd.us-east-2.rds.amazonaws.com:5432/sonarqube?currentSchema=public

2021.05.18 19:45:41 ERROR web[o.s.s.p.PlatformImpl] Web server startup failed

java.lang.IllegalStateException: Fail to connect to database

at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:86)

at org.sonar.core.platform.StartableCloseableSafeLifecyleStrategy.start(StartableCloseableSafeLifecyleStrategy.java:40)

at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)

at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)

at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)

at org.picocontainer.behaviors.Stored.start(Stored.java:110)

at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1016)

at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1009)

at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)

at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:136)

at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)

at org.sonar.server.platform.platformlevel.PlatformLevel1.start(PlatformLevel1.java:166)

at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:213)

at org.sonar.server.platform.PlatformImpl.startLevel1Container(PlatformImpl.java:172)

at org.sonar.server.platform.PlatformImpl.init(PlatformImpl.java:86)

at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4705)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5171)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1412)

at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1402)

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)

at java.base/java.lang.Thread.run(Thread.java:834)

Caused by: java.lang.IllegalStateException: Can not connect to database. Please check connectivity and settings (see the properties prefixed by ‘sonar.jdbc.’).

at org.sonar.db.DefaultDatabase.checkConnection(DefaultDatabase.java:118)

at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:83)

… 24 common frames omitted

Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (FATAL: password authentication failed for user “sonar_unencrypt”)

at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:669)

at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:544)

at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:753)

at org.sonar.db.profiling.NullConnectionInterceptor.getConnection(NullConnectionInterceptor.java:31)

at org.sonar.db.profiling.ProfiledDataSource.getConnection(ProfiledDataSource.java:317)

at org.sonar.db.DefaultDatabase.checkConnection(DefaultDatabase.java:115)

… 25 common frames omitted

Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user “sonar_unencrypt”

at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:613)

at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:161)

at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213)

at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51)

at org.postgresql.jdbc.PgConnection.(PgConnection.java:223)

at org.postgresql.Driver.makeConnection(Driver.java:465)

at org.postgresql.Driver.connect(Driver.java:264)

at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:55)

at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:355)

at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:115)

at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:665)

… 30 common frames omitted

2021.05.18 19:45:41 WARN web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [pool-2-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.1/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.1/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:343)\n app//org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221)\n app//org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)\n java.base@11.0.1/java.lang.Thread.run(Thread.java:834)

2021.05.18 19:45:41 WARN web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [I/O dispatcher 1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.1/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.1/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)\n app//org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:255)\n app//org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)\n java.base@11.0.1/java.lang.Thread.run(Thread.java:834)

2021.05.18 19:45:41 WARN web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [I/O dispatcher 2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.1/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.1/sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:120)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:124)\n java.base@11.0.1/sun.nio.ch.SelectorImpl.select(SelectorImpl.java:136)\n app//org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:255)\n app//org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)\n java.base@11.0.1/java.lang.Thr

My current sonar.properties
sonar.jdbc.username=sonar_unencrypt
sonar.jdbc.password= password configured to not be encrypted at DB
sonar.jdbc.url=jdbc:postgresql:sonarqube.cgheywak12wd.us-east-2.rds.amazonaws.com:5432/sonarqube?currentSchema=public

I had been using an encrypted password, but thought maybe I was doing something wrong with md5 so made a new user.