スキップしてコンテンツを表示

Amazon RDS for PostgreSQL インスタンスに接続したときのタイムアウトエラーをトラブルシューティングする方法を教えてください。

所要時間1分
0

他の AWS サービスから接続しようとすると、Amazon Relational Database Service (Amazon RDS) for PostgreSQL データベース (DB) インスタンスから接続タイムアウトエラーが返されます。データベースへの接続を確立できません。

解決策

RDS for PostgreSQL の接続タイムアウトエラーを解決するには、データベースエンドポイント設定、ネットワーク設定、およびセキュリティグループを確認してください。接続設定に基づいて、次の解決策を実行してください。

データベースアクセス設定を確認する

DB インスタンスに正しいエンドポイントとポートを使用していることを確認してください。エンドポイントとポートの情報を検索するには、「Amazon RDS DB インスタンスの接続情報の検索」を参照してください。

データベースへのアクセス権を付与するには、AWS アカウントの管理ユーザーとしてデータベースに接続します。続いて、次のコマンドを実行します。

GRANT CONNECT ON DATABASE database_name TO user_name;

注: database_name は実際のデータベース名に、user_name はアクセスを許可するデータベースユーザーに置き換えてください。

ネットワーク設定を確認する

DB インスタンスがパブリックにアクセスできる場合は、パブリックアクセスオプションとルートテーブル内のインターネットゲートウェイが有効になっていることを確認します。

DB インスタンスがプライベートサブネットにある場合は、インターネットアクセス用の NAT ゲートウェイルートを持つルートテーブルがあることを確認します。別の仮想プライベートクラウド (VPC) から接続する場合は、VPC ピアリング接続を作成します。

ネットワークの問題をトラブルシューティングするには、Reachability Analyzer を使用してください。

セキュリティ設定を確認する

セキュリティグループのルールで、ソース IP アドレスまたはセキュリティグループからのデータベースポートでのトラフィックが許可されていることを確認します。ポート 5432 は RDS for PostgreSQL データベースのデフォルトポートです。ネットワークアクセスコントロールリスト (ネットワーク ACL) ルールをチェックして、データベースポートでインバウンドトラフィックとアウトバウンドトラフィックの両方を許可していることを確認します。

ファイアウォールによる制限を解決する

AWS の外部から転送された接続を介して接続すると、ファイアウォールがデータベースポートへの接続をブロックすることがあります。ネットワーク管理者と協力して、DB インスタンスのエンドポイントとポートへのアウトバウンド接続を許可してください。

データベースポートを変更する方法については、「Amazon RDS DB インスタンスを変更する」を参照してください。

ポートの競合を確認する

ローカルマシンまたは Amazon Elastic Compute Cloud (Amazon EC2) インスタンスから、次のコマンドを実行して、ポートが使用中かどうかを確認します。

netstat -tuln | grep 5432

注: 別のポートを使用する場合は、5432 をデータベースのポート番号に置き換えてください。

ポートが使用中の場合、出力にはポートとそれを使用しているプロセスが表示されます。ローカルサービスを停止するか、別のポートを使用するように DB インスタンスを変更することができます。

自動トラブルシューティングを実行する

AWS Systems Manager Automation を使用して、Amazon EC2 インスタンスと DB インスタンス間の接続の問題を特定します。自動化により、インスタンスのステータス、サブネット CIDR、ネットワーク ACL、セキュリティグループ、ルートテーブルがチェックされます。詳細については、「How can I use the AWSSupport-TroubleshootConnectivityToRDS Systems Manager automation runbook to configure TroubleshootConnectivityToRDS between a source Amazon RDS database and an Amazon EC2 target?」(AWS Support-TroubleshootConnectivityToRDS Systems Manager 自動化ランブックを使用して、ソース Amazon RDS データベースと Amazon EC2 ターゲット間の TroubleshootConnectivityToRDS を設定する方法を教えてください) を参照してください。

注: この自動化では、エフェメラルポートや特定のポート設定は検証されません。

関連情報

Amazon RDS DB インスタンスに接続できない

セキュリティグループによるアクセス制御

Error – Could not connect to server: Connection timed out (サーバー接続失敗エラー: 接続がタイムアウトしました)

AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ