このトピックでは、ApsaraDB RDS for PostgreSQLインスタンスに接続する方法について説明します。 たとえば、データ管理 (DMS) 、PostgreSQL CLI、pgAdmin、アプリケーション、またはサードパーティのレポートツールを使用してRDSインスタンスに接続できます。
前提条件
RDSインスタンスが作成されました。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスの作成」をご参照ください。
RDSインスタンスにデータベースが作成され、そのデータベースのアカウントが作成されます。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスでのデータベースとアカウントの作成」をご参照ください。
RDSインスタンスにIPアドレスホワイトリストが設定されています。 これにより、ECS (Elastic Compute Service) インスタンスまたはクライアントがデプロイされているオンプレミスデバイスからRDSインスタンスに接続できます。 詳細については、「IPアドレスホワイトリストの設定」をご参照ください。
内部ネットワークを介してECSインスタンスをRDSインスタンスに接続する場合は、これらのインスタンスが同じ仮想プライベートクラウド (VPC) に存在し、ECSインスタンスのプライベートIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認します。
オンプレミスデバイスをRDSインスタンスに接続する場合は、オンプレミスデバイスのパブリックIPアドレスがRDSインスタンスのIPアドレスホワイトリストに追加されていることを確認してください。
手順
DMSを使用したRDSインスタンスへの接続
DMSは、データ管理、スキーマ管理、サーバー管理、ユーザー認証、セキュリティ監査、トレンド分析、データ追跡、ビジネスインテリジェンス (BI) レポート、パフォーマンス分析と最適化をサポートする統合ソリューションを提供します。 DMSの詳細については、「DMSの概要」をご参照ください。
- [インスタンス] ページへ移動します。 上部のナビゲーションバーで、RDSインスタンスが存在するリージョンを選択します。 次に、RDSインスタンスを見つけ、インスタンスのIDをクリックします。
[基本情報] ページで、[データベースにログイン] をクリックします。
DMSコンソールの [データベースインスタンスにログイン] ダイアログボックスで、ログインに使用するアカウントのユーザー名とパスワードを入力し、[ログイン] をクリックします。
説明ログインに使用されるアカウントには、必要なデータベースに対する権限が必要です。 それ以外の場合、必要なデータベースは左側のナビゲーションウィンドウに表示されません。
ページを最新の情報に更新します。 DMSコンソールの左側のナビゲーションウィンドウで、[インスタンスの接続] をクリックして、RDSインスタンス用に作成されたデータベースを表示します。
DMSコンソールに直接ログインし、RDSインスタンスをDMSに追加できます。 次に、DMSコンソールでRDSインスタンスの指定されたデータベースに切り替えることができます。 詳細については、「ApsaraDBインスタンスの登録」をご参照ください。
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インスタンスにアカウントを作成する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスにデータベースとアカウントを作成する」をご参照ください。
Password
[保存] をクリックします。
入力した情報が正しい場合、次の図に示すページが表示され、RDSインスタンスへの接続が成功したことが示されます。
重要postgresデータベースはデフォルトのシステムデータベースです。 postgresデータベースに対して操作を実行しないでください。
PostgreSQL CLIを使用してRDSインスタンスに接続する
PostgreSQL公式WebサイトからPostgreSQLソフトウェアパッケージをダウンロードしてPostgreSQLをインストールすると、コマンドラインツールという名前のPostgreSQL CLIが自動的にダウンロードされてインストールされます。
PostgreSQL CLIで次のコマンドを実行して、RDSインスタンスに接続します。
psql -h <エンドポイント> -U <ユーザー名> -p <ポート> [-d <データベース名>]
パラメーター | 説明 |
Endpoint | RDSインスタンスへの接続に使用されるエンドポイントとポート。
上記の情報は、RDSインスタンスの [データベース接続] ページで確認できます。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのエンドポイントとポート番号の表示と変更」をご参照ください。 |
ポート | |
ユーザー名 | RDSインスタンスのアカウント。 RDSインスタンスにアカウントを作成する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスにデータベースとアカウントを作成する」をご参照ください。 |
データベース名 | RDSインスタンスに接続するデータベースの名前。 このパラメーターはオプションです。 postgresという名前のデータベースは、デフォルトのシステムデータベースです。 postgresデータベースに対して操作を実行しないでください。 RDSインスタンスの別の既存のデータベースを使用することを推奨します。 RDSインスタンスでデータベースを作成および表示する方法の詳細については、「データベースの作成」をご参照ください。 |
アプリケーションを使用してRDSインスタンスに接続する
このセクションでは、Java Database Connectivity (JDBC) 接続が、RDSインスタンスに接続されるようにMavenプロジェクトで構成されています。 別のプログラミング言語を使用してRDSインスタンスに接続する場合、手順は同様です。
pom.xmlファイルに依存関係を追加します。
<dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> <version>8.2-504.jdbc3</version> </dependency>
JDBCを使用してRDSインスタンスに接続します。
パブリッククラスDatabaseConnection { public static void main( String[] args ){ try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } // RDSインスタンスのエンドポイント 文字列ホスト名="pgm-bp1i3kkq7321o9 **** .pg.rds.aliyuncs.com"; // RDSインスタンスのポート番号 int port = 5432; // データベース名 文字列dbname = "postgres"; // ユーザー名 文字列username = "username"; // パスワード String password = "password"; String dbUrl = "jdbc:postgresql://" + hostname + ":" + port + "/" + dbname + "?binaryTransfer=true"; 接続dbConnection; try { dbConnection = DriverManager.getConnection(dbUrl、ユーザー名、パスワード); ステートメントステートメント=dbConnection.createStatement(); // 実行するSQL文 文字列selectSql = "SELECT * FROM information_schema.sql_features LIMIT 10"; ResultSet resultSet = statement.exe cuteQuery(selectSql); while (resultSet.next()) { System.out.println(resultSet.getString("feature_name")); } } catch (SQLException e) { 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デスクトップを起動します。
上部のナビゲーションバーで、[ホーム] タブをクリックし、
を選択します。[データの取得] ダイアログボックスで、
を選択し、[接続] をクリックします。[PostgreSQLデータベース] ダイアログボックスで、[サーバー] パラメーターと [データベース] パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
サーバー
RDSインスタンスのエンドポイントとポート。
値の形式は
Endpoint:Port number
です。内部ネットワーク経由でRDSインスタンスに接続する場合は、RDSインスタンスの内部エンドポイントと内部ポートを入力します。
インターネット経由でRDSインスタンスに接続する場合は、RDSインスタンスのパブリックエンドポイントとパブリックポートを入力します。
上記の情報は、RDSインスタンスの [データベース接続] ページで確認できます。
詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのエンドポイントとポート番号の表示と変更」をご参照ください。
データベース
RDSインスタンスに接続するデータベースの名前。 postgresという名前のデータベースは、デフォルトのシステムデータベースです。 postgresデータベースに対して操作を実行しないでください。 RDSインスタンスの別の既存のデータベースを使用することを推奨します。
RDSインスタンスでデータベースを作成および表示する方法の詳細については、「データベースの作成」をご参照ください。
[ユーザー名] と [パスワード] パラメーターを設定し、[接続] をクリックします。 これらのパラメーターをRDSインスタンスのユーザー名とパスワードに設定する必要があります。
説明RDSインスタンスにアカウントを作成する方法の詳細については、「ApsaraDB RDS For PostgreSQLインスタンスにデータベースとアカウントを作成する」をご参照ください。
[暗号化サポート] ダイアログボックスで、[OK] をクリックします。
[ナビゲーター] ウィンドウで、データベース内のテーブルに関する情報を表示します。 必要なテーブルを選択し、ビジネス要件に基づいて [ロード] または [データの変換] をクリックします。
SSL接続を介したRDSインスタンスへの接続
RDSインスタンスのSSL暗号化を設定できます。 SSL暗号化は、RDSインスタンスへの接続を暗号化し、接続を介して送信されるデータを保護するために使用されます。 詳細については、「SSL接続を介したApsaraDB RDS For PostgreSQLインスタンスへの接続」をご参照ください。
よくある質問
Function Computeを使用してRDSインスタンスからデータを取得するにはどうすればよいですか。
Function Computeにサードパーティの依存関係をインストールできます。 次に、これらの組み込み依存関係を使用して、ApsaraDB RDSからデータを取得できます。 詳細については、「サードパーティの依存関係のインストール」をご参照ください。