ApsaraDB RDS for PostgreSQL インスタンスを作成し、アカウントの作成や IP アドレスホワイトリストの構成など、必要な構成を完了すると、データ管理 (DMS)、pgAdmin クライアント、PostgreSQL CLI、またはアプリケーションを使用して RDS インスタンスに接続できます。このトピックでは、これらの接続方法を使用して RDS インスタンスに接続する方法について説明します。
前提条件
RDS インスタンスが作成されていること。詳細については、「ApsaraDB RDS for PostgreSQL インスタンスを作成する」をご参照ください。
RDS インスタンスにデータベースが作成され、データベースのアカウントが作成されていること。詳細については、「データベースとアカウントを作成する」をご参照ください。
RDS インスタンスに IP アドレスホワイトリストが構成されていること。これにより、クライアントがデプロイされている Elastic Compute Service (ECS) インスタンスまたはオンプレミスデバイスから RDS インスタンスに接続できます。詳細については、「IP アドレスホワイトリストを構成する」をご参照ください。
内部ネットワーク経由で ECS インスタンスを RDS インスタンスに接続する場合は、これらのインスタンスが同じリージョンにデプロイされ、同じ Alibaba Cloud アカウントによって作成された同じ仮想プライベートクラウド (VPC) に存在することを確認してください。さらに、ECS インスタンスのプライベート IP アドレスを RDS インスタンスの IP アドレスホワイトリストに追加する必要があります。
オンプレミスデバイスを RDS インスタンスに接続する場合は、オンプレミスデバイスのパブリック IP アドレスが RDS インスタンスの IP アドレスホワイトリストに追加されていることを確認してください。
手順
DMS を使用して RDS インスタンスに接続する
DMS は、データ管理、スキーマ管理、サーバー管理、ユーザー権限付与、セキュリティ監査、トレンド分析、データ追跡、ビジネスインテリジェンス (BI) レポート、およびパフォーマンス分析と最適化をサポートする統合ソリューションを提供します。詳細については、「DMS とは」をご参照ください。
ApsaraDB RDS コンソールにログインし、[インスタンス] ページに移動します。上部のナビゲーションバーで、RDS インスタンスが存在するリージョンを選択します。次に、RDS インスタンスを見つけ、インスタンス ID をクリックします。
[基本情報] ページで、[データベースにログイン] をクリックします。

DMS コンソールの [データベースインスタンスにログイン] ダイアログボックスで、ログインに使用するアカウントのユーザー名とパスワードを入力し、[ログイン] をクリックします。
説明ログインに使用するアカウントは、必要なデータベースに対する権限を持っている必要があります。そうでない場合、必要なデータベースは左側のナビゲーションウィンドウに表示されません。

ページを更新します。DMS コンソールの左側のナビゲーションウィンドウで、[接続済みインスタンス] をクリックして、RDS インスタンスに作成されたデータベースを表示します。
DMS コンソールでは、必要なデータベースをダブルクリックしてデータベースを切り替えることのみができます。
USEコマンドを実行してデータベースを切り替えることはできません。必要なインスタンスは表示されますが、必要なデータベースが見つかりません。考えられる原因は次のとおりです。
ログインアカウントに必要なデータベースにアクセスするための権限がありません。この場合は、必要な権限を持つアカウントを使用する必要があります。
メタデータが同期されていません。この場合は、必要なデータベースが属するインスタンスにポインターを移動し、インスタンス名の右側にある
アイコンをクリックして、必要なデータベースのデータベースリストを更新して表示する必要があります。
データベース内のデータベースとテーブルのスキーマをすばやく同期する場合は、DMS の 空のデータベース初期化 機能を使用できます。

DMS コンソールに直接ログインし、RDS インスタンスを DMS に追加することもできます。次に、DMS コンソールで RDS インスタンスの指定されたデータベースに切り替えることができます。詳細については、「Alibaba Cloud データベースインスタンスを登録する」をご参照ください。
アカウントのパスワードをリセットした後、DMS に再度ログインする必要があります。
pgAdmin を使用して RDS インスタンスに接続する
pgAdmin は、RDS インスタンスへの接続に使用できる推奨 PostgreSQL クライアントです。PostgreSQL 公式 Web サイト から PostgreSQL ソフトウェアパッケージをダウンロードして PostgreSQL をインストールすると、[pgAdmin 4] が自動的にダウンロードおよびインストールされます。次のセクションでは、pgAdmin 4 V6.2.0 を使用して RDS インスタンスに接続する方法の例を示します。
PostgreSQL をインストールしたくない場合は、リモート接続用に [pgAdmin] のみダウンロードできます。
[pgAdmin 4] を起動します。
説明新しいバージョンの pgAdmin に初めてログインする場合は、保存されたパスワードやその他の資格情報を保護するために使用するマスターパスワードを指定する必要があります。
[サーバー] を右クリックし、 を選択します。

[サーバーの登録] ダイアログボックスの [全般] タブで、pgAdmin がインストールされているサーバーの名前を入力します。

[接続] タブをクリックします。次に、RDS インスタンスへの接続に使用するパラメーターを構成します。

パラメーター
説明
[ホスト名/アドレス]
RDS インスタンスへの接続に使用するエンドポイントとポート。
内部ネットワーク経由で RDS インスタンスに接続する場合は、RDS インスタンスの内部エンドポイントと内部ポートを入力します。
インターネット経由で RDS インスタンスに接続する場合は、RDS インスタンスのパブリックエンドポイントとパブリックポートを入力します。
上記の情報は、RDS インスタンスの [データベース接続] ページで確認できます。
詳細については、「ApsaraDB RDS for PostgreSQL インスタンスのエンドポイントとポート番号を表示および変更する」をご参照ください。
[ポート]
[ユーザー名]
RDS インスタンスにログインするために使用するユーザー名とパスワード。
RDS インスタンスでアカウントを作成する方法の詳細については、「データベースとアカウントを作成する」をご参照ください。
[パスワード]
[保存] をクリックします。
入力した情報が正しい場合、次の図に示すページが表示され、RDS インスタンスへの接続が成功したことを示します。
重要postgres データベースはデフォルトのシステムデータベースです。 postgres データベースでは操作を実行しないでください。
PostgreSQL CLI を使用して RDS インスタンスに接続する
PostgreSQL 公式 Web サイト から PostgreSQL ソフトウェアパッケージをダウンロードして PostgreSQL をインストールすると、[コマンドラインツールという名前の PostgreSQL CLI] が自動的にダウンロードおよびインストールされます。
PostgreSQL CLI で次のコマンドを実行して、RDS インスタンスに接続します。
psql -h <Endpoint> -U <Username> -p <Port> [-d <Database name>]
パラメーター | 説明 |
エンドポイント | RDS インスタンスへの接続に使用するエンドポイントとポート。
上記の情報は、RDS インスタンスの [データベース接続] ページで確認できます。 詳細については、「ApsaraDB RDS for PostgreSQL インスタンスのエンドポイントとポート番号を表示および変更する」をご参照ください。 |
[ポート] | |
[ユーザー名] | RDS インスタンスのアカウント。 RDS インスタンスでアカウントを作成する方法の詳細については、「データベースとアカウントを作成する」をご参照ください。 |
[データベース名] | RDS インスタンスで接続するデータベースの名前。このパラメーターはオプションです。 postgres という名前のデータベースは、デフォルトのシステムデータベースです。 postgres データベースでは操作を実行しないでください。 RDS インスタンスの別の既存のデータベースを使用することをお勧めします。 RDS インスタンスでデータベースを作成および表示する方法の詳細については、「データベースを作成する」をご参照ください。 |
アプリケーションを使用して RDS インスタンスに接続する
このセクションでは、RDS インスタンスに接続するために、Maven プロジェクトで Java Database Connectivity (JDBC) 接続が構成されています。別のプログラミング言語を使用して RDS インスタンスに接続する場合も、手順は同様です。
pom.xml ファイルに依存関係を追加します。
<dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.2-504.jdbc3</version> </dependency>JDBC を使用して RDS インスタンスに接続します。
public class DatabaseConnection { public static void main( String[] args ){ try { // PostgreSQL JDBC ドライバーのロード Class.forName("org.postgresql.Driver"); // ドライバークラスを明示的にロード } catch (ClassNotFoundException e) { // ドライバークラスが見つからない場合の例外処理 e.printStackTrace(); // エラーメッセージを出力 } // RDS インスタンスのエンドポイント String hostname = "pgm-bp1i3kkq7321o9****.pg.rds.aliyuncs.com"; // RDS インスタンスのポート番号 int port = 5432; // データベース名 String dbname = "postgres"; // ユーザー名 String username = "username"; // パスワード String password = "password"; // JDBC 接続 URL の作成。binaryTransfer=true を追加してバイナリデータ転送を有効にする String dbUrl = "jdbc:postgresql://" + hostname + ":" + port + "/" + dbname + "?binaryTransfer=true"; Connection dbConnection; try { // データベースへの接続 dbConnection = DriverManager.getConnection(dbUrl, username, password); Statement statement = dbConnection.createStatement(); // 実行する SQL 文 String selectSql = "SELECT * FROM information_schema.sql_features LIMIT 10"; ResultSet resultSet = statement.executeQuery(selectSql); while (resultSet.next()) { System.out.println(resultSet.getString("feature_name")); } } catch (SQLException e) { // SQL 例外が発生した場合の例外処理 e.printStackTrace(); // エラーメッセージを出力 } } }
サードパーティのレポートツールを使用して RDS インスタンスに接続する
ApsaraDB RDS for PostgreSQL では、サードパーティのレポートツールを使用してデータを取得、クレンジング、視覚化し、データに基づいてモデルを作成できます。これはデータ分析を容易にします。このセクションでは、Microsoft が提供する Power BI Desktop を使用して RDS インスタンスに接続する方法の例を示します。この例では、Power BI Desktop 2.112.1161.0 64 ビット を使用します。
Power BI Desktop をダウンロードしてインストールします。ダウンロード方法の詳細については、「Power BI Desktop を入手する」をご参照ください。
Power BI Desktop を起動します。
上部のナビゲーションバーで、[ホーム] タブをクリックし、 を選択します。

[データの取得] ダイアログボックスで、 を選択し、[接続] をクリックします。

[PostgreSQL データベース] ダイアログボックスで、[サーバー] パラメーターと [データベース] パラメーターを構成し、[OK] をクリックします。

パラメーター
説明
サーバー
RDS インスタンスのエンドポイントとポート。
値の形式は
エンドポイント:ポート番号です。内部ネットワーク経由で RDS インスタンスに接続する場合は、RDS インスタンスの内部エンドポイントと内部ポートを入力します。
インターネット経由で RDS インスタンスに接続する場合は、RDS インスタンスのパブリックエンドポイントとパブリックポートを入力します。
上記の情報は、RDS インスタンスの [データベース接続] ページで確認できます。
詳細については、「ApsaraDB RDS for PostgreSQL インスタンスのエンドポイントとポート番号を表示および変更する」をご参照ください。
[データベース]
RDS インスタンスで接続するデータベースの名前。 postgres という名前のデータベースは、デフォルトのシステムデータベースです。 postgres データベースでは操作を実行しないでください。 RDS インスタンスの別の既存のデータベースを使用することをお勧めします。
RDS インスタンスでデータベースを作成および表示する方法の詳細については、「データベースを作成する」をご参照ください。
[ユーザー名] パラメーターと [パスワード] パラメーターを構成し、[接続] をクリックします。
これらのパラメーターは、RDS インスタンスのユーザー名とパスワードに設定する必要があります。説明RDS インスタンスでアカウントを作成する方法の詳細については、「データベースとアカウントを作成する」をご参照ください。
[暗号化サポート] ダイアログボックスで、[OK] をクリックします。

[ナビゲーター] ウィンドウで、データベース内のテーブルに関する情報を表示します。必要なテーブルを選択し、ビジネス要件に基づいて [ロード] または [データの変換] をクリックできます。

SSL 接続経由で RDS インスタンスに接続する
RDS インスタンスに SSL 暗号化を構成できます。 SSL 暗号化は、RDS インスタンスへの接続を暗号化し、接続経由で送信されるデータを保護するために使用されます。詳細については、「SSL 経由で ApsaraDB RDS for PostgreSQL インスタンスに接続する」をご参照ください。
FAQ
別のリージョンにデプロイされているか、別の Alibaba Cloud アカウントが所有する ECS インスタンスから RDS インスタンスに接続するにはどうすればよいですか。
次のいずれかの方法を使用して、RDS インスタンスに接続できます。
VPC ピアリング接続 を使用して、同じリージョンまたは異なるリージョンにある 2 つの VPC 間のプライベートネットワーク接続を確立します。同じリージョン内の VPC 間のピアリング接続は無料です。
Cloud Enterprise Network (CEN) を使用して、内部ネットワーク経由で RDS インスタンスに接続します。詳細については、「同じリージョン内の VPC を接続する」、「異なるリージョン内の VPC を接続する」、および「異なるアカウントの VPC を接続する」をご参照ください。
Function Compute を使用して RDS インスタンスからデータを取得するにはどうすればよいですか。
Function Compute にサードパーティの依存関係をインストールできます。次に、これらの組み込みの依存関係を使用して、ApsaraDB RDS からデータを取得できます。詳細については、「サードパーティの依存関係をインストールする」をご参照ください。