タダです.
Aurora Serverless V2 が今年の4月にリリースされました.Aurora Serveless V2 を使う機会があり,IAM 認証での接続を試したのでこの記事にまとめていきます.
Aurora Severless V2 で IAM 認証 を行う方法
Aurora Severless V2 で IAM 認証を行うための方法を整理していきます.まず Aurora Serverless V2 の IAM 認証を有効化します.
次に下記のような IAM ポリシーを作成します.これを接続するクライアントになる AWS サービス(EC2 等)の IAM ロールにアタッチしておきます.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:[リージョン名]:[アカウント番号]:dbuser:[クラスター ID][DB ユーザー名]", ] } ] }
DB ユーザーの作成と権限設定
Aurora Serverless V2 の DB でユーザーや DB への権限付与などを行えば準備完了です.
CREATE USER [DB ユーザー名] IDENTIFIED WITH AWSAuthenticationPlugin as 'RDS'; CREATE DATABASE [データベース名]; GRANT [必要な権限] ON [データベース名].* TO '[DB ユーザ名]'@'%';
参考情報
EC2 から Aurora Serveless V2 へ接続
EC2 から Aurora Serveless V2 へ IAM 認証接続にはトークンが必要で generate-db-auth-token
を使います.下記のようなコマンドで接続ができました.
mysql -h [Aurora Serveless V2 エンドポイント] -u [DB ユーザー名] -p`aws rds generate-db-auth-token --hostname [Aurora Serveless V2 エンドポイント] --port 3306 --username [DB ユーザ名] --region ap-northeast-1` --enable-cleartext-plugin
参考情報
まとめ
Aurora Serverless V2 で IAM 認証を試したのでその模様をまとめました.IAM ポリシーの設定で誤りハマっちゃったのですが,接続できてよかったです.