クライアントから AnalyticDB for PostgreSQL インスタンスへの接続時に発生する接続失敗は、ほぼ常に以下のいずれかが原因です:クライアントの IP アドレスが、インスタンスが到達できないローカルエリアネットワーク (LAN) の IP アドレスである、またはクライアントの IP アドレスがインスタンスの IP アドレスホワイトリストに登録されていないことです。
以下の手順では、クライアントの実際の IP アドレスを特定するために一時的に全 IP アドレスを許可するルールを設定し、その後、その IP アドレスのみを厳密に許可するようにホワイトリストを制限します。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
AnalyticDB for PostgreSQL コンソール にアクセスできること
psql クライアントツールがインストール済みであること。ダウンロード手順については、「クライアントツールを使用したインスタンスへの接続」をご参照ください。
クライアント IP アドレスの特定とホワイトリストへの登録
ステップ 1:一時的にすべての IP アドレスを許可
AnalyticDB for PostgreSQL コンソール にログインします。
左上隅で、インスタンスが配置されているリージョンを選択します。
インスタンス ID をクリックします。「基本情報」ページが表示されます。
左側のナビゲーションウィンドウで、「セキュリティコントロール」をクリックします。
「ホワイトリスト設定」タブで、デフォルトの IP アドレスホワイトリスト横の「変更」をクリックします。「ホワイトリストの変更」パネルが表示されます。
「IP アドレス」フィールドで、
127.0.0.1を削除し、0.0.0.0/0を入力します。「OK」をクリックします。
0.0.0.0/0 はすべての IP アドレスからのアクセスを許可します。これはセキュリティリスクを高める可能性があります。クライアントの IP アドレスを特定した後は、この設定を直ちに削除してください。ステップ 2:psql を使用してインスタンスに接続
以下のコマンドを実行して接続します。
psql -h yourgpdbaddress.gpdb.rds.aliyuncs.com -p 3432 -d postgres -U gpdbaccount| パラメーター | 説明 |
|---|---|
-h | ホスト(インスタンスのエンドポイント) |
-p | データベースへの接続に使用されるポート |
-d | データベース名。デフォルト値は postgres です。 |
-U | データベースへの接続に使用するアカウント |
利用可能なすべてのオプションを確認するには psql --help を実行するか、psql 内で利用可能なコマンドを確認するには \? を実行してください。
ステップ 3:クライアント IP アドレスのクエリ実行
接続後に、SQL コマンドラインウィンドウで以下のクエリを実行します。
select * from pg_stat_activity;結果の CLIENT_ADDR 列に、ご利用のクライアントの IP アドレスが表示されます。

ステップ 4:オープンルールをクライアント IP アドレスに置き換え
「セキュリティコントロール」ページで、デフォルトの IP アドレスホワイトリストを開き、「変更」をクリックします。
0.0.0.0/0を削除し、CLIENT_ADDRフィールドから取得した IP アドレスを入力します。「OK」をクリックします。
これで、クライアントは適切な範囲で設定されたホワイトリストエントリを使用して、インスタンスに接続できるようになります。