PostgreSQL 互換クライアントを使用した Aurora DSQL へのアクセス
Aurora DSQL は PostgreSQL ワイヤプロトコル
| PostgreSQL | Aurora DSQL | 注意事項 |
|---|---|---|
| ロール (ユーザーまたはグループとも呼ばれます) | データベースロール | Aurora DSQL は、admin という名前のロールを作成します。カスタムデータベースロールを作成する場合は、admin ロールを使用して、それをクラスターへの接続時の認証に使用する IAM ロールに関連付ける必要があります。詳細については、「カスタムデータベースロールを設定する」を参照してください。 |
| ホスト (hostname または hostspec とも呼ばれます) | クラスターエンドポイント | Aurora DSQL の単一リージョンクラスターは、単一のマネージドエンドポイントを提供し、リージョン内で利用できない場合はトラフィックを自動的にリダイレクトします。 |
| ポート | 該当なし - デフォルトの 5432 を使用 |
これは PostgreSQL のデフォルトです。 |
| データベース (dbname) | postgres を使用 |
Aurora DSQL は、クラスターの作成時にこのデータベースを作成します。 |
| SSL モード | SSL は常にサーバー側で有効 | Aurora DSQL では、Aurora DSQL は require SSL モードをサポートしています。SSL を使用しない接続は Aurora DSQL によって拒否されます。 |
| パスワード | 認証トークン | Aurora DSQL には、存続期間の長いパスワードの代わりに一時的な認証トークンが必要です。詳細については「Amazon Aurora DSQL での認証トークンの生成」を参照してください。 |
接続する場合、Aurora DSQL は従来のパスワードの代わりに署名付き IAM 認証トークンを必要とします。これらの一時トークンは AWS 署名バージョン 4 を使用して生成され、接続確立中のみ使用されます。接続すると、セッションが終了するかクライアントが切断されるまで、セッションはアクティブのままになります。
期限切れのトークンを使用して新しいセッションを開こうとすると、接続リクエストは失敗し、新しいトークンを生成する必要があります。詳細については、「Amazon Aurora DSQL での認証トークンの生成」を参照してください。
SQL クライアントを使用した Aurora DSQL へのアクセス
Aurora DSQL は、クラスターに接続するための複数の PostgreSQL 互換クライアントをサポートしています。以下のセクションでは、PostgreSQL を使用して AWS CloudShell またはローカルコマンドラインに接続する方法と、DBeaver や JetBrains DataGrip などの GUI ベースのツールについて説明します。各クライアントには、前のセクションで説明した有効な認証トークンが必要です。
トピック
psql (PostgreSQL インタラクティブターミナル) を使用した Aurora DSQL へのアクセス
AWS CloudShell から PostgreSQL インタラクティブターミナルを使用して Aurora DSQL にアクセスするには、次の手順に従います。詳細については、「AWS CloudShell とは」を参照してください。
AWS CloudShell を使用して接続するには
-
Aurora DSQL コンソール
にサインインします。 -
CloudShell で開くクラスターを選択します。クラスターをまだ作成していない場合は、「ステップ 1: Aurora DSQL 単一リージョンクラスターを作成する」または「マルチリージョンクラスターを作成する」の手順に従います。
-
[クエリエディタと接続] を選択し、[CloudShell で接続] を選択します。
-
admin として接続するか、カスタムデータベースロールを使用して接続するかを選択します。
-
[CloudShell で起動] を選択し、次の CloudShell ダイアログで [実行] を選択します。
ローカル CLI を使用して PostgreSQL インタラクティブターミナル (psql) で Aurora DSQL にアクセスする
PostgreSQL ユーティリティへのターミナルベースのフロントエンドである psql を使用して、クエリをインタラクティブに入力し、PostgreSQL に発行して、クエリ結果を表示します。
注記
クエリの応答時間を改善するには、PostgreSQL バージョン 17 クライアントを使用します。CLI を別の環境で使用する場合は、Python バージョン 3.8 以降と psql バージョン 14 以降を手動で設定してください。
PostgreSQL のダウンロードpsql の詳細については、PostgreSQL ウェブサイト
AWS CLI が既にインストールされている場合は、次の例を使用してクラスターに接続します。
# Aurora DSQL requires a valid IAM token as the password when connecting. # Aurora DSQL provides tools for this and here we're using Python. export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token \ --regionus-east-1\ --expires-in 3600 \ --hostnameyour_cluster_endpoint) # Aurora DSQL requires SSL and will reject your connection without it. export PGSSLMODE=require # Connect with psql, which automatically uses the values set in PGPASSWORD and PGSSLMODE. # Quiet mode suppresses unnecessary warnings and chatty responses but still outputs errors. psql --quiet \ --username admin \ --dbname postgres \ --hostyour_cluster_endpoint
DBeaver を使用して Aurora DSQL にアクセスする
DBeaver は、JDBC ドライバーを持つデータベースを管理するために使用できるユニバーサル SQL クライアントです。堅牢なデータ表示、編集、管理の機能を備えているため、開発者やデータベース管理者の間で広く使用されています。DBeaver のクラウド接続オプションを使用すると、DBeaver を Aurora DSQL にネイティブ接続できます。
DBeaver PRO 製品 (DBeaver Ultimate
無料のオープンソースバージョンである DBeaver Community Edition を含む、別の DBeaver バージョンを使用している場合は、ダウンロードページ
DBeaver で新しい Aurora DSQL 接続を設定するには
-
[新しいデータベース接続] を選択します。
-
[新しいデータベース接続] ウィンドウで、[PostgreSQL] を選択します。
-
[接続の設定/メイン] タブで、[接続方法: ホスト] を選択し、次の情報を入力します。
-
ホスト - クラスターエンドポイントを使用します。
データベース –
postgresと入力します。認証 -
Database Nativeを選択します。ユーザー名 -
adminと入力します。パスワード - 認証トークンを生成します。生成されたトークンをコピーし、パスワードとして使用します。
-
-
警告が表示された場合は無視し、認証トークンを [DBeaver Password] フィールドに貼り付けます。
注記
クライアント接続で SSL モードを設定する必要があります。Aurora DSQL は
PGSSLMODE=require and PGSSLMODE=verify-fullをサポートしています。Aurora DSQL はサーバー側で SSL 通信を強制し、SSL 以外の接続を拒否します。verify-fullオプションでは、SSL 証明書をローカルにインストールする必要があります。詳細については、「SSL/TLS 証明書」を参照してください。 -
クラスターに接続し、SQL ステートメントの実行を開始できます。
重要
DBeaver が PostgreSQL データベース向けに提供する管理機能 (Session Manager や Lock Manager など) は、独自のアーキテクチャのため、Aurora DSQL データベースには適用されません。これらの画面はアクセス可能ですが、データベースのヘルスやステータスに関する信頼できる情報を提供しません。
Aurora DSQL へのアクセスに JetBrains DataGrip を使用する
JetBrains DataGrip は、PostgreSQL を含む SQL とデータベースを操作するためのクロスプラットフォーム IDE です。DataGrip には、インテリジェントな SQL エディタを備えた堅牢な GUI が搭載されています。DataGrip をダウンロードするには、JetBrains ウェブサイトの「ダウンロードページ
JetBrains DataGrip で新しい Aurora DSQL 接続を設定するには
-
[新しいデータソース] を選択し、[PostgreSQL] を選択します。
-
[データソース/全般] タブに、次の情報を入力します。
-
ホスト - クラスターエンドポイントを使用します。
ポート - Aurora DSQL は PostgreSQL のデフォルトを使用します:
5432データベース - Aurora DSQL は PostgreSQL のデフォルトの
postgresを使用します。認証 -
User & Passwordを選択します。ユーザー名 -
adminと入力します。パスワード - トークンを生成し、このフィールドに貼り付けます。
URL - このフィールドは変更しないでください。他のフィールドに基づいて自動的に入力されます。
-
-
パスワード - 認証トークンを生成してこれを指定します。トークンジェネレーターの結果出力をコピーし、[パスワード] フィールドに貼り付けます。
注記
クライアント接続で SSL モードを設定する必要があります。Aurora DSQL は
PGSSLMODE=require and PGSSLMODE=verify-fullをサポートしています。Aurora DSQL はサーバー側で SSL 通信を強制し、SSL 以外の接続を拒否します。verify-fullオプションでは、SSL 証明書をローカルにインストールする必要があります。詳細については、「SSL/TLS 証明書」を参照してください。 -
クラスターに接続し、SQL ステートメントの実行を開始できます。
重要
DataGrip が PostgreSQL データベース向けに提供する一部のビュー (Sessions など) は、独自のアーキテクチャのため、Aurora DSQL データベースには適用されません。これらはアクセス可能ですが、データベースに接続されている実際のセッションに関する信頼できる情報は提供されません。
トラブルシューティング
SQL クライアントの認証情報の有効期限
確立されたセッションは、最大 1 時間、または明示的な切断またはクライアント側のタイムアウトが発生するまで認証されたままになります。新しい接続を確立する必要がある場合は、新しい認証トークンを生成し、接続の [パスワード] フィールドに指定する必要があります。新しいセッションを開こうとすると (例えば、新しいテーブルを一覧表示したり、新しい SQL コンソールを開いたりする場合)、新しい認証が強制的に試行されます。[接続] 設定で設定された認証トークンが無効になった場合、その新しいセッションは失敗し、以前に開かれたすべてのセッションは無効になります。expires-in オプションで IAM 認証トークンの有効期間を選択する際は、デフォルトで 15 分に設定可能であり、最大 7 日間まで設定できる点に留意してください。
さらに、Aurora DSQL ドキュメントの「トラブルシューティング」セクションを参照してください。