問題の説明
クライアントがapsaradb RDS for PostgreSQLインスタンスへの接続を試みるときに、接続が中断されると、次のいずれかのエラーが表示されます。
- サーバーが予期せず接続を閉じたこれはおそらく、リクエストの処理前または処理中にサーバーが異常に終了したことを意味します。
- サーバーへの接続エラー: FATAL: pg_hba.confエントリなし
修正
説明
以下の点にご注意ください。
- インスタンス設定やデータの変更など、リスクを引き起こす可能性のある操作を実行する前に、データのセキュリティを確保するために、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認することを推奨します。
- ECS (Elastic Compute Service) およびRDS (Relational Database Service) インスタンスを含むインスタンスの設定およびデータを変更できます。 変更前に、スナップショットを作成するか、RDSログバックアップを有効にすることを推奨します。
- Alibaba Cloud管理コンソールでログオンアカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、そのような情報をタイムリーに変更することを推奨します。
このトピックでは、RDSにアクセスできないシナリオの2つのソリューションについて説明します。
ECSインスタンスが内部ネットワーク経由でRDSにアクセスできないのはなぜですか。
- ECSインスタンスの内部IPアドレスがRDSインスタンスのホワイトリストに追加されているかどうかを確認します。 そうでない場合は、インスタンスページでインスタンスIPを表示できます。
- 次に、RDSコンソールにホワイトリストを追加します。 詳細は、「ホワイトリストの設定」をご参照ください。
- ホワイトリストが0.0.0.0に設定され、正しい形式が0.0.0.0/0であるかどうかを確認します。
説明
注: このIPアドレスは、どのデバイスでもRDSインスタンスにアクセスできるため、慎重に使用されます。
-
拡張ホワイトリストモードを有効にした場合は、次のチェックを実行します。
- RDSインスタンスがVPCに存在し、その内部エンドポイントを使用してアクセスされる場合、ECSインスタンスの内部IPアドレスがデフォルトVPCというラベルの付いたIPアドレスホワイトリストに追加されていることを確認してください。
- RDSインスタンスがクラシックネットワークにあり、内部エンドポイントを使用してアクセスする場合は、ECSインスタンスの内部IPアドレスがデフォルトのクラシックネットワークというラベルの付いたIPアドレスホワイトリストに追加されていることを確認してください。
ECSインスタンス以外のデバイスがRDSにアクセスできないソリューション
デバイス (ECSインスタンスなど) がRDSインスタンスにアクセスすると、インターネット経由でRDSインスタンスに接続できます。 インターネットアドレスを使用してインスタンスに接続できない場合、解決策は次のとおりです。
- RDSホワイトリストが設定されているかどうかを確認します。 IPアドレスが設定されていない場合は、「ホワイトリストの設定」をご参照ください。
- ホワイトリストが0.0.0.0に設定されているかどうかを確認します。 IPアドレスホワイトリストには、0.0.0.0/0のようなエントリが必要です。
説明
注: このIPアドレスは、どのデバイスでもRDSインスタンスにアクセスできるため、慎重に使用されます。
- 拡張ホワイトリストモードを有効にしている場合は、デバイスのパブリックIPアドレスがクラシックネットワークのIPアドレスホワイトリストに追加されていることを確認します。
説明
注: VPCのインスタンスはインターネット経由でアクセスできません。
- ホワイトリストを設定した場合、ホワイトリストに追加したパブリックIPアドレスがデバイスの実際の出力IPアドレスではないことが原因で接続障害が発生する可能性があります。 その理由は以下の通りである。
説明
注: サーバーのパブリックIPアドレスを取得する方法の詳細については、 ローカルIPの検索
- パブリックIPアドレスは動的に変更されます。
- パブリックIPアドレスのクエリに使用するツールまたはWebサイトは、不正確な結果を返します。
適用範囲
- ApsaraDB RDS for PostgreSQL