Amazon Aurora への接続に関する問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2022 年 3 月 18 日

Amazon Aurora を実行している Amazon Relational Database Service (Amazon RDS) クラスターまたはインスタンスへの接続に関する問題のトラブルシューティング方法を教えてください。

簡単な説明

Amazon Aurora DB クラスターまたはインスタンスへの接続に関する問題の一般的な原因は次のとおりです。

  • Aurora DB クラスターまたはインスタンスがまだ作成中であるか、まだ使用可能な状態ではない。
  • DB インスタンスのセキュリティグループ、ACL、またはローカルファイアウォールが、ソースインスタンスまたはその IP アドレスからの接続をブロックしている。
  • Amazon Virtual Private Cloud (Amazon VPC) のサブネットに関連付けられているルートテーブルが、ローカルマシンまたは DB インスタンスからのトラフィックを許可またはルーティングしていない。
  • ローカルマシンからインターネットを介して接続する時に、DB インスタンスが公開でアクセス可能でない。
  • おそらくクライアントが正しい Aurora エンドポイントに接続していないために、DNS の名前解決が失敗している可能性がある。
  • 基盤となるハードウェアまたはデータベースプロセスに問題があるため、Amazon RDS DB インスタンスがインスタンスのリカバリまたはフェイルオーバーの途中である。

解決方法

Aurora インスタンスを含む、Amazon RDS の一般的な接続の問題の解決については、Amazon RDS データベースのインスタンスに接続する問題を解決するには、どうすれば良いですか?を参照してください。

Aurora DB クラスターの場合は、クライアントが正しいエンドポイントに接続していることを確認します。Amazon Aurora はマネージドサービスであるため、MySQL クライアントツールまたは PostgreSQL クライアントツールを使用して Aurora DNS エンドポイントに接続する必要があります。

正しい Aurora エンドポイントに接続していることを確認します。クライアントが現在接続しているクラスター、リーダー、およびカスタムエンドポイントを確認するには、次の手順に従います。

1.    Amazon RDS コンソールを開きます。

2.    ナビゲーションペインから [データベース] を選択します。

3.    リソースのグループから DB クラスターを選択し、[Connectivity & Security] のエンドポイントセクションでクラスターの詳細を確認します。

4.    telnet / nc を使用してエンドポイントへの接続を確認します。

telnet <RDS endpoint> <port number>
nc <RDS endpoint> <port number>

5.    接続後、Amazon Aurora MySQL 互換エディションまたは Amazon Aurora PostgreSQL 互換エディションに対して次のコマンドを実行して、リーダーエンドポイントまたはライターエンドポイントに接続されていることを確認します。

"SHOW GLOBAL VARIABLES LIKE 'innodb_read_only';  --> MySQL
"SHOW transaction_read_only "; --> PostgreSQL

変数が ON に設定されている場合、Aurora レプリカに接続されています。この変数が OFF, に設定されている場合は、プライマリインスタンスに接続しています。