Amazon Aurora DSQLの認証トークンを利用してDBeaverからアクセスしてみた
こんにちは!製造ビジネステクノロジー部の小林です。
Amazon Aurora DSQLは、VPC を意識しなくても利用できるサーバーレス分散SQLデータベースです。
Aurora DSQLは従来のAuroraと同様に、PostgreSQLプロトコルを使用してSQLクライアントから接続することができます。ただし、接続時には通常のパスワードではなく、IAM認証トークンをパスワードとして使用する必要があります。
今回は認証トークンを生成して、SQLクライアントツールであるDBeaverからAurora DSQLに接続する方法を検証してみました。
やってみた
Aurora DSQL構築
AWS CDKでAurora DSQLを構築します。CDK構築の詳細は以下の記事をご参照ください。
構築後のコンソール画面を確認すると、パブリックエンドポイントが作成されていることがわかります。このエンドポイントにDBeaverから接続していきます。
DBeaverのインストール
以下のURLからDBeaverをダウンロードします。今回はMacOS for Apple Silicon (dmg)を使用します。ビーバーのアイコンがとても可愛いですね!
インストール後、起動するとこのような画面が表示されます。
認証トークンの生成
DBeaverからAurora DSQLに接続するための認証トークンを生成します。今回は管理者(admin)でトークンを生成します。
重要: トークンは15分で有効期限が切れるため、期限切れの場合は再取得が必要です。
以上でトークンの生成は完了です。
DBeaverからAurora DSQLに接続する
DBeaverで新しいデータベース接続を作成します。
検索メニューからPostgreSQLを選択します。
「一般」タブで以下の設定を行います。
- Host: Aurora DSQLのエンドポイント
- Port: 5432(デフォルト)
- Database: postgres
- ユーザー名: admin(※postgresではなくadmin)
- パスワード: 先ほど生成した認証トークン
上記の内容を入力できたら「終了」をクリックします。
接続が成功すると、画面左のデータベースナビゲータにAurora DSQLの接続が追加され、データベース情報が表示されます。
左端の矢印をクリックすると、スキーマやテーブルなどの詳細な接続情報を確認できます。
トラブルシュート
以下のようなエラーが表示された場合の対処法をご紹介します。
考えられる原因:
- 認証トークンの期限切れ(15分で期限切れ)
- ユーザー名の間違い
- エンドポイントの入力ミス
上記原因を参考に修正を行ってみてください。
動作確認
実際にSQLを実行して、Aurora DSQLが正常に動作するか確認してみましょう。
スキーマの作成
exampleスキーマを作成します。
# exampleスキーマを作成
CREATE SCHEMA example;
作成したスキーマの確認
作成したスキーマが正常に作成されているか確認します。
# スキーマ一覧を表示
SELECT schema_name
FROM information_schema.schemata
ORDER BY schema_name;
exampleスキーマが作成されていることが確認できました!
おわりに
今回は、Aurora DSQLの認証トークンを利用してDBeaverからアクセスする方法を検証しました。DBeaverはSQLクライアントで人気なツールですが、Aurora DSQLでも問題なく利用できることが確認できました。従来のPostgreSQLツールがそのまま使えるのは、Aurora DSQLの大きなメリットの一つですね!この記事がどなたかのお役に立てば幸いです。