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 から RDS インスタンスに接続するために使用される方法。この例では、[アカウント + パスワードログイン] が使用されます。
[セキュリティホスティング - 自動 (推奨)] または [KMS シークレットでログイン] を使用して DMS から RDS インスタンスに接続する場合、DMS は RDS インスタンスの セキュリティホスティング を自動的に有効にします。これにより、RDS インスタンスの [ログイン不要] モードが有効になります。
セキュリティホスティング - 自動 (推奨): DMS は RDS インスタンスのセキュリティホスティングを自動的に有効にし、DMS にログインするためのデータベースアカウントを作成します。
アカウント + パスワードログイン: ログインに必要なデータベースに対する権限を持つデータベースアカウントを使用する必要があります。
KMS シークレットでログイン: DMS は RDS インスタンスのセキュリティホスティングを自動的に有効にします。ただし、データベースにログインするには、KMS で作成された RDS 認証情報を手動で選択する必要があります。
制御モード
DMS は、ビジネス要件に基づいて使用できる、次のインスタンスレベルの 制御モード を提供します。
柔軟な管理
安定的な変更
セキュリティコラボレーション
ページを更新します。DMS コンソールの左側の [接続済みインスタンス] ナビゲーションウィンドウで、ログインする RDS インスタンスと、RDS インスタンスに作成されたデータベースを表示します。
説明セキュリティホスティングを有効にすると、ログインする 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 { Class.forName("org.postgresql.Driver"); // PostgreSQL JDBC ドライバーのロード } 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"; 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) { e.printStackTrace(); } } }
サードパーティのレポートツールを使用して RDS インスタンスに接続する
ApsaraDB RDS for PostgreSQL では、サードパーティ製のレポートツールを使用してデータを取得、クレンジング、視覚化し、データに基づいてモデルを作成できます。これにより、データ分析が容易になります。このセクションでは、Microsoft が提供する Power BI Desktop を使用して RDS インスタンスに接続する方法の例を示します。この例では、Power BI Desktop 2.112.1161.0 64-bit
を使用しています。
Power BI Desktop をダウンロードしてインストールします。ダウンロード方法の詳細については、「Power BI Desktop を入手する」をご参照ください。
Power BI Desktop を起動します。
上部のナビゲーションバーで、[ホーム] タブをクリックし、
を選択します。[データの取得] ダイアログボックスで、
を選択し、[接続] をクリックします。[PostgreSQL データベース] ダイアログボックスで、[サーバー] パラメーターと [データベース] パラメーターを構成し、[OK] をクリックします。
パラメーター
説明
サーバー
RDS インスタンスのエンドポイントとポート。
値の形式は
Endpoint:Port number
です。内部ネットワーク経由で 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 インスタンスに接続する」をご参照ください。
よくある質問
異なるリージョンにデプロイされているか、別の Alibaba Cloud アカウントが所有する ECS インスタンスから RDS インスタンスに接続するにはどうすればよいですか。
RDS インスタンスに接続するには、次のいずれかの方法を使用できます。
VPC ピアリング接続 を使用して、同じリージョンまたは異なるリージョンの 2 つの VPC 間に非公開ネットワーク接続を確立します。同じリージョン内の VPC 間のピアリング接続は無料です。
Cloud Enterprise Network ( CEN ) を使用して、内部ネットワーク経由で RDS インスタンスに接続します。詳細については、「同じリージョン内の VPC を接続する」、「異なるリージョン内の VPC を接続する」、および「異なるアカウントの VPC を接続する」をご参照ください。
Function Compute を使用して RDS インスタンスからデータを取得するにはどうすればよいですか。
Function Compute にサードパーティの依存関係をインストールできます。その後、これらの組み込みの依存関係を使用して、ApsaraDB RDS からデータを取得できます。詳細については、「サードパーティの依存関係をインストールする」をご参照ください。