問題の説明
次の図に示すように、クライアントからAnalyticDB for PostgreSQLインスタンスに接続するとエラーが発生します。

原因
AnalyticDB for PostgreSQLインスタンスは、エラーメッセージのIPアドレスと通信できません。 考えられる原因を次のリストに示します。
- エラーメッセージ内のIPアドレスは、ローカルエリアネットワーク (LAN) IPアドレスである。
- エラーメッセージのIPアドレスは、AnalyticDB for PostgreSQLインスタンスのIPアドレスホワイトリストに追加されません。
解決策
オンプレミスクライアントのIPアドレスを取得し、そのIPアドレスをAnalyticDB for PostgreSQLインスタンスのIPアドレスホワイトリストに追加します。
複雑なネットワーク環境では、オンプレミスクライアントのIPアドレスを見つけたり、IPアドレスをIPアドレスホワイトリストに追加したりできない場合があります。 このセクションでは、オンプレミスクライアントのIPアドレスを取得する方法について説明します。
手順- 次の操作を実行して、AnalyticDB for PostgreSQLインスタンスのIPアドレスホワイトリストに
0.0.0.0/0
を追加します。- AnalyticDB for PostgreSQLコンソールにログインします。
- 左上隅で、インスタンスが存在するリージョンを選択します。
- オペレーションログを表示するインスタンスの ID をクリックします。 [基本情報] ページが表示されます。
左側のナビゲーションウィンドウで、[セキュリティ管理] をクリックします。 [セキュリティコントロール] ページが表示されます。
- [ホワイトリストの設定] タブで、デフォルトのIPアドレスホワイトリストの右側にある [変更] をクリックします。 [ホワイトリストの変更] パネルが表示されます。
- [IPアドレス] フィールドで、IPアドレス127.0.0.1を削除し、
0.0.0.0/0
と入力します。説明0.0.0.0/0
は、すべてのIPアドレスがインスタンスにアクセスできることを示します。 これにより、セキュリティリスクが高まる可能性があります。 不要になった場合は、0.0.0.0/0を削除することを推奨します。 - [OK] をクリックします。
- psqlツールを使用して次のコマンドを実行し、AnalyticDB for PostgreSQLインスタンスに接続します。 psqlツールのダウンロード方法の詳細については、「クライアント接続」をご参照ください。
psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3432 -d postgres -U gpdbaccount
パラメーターの説明:
- -h: ホストアドレス。
- -p: データベースへの接続に使用されるポート。
- -d: データベースの名前。 デフォルト値はpostgresです。
- -U: データベースへの接続に使用されるアカウント。
psql -- help
コマンドを実行すると、その他のオプションを表示できます。 あなたも実行できます\?
psqlでサポートされているコマンドを表示します。
- データベースに接続した後、SQLコマンドラインウィンドウで次のコマンドを実行して、オンプレミスクライアントのIPアドレスを照会します。
select * from pg_stat_activity;
クエリ結果のCLIENT_ADDRフィールドの値は、オンプレミスクライアントのIPアドレスです。 - AnalyticDB for PostgreSQLコンソールで、デフォルトのIPアドレスホワイトリストから
0.0.0.0/0
を削除し、オンプレミスのクライアントのIPアドレスを入力してAnalyticDB for PostgreSQLインスタンスにアクセスします。
- 次の操作を実行して、AnalyticDB for PostgreSQLインスタンスのIPアドレスホワイトリストに