継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

Aurora Serverless に IAM 認証で接続を試した

タダです.

Aurora Serverless V2 が今年の4月にリリースされました.Aurora Serveless V2 を使う機会があり,IAM 認証での接続を試したのでこの記事にまとめていきます.

aws.amazon.com

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 ユーザ名]'@'%';

参考情報

aws.amazon.com

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 

参考情報

docs.aws.amazon.com

まとめ

Aurora Serverless V2 で IAM 認証を試したのでその模様をまとめました.IAM ポリシーの設定で誤りハマっちゃったのですが,接続できてよかったです.