学习SQL Workbench/J和RDS连接到RDS+SSL
SQL Workbench/J + (Redshift / RDS)
SQL Workbench/J是AWS推荐的Java程序,用于连接Redshift,,要点如下(步骤是假设你使用的是MacOS,Linux的说明应该真的类似)。
- 下载证书。
- 将证书导入你的钥匙库,如:
keytool -keystore ${JAVA_HOME}/lib/security/cacerts -import -alias redshift -file <file.pem>;按照提示,确保你使用默认密码changeit。 - 更新你的
sqlworkbench.sh,添加所需的java参数以正确加载新的存储,类似这样。
exec $JAVACMD \
-Djavax.net.ssl.trustStore=$JAVA_HOME/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit \
-Dvisualvm.display.name=SQLWorkbench -Xmx1024m -cp $cp workbench.WbStarter $@
另外,不要忘记在你的连接字符串中添加ssl=true ,这样就可以了。
请注意这是最好的情况,我总是喜欢从手动下载页面下载tar.gz,然后手动更新PATH 到用户文件夹,在其他情况下,当使用安装程序时,你将需要做更多的事情来完成你刚读到的内容。
对于微软的Windows来说,事情要简单一些,但是在修改cacerts 文件时,你仍然要考虑权限。
RDS
与SQL Workbench/J类似,连接到RDS+SSL需要
- 下载证书
- 将你的连接字符串更新为。
- 使用证书
- 强制使用
sslmode
在实际应用中,这意味着修改你的连接字符串,在Rails中,你可以通过修改config/database.yml ,在PostreSQL中添加以下内容就可以了。
sslrootcert: /path/to/rds-combined-ca-bundle.pem
sslmode: require
对于MySQL也是如此。
sslca: /path/to/rds-combined-ca-bundle.pem
sslmode: 'REQUIRED'