Amazon AuroraとmysqlはIAM認証によってdbに接続することができます。が、設定がなかなかにシビアです。
解
証明書のinstall
$ wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem -P ~/.ssh/
- IAM policyの設定 はここを参考に
接続
$ mysql -u iam_user -h iamtest.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com \
--enable-cleartext-plugin \
-p`aws rds generate-db-auth-token --hostname iamtest.xxxxxxxxxxxx.ap-
northeast-1.rds.amazonaws.com \
--port 3306 \
--username iam_user \
--region ap-northeast-1` \
--ssl-ca=~/.ssh/rds-combined-ca-bundle.pem \
--ssl-verify-server-cert
ハマりポイント
- IAM policyの設定 を精読しましょう。rds-db:と末尾の/user名に注意
- 設定に問題がある場合
ERROR 1045 (28000): Access denied for user 'iam_user'@'<ip>' (using password: YES)
としか言わない