Amazon Aurora DB クラスターへの接続 - Amazon Aurora

Amazon Aurora DB クラスターへの接続

Aurora DBクラスターには、MySQL または PostgreSQL データベースへの接続に使用するものと同じツールを使用して接続することができます。MySQL または PostgreSQL DB インスタンスに接続するスクリプト、ユーティリティ、またはアプリケーションで接続文字列を指定します。Secure Sockets Layer (SSL) 接続の場合と同じパブリックキーを使用します。

接続文字列では、通常、DB クラスターに関連付けられた特別なエンドポイントからのホストとポートの情報を使用します。このようなエンドポイントでは、クラスター内の DB インスタンスの数に関係なく、同じ接続パラメータを使用できます。トラブルシューティングなどの特殊なタスクの場合、Aurora DB クラスター内の特定の DB インスタンスの、ホストとポート情報を使用できます。

注記

Aurora Serverless v1 DB クラスターの場合、DB インスタンスにではなく、データベースエンドポイントに接続します。Aurora Serverless v1 DB クラスターのデータベースエンドポイントは、AWS Management Console の [接続とセキュリティ] タブにあります。詳細については、「Amazon Aurora Serverless v1 の使用」を参照してください。

エンドポイントには、DB クラスターまたはインスタンスの操作に使用している Aurora DB エンジンや特定のツールに関係なく、アクセスできる必要があります。Amazon Aurora DB クラスターは、Amazon VPC サービスに基づいて Virtual Private Cloud (VPC) のみで作成できます。つまり、エンドポイントには、VPC の内部または VPC の外部のいずれかから次のいずれかの方法を使用してアクセスします。

  • VPC 内の Amazon Aurora DB クラスターにアクセスする–VPC 経由で Amazon Aurora DB クラスターへのアクセスを有効にします。そのためには、セキュリティグループ上の VPC のためのインバウンドルールを編集し、特定の Aurora DB クラスターへのアクセスを許可します。さまざまな Aurora DB クラスターのシナリオで VPC を設定する方法など、詳細については「Amazon仮想プライベートクラウド VPC と Amazon Aurora」を参照してください。

  • VPC 外部にある Amazon Aurora DB クラスターへのアクセス– VPC 外部から Amazon Aurora DB クラスターにアクセスするには、Amazon Aurora DB クラスターのパブリックエンドポイントアドレスを使用します。ClassicLink を使用すれば、VPC の内部にない Amazon EC2 インスタンスから、VPC の内部にある Amazon Aurora DB クラスターに接続することもできます。詳細については、「VPC 内の DB インスタンスに VPC 外の EC2 インスタンスからアクセスする」を参照してください。

詳細については、「Aurora 接続障害のトラブルシューティング」を参照してください。

Amazon Aurora MySQL DB クラスターへの接続

Aurora MySQL DB クラスターを認証するには、MySQL のユーザー名とパスワード認証、または AWS Identity and Access Management (IAM) データベース認証を使用できます。MySQL のユーザー名およびパスワード認証を使用する方法については、MySQL ドキュメントの「Access control and account management」を参照してください。IAM データベース認証を使用する方法については、「 の IAM データベース認証」を参照してください。

MySQL 5.6 と互換性のある Amazon Aurora DB クラスターに接続すると、MySQL バージョン 5.6 と互換性のある SQL コマンドを実行できます。MySQL 5.6 の SQL 構文の詳細については、MySQL 5.6 リファレンスマニュアルを参照してください。

MySQL 5.7 と互換性のある Amazon Aurora DB クラスターに接続すると、MySQL バージョン 5.7 と互換性のある SQL コマンドを実行できます。MySQL 5.7 の SQL 構文の詳細については、MySQL 5.7 リファレンスマニュアルを参照してください。Aurora MySQL 5.7 に適用される制限事項については、「Aurora MySQL 5.7 と MySQL 5.7 の比較」を参照してください。

注記

Amazon Aurora MySQL DB クラスターへの接続に役立つ詳しいガイドについては、「Aurora 接続管理」ハンドブックを参照してください。

DB クラスターの詳細ビューで、MySQL 接続文字列で使用できるクラスターエンドポイントを確認できます。エンドポイントは DB クラスターのドメイン名とポートで構成されます。たとえば、エンドポイントの値が mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306 の場合、MySQL 接続文字列には次の値を指定します。

  • ホストまたはホスト名には mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com を指定します

  • ポートには、3306 を指定するか、DB クラスターの作成時に使用したポート値を指定します。

クラスターエンドポイントは DB クラスターのプライマリインスタンスに接続します。このクラスターエンドポイントを使用して、読み取りと書き込みの両方のオペレーションを実行できます。DB クラスターは、DB クラスターのデータへの読み取り専用アクセスをサポートする、最大 15 個の Aurora レプリカを使用できます。プライマリインスタンスと各 Aurora レプリカには、クラスターエンドポイントとは無関係の一意なエンドポイントがあり、そのエンドポイントにより、クラスター内の特定の DB インスタンスに直接接続できます。クラスターエンドポイントは常にプライマリインスタンスをポイントします。プライマリインスタンスが失敗し、置き換えられると、クラスターエンドポイントは新しいプライマリインスタンスをポイントします。

クラスターエンドポイント (ライターエンドポイント) を確認するには、Amazon RDS コンソールで [データベース] を選択し、DB クラスターの名前を選択して DB クラスターの詳細を表示します。


                Amazon Aurora の詳細

Aurora MySQL の接続ユーティリティ

使用できる接続ユーティリティは次のとおりです。

  • コマンドライン – MySQL コマンドラインユーティリティなどのツールを使用して、Amazon Aurora DB クラスターに接続できます。MySQL ユーティリティを使用する方法の詳細については、MySQL ドキュメントの「mysql - MySQL コマンドラインツール」を参照してください。

  • GUI – UI インターフェイスを使用することで、MySQL Workbench ユーティリティを使用して接続できます。詳細については、「MySQL Workbench のダウンロード」ページを参照してください。

  • アプリケーション – MariaDB Connector/J ユーティリティを使用して、アプリケーションを Aurora DB クラスターに接続します。詳細については、MariaDB Connector/J のダウンロードページを参照してください。

    注記

    Aurora Serverless v1 DB クラスターで MariaDB Connector/J ユーティリティを使用する場合は、接続文字列にプレフィックス jdbc:mariadb:aurora// を使用します。mariadb:aurora パラメータは、フェイルオーバーターゲットの自動 DNS スキャンを回避します。このスキャンは Aurora Serverless v1 DB クラスターでは必要ではないため、接続の確立に遅延が生じる原因になります。

Aurora MySQL DB インスタンスへの接続には、SSL 暗号化を使用できます。詳細については、Aurora MySQL DB クラスターでの SSL/TLS の使用 を参照してください。

Aurora MySQL の SSL での接続

SSL を使用して接続するには、MySQL ユーティリティを次の手順に従って使用します。IAM データベース認証を使用している場合は、SSL 接続を使用する必要があります。詳細については、 の IAM データベース認証 を参照してください。

注記

SSL を使用してクラスターエンドポイントに接続するには、クライアント接続ユーティリティでサブジェクト代替名 (SAN) がサポートされている必要があります。クライアント接続ユーティリティで SAN がサポートされていない場合、Aurora DB クラスター内のインスタンスに直接接続することができます。Aurora エンドポイントの詳細については、「Amazon Aurora 接続管理」を参照してください。

MySQL ユーティリティを使用して SSL で DB クラスターに接続するには

  1. Amazon RDS 署名証明書のパブリックキーをダウンロードします。

    証明書のダウンロードについては、SSL/TLS を使用した DB クラスターへの接続の暗号化 を参照してください。

  2. MySQL ユーティリティを使用して SSL で DB クラスターのプライマリインスタンスに接続するには、コマンドプロンプトで次のコマンドを入力します。-h パラメータは、エンドポイント DNS 名をプライマリインスタンスの代わりに使用します。--ssl_ca パラメータは、必要に応じて SSL 証明書のファイル名に置き換えます。プロンプトが表示されたら、マスターユーザーパスワードを入力します。

    mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

次のような出力が表示されます。

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.6.10-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

RDS for MySQL 接続文字列の作成と SSL 接続用のパブリックキーの検索に関する一般的な手順については、「MySQL データベースエンジンを実行している DB インスタンスに接続する」を参照してください。

MySQL 用 Amazon Web Services JDBC ドライバー との接続 (プレビュー)

これは MySQL 用 Amazon Web Services JDBC ドライバー のプレビュードキュメントです。このドキュメントは変更される可能性があります。

MySQL 用 AWS JDBC ドライバー (プレビュー) は、Aurora MySQL の高可用性を実現するために設計されたクライアントドライバーです。MySQL 用 AWS JDBC ドライバーは、MySQL Connector/J ドライバとドロップインの互換性があります。

MySQL 用 AWS JDBC ドライバーは、Aurora MySQL のフェイルオーバー機能を最大限に活用します。MySQL 用 AWS JDBC ドライバー は、DB クラスタートポロジと各 DB インスタンスのロール (プライマリ DB インスタンスまたは Aurora レプリカ) のキャッシュを完全に維持します。このトポロジを使用して、DNS 解決による遅延を回避し、新しいプライマリ DB インスタンスへの接続を可能な限りすばやく確立します。

MySQL 用 AWS JDBC ドライバー およびその使用方法の詳細については、MySQL 用 AWS JDBC ドライバー GitHub リポジトリ を参照してください。

Amazon Aurora PostgreSQL DB クラスターへの接続

Amazon Aurora PostgreSQL DB クラスターの DB インスタンスに接続するには、PostgreSQL データベースに接続する場合と同じツールを使用できます。このプロセスの一部として、Secure Sockets Layer (SSL) 接続の場合と同じ発行鍵を使用します。Aurora PostgreSQL DB クラスターのプライマリインスタンスや Aurora レプリカのエンドポイントとポート情報を、PostgreSQL の DB インスタンスに接続するすべてのスクリプト、ユーティリティ、アプリケーションの接続文字列で使用できます。接続文字列では、プライマリインスタンスまたは Aurora レプリカのエンドポイントの DNS アドレスをホストパラメータとして指定します。エンドポイントのポート番号をポートパラメータとして指定します。

Amazon Aurora PostgreSQL DB クラスターの DB インスタンスに接続すると、PostgreSQL と互換性のある任意の SQL コマンドを実行できます。

Aurora PostgreSQL DB クラスターの詳細ビューで、クラスターエンドポイントを確認できます。このエンドポイントは、PostgreSQL 接続文字列で使用します。エンドポイントは DB クラスターのドメイン名とポートで構成されます。たとえば、エンドポイントの値が mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:5432 の場合、PostgreSQL 接続文字列には次の値を指定します。

  • ホストまたはホスト名には mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com を指定します

  • ポートには、5432 を指定するか、DB クラスターの作成時に使用したポート値を指定します。

クラスターエンドポイントは DB クラスターのプライマリインスタンスに接続します。このクラスターエンドポイントを使用して、読み取りと書き込みの両方のオペレーションを実行できます。DB クラスターは、DB クラスターのデータへの読み取り専用アクセスをサポートする、最大 15 個の Aurora レプリカを使用できます。Aurora クラスターの各 DB インスタンス (プライマリインスタンスと各 Aurora のレプリカ) には、それぞれ、クラスターエンドポイントとは別に一意のエンドポイントが含まれます。一意のエンドポイントを使用することで、クラスターの特定の DB インスタンスに直接接続できるようになります。クラスターエンドポイントは常にプライマリインスタンスをポイントします。プライマリインスタンスが失敗し、置き換えられると、クラスターエンドポイントは新しいプライマリインスタンスをポイントします。

クラスターエンドポイント (ライターエンドポイント) を確認するには、Amazon RDS コンソールで [データベース] を選択し、DB クラスターの名前を選択して DB クラスターの詳細を表示します。


                Amazon Aurora の詳細

Aurora PostgreSQL の接続ユーティリティ

使用できる接続ユーティリティは次のとおりです。

  • コマンドライン – PostgreSQL インタラクティブターミナルである psql などのツールを使用して、Amazon Aurora PostgreSQL DB インスタンスに接続できます。PostgreSQL インタラクティブターミナルの詳しい使用方法については、PostgreSQL ドキュメントの「psql」を参照してください。

  • GUI – UI インターフェイスで pgAdmin ユーティリティを使用して、PostgreSQL DB インスタンスに接続できます。詳細については、pgAdmin ウェブサイトのダウンロードページを参照してください。

  • アプリケーション – アプリケーションに接続するための PostgreSQL JDBC ドライバーを使用して PostgreSQL DB インスタンスに接続できます。詳細については、PostgreSQL JDBC ウェブサイトのダウンロードページを参照してください。

PostgreSQL 用 Amazon Web Services JDBC ドライバー との接続 (プレビュー)

これは PostgreSQL 用 Amazon Web Services JDBC ドライバー のプレビュードキュメントです。このドキュメントは変更される可能性があります。

PostgreSQL 用 AWS JDBC ドライバー (プレビュー) は、Aurora PostgreSQL の高可用性を実現するために設計されたクライアントドライバーです。PostgreSQL 用 AWS JDBC ドライバー は、PostgreSQL JDBC ドライバーとドロップイン互換性があります。

PostgreSQL 用 AWS JDBC ドライバー は、Aurora PostgreSQL のフェイルオーバー機能を最大限に活用します。PostgreSQL 用 AWS JDBC ドライバー は、DB クラスタートポロジと各 DB インスタンスのロール (プライマリ DB インスタンスまたは Aurora レプリカ) のキャッシュを完全に維持します。このトポロジを使用して、DNS 解決による遅延を回避し、新しいプライマリ DB インスタンスへの接続を可能な限りすばやく確立します。

PostgreSQL 用 AWS JDBC ドライバー およびその使用方法の詳細については、PostgreSQL 用 AWS JDBC ドライバー GitHub リポジトリを参照してください。

Aurora 接続障害のトラブルシューティング

新しい Aurora DB クラスターに対する接続障害の一般的な原因を次に示します。

  • VPC のセキュリティグループがアクセスを許可していない –VPC では、VPC のセキュリティグループを適切に設定して、デバイスまたは Amazon EC2 インスタンスからの接続を許可する必要があります。障害を解決するには、VPC のセキュリティグループの、インバウンドルールを変更して接続を許可します。例については、「VPC とサブネットを作成する」を参照してください。

  • ファイアウォールルールによってポートがブロックされる –AuroraDB クラスター用に設定されているポートの値を確認します。ファイアウォールルールがそのポートをブロックしている場合は、別のポートを使用してインスタンスを再作成できます。

  • 不完全なまたは誤ったIAM設定 – Aurora DB インスタンスを IAM–ベースの認証を使用するように作成している場合は、正しく設定されていることを確認します。詳細については、「 の IAM データベース認証」を参照してください。

Aurora DB 接続問題のトラブルシューティングの詳細については、「Amazon RDS DB インスタンスに接続できない」を参照してください。