Amazon Aurora
Aurora のユーザーガイド (API バージョン 2014-10-31)

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

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

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

Aurora MySQL DB クラスターを認証するには、MySQL のユーザー名とパスワード認証、または AWS Identity and Access Management (IAM) データベース認証を使用できます。MySQL のユーザー名およびパスワード認証を使用する方法については、MySQL ドキュメントの「ユーザーアカウントの管理」を参照してください。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 インスタンスに直接接続できます。クラスターエンドポイントは常にプライマリインスタンスをポイントします。プライマリインスタンスが失敗し、置き換えられると、クラスターエンドポイントは新しいプライマリインスタンスをポイントします。

注記

クラスターが Aurora サーバーレス DB クラスターである場合は、そのデータベースエンドポイントにのみ接続できます。詳細については、「Amazon Aurora サーバーレスの使用」を参照してください。

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

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

注記

Amazon Aurora DB クラスターは Amazon Virtual Private Cloud (VPC) 内でのみ作成できるため、VPC 外の AWS インスタンスから Amazon Aurora DB クラスターへの接続には、Amazon Aurora DB クラスターのパブリックエンドポイントアドレスを使用する必要がありました。しかし、ClassicLink を使用して、VPC 外の Amazon EC2 インスタンスと Amazon Aurora DB クラスターで通信できるようになりました。詳細については、「VPC 内の DB インスタンスに VPC 外の EC2 インスタンスがアクセスする」を参照してください。

Aurora MySQL の SSL での接続

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

注記

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

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

  1. https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem から Amazon RDS 署名証明書のパブリックキーをダウンロードします。これにより、rds-combined-ca-bundle.pem という名前のファイルがダウンロードされます。

  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>

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

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 のバージョン 9.6.3 と互換性のある任意の SQL コマンドを実行できます。

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

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 ウェブサイトのダウンロードページを参照してください。

注記

Amazon Aurora PostgreSQL DB クラスターは Amazon Virtual Private Cloud (VPC) 内でのみ作成できるため、VPC 外の AWS インスタンスから Aurora PostgreSQL DB クラスターへの接続には、Aurora PostgreSQL DB クラスターのパブリックエンドポイントアドレスを使用する必要がありました。しかし、ClassicLink を使用して、VPC 外の Amazon EC2 インスタンスと Aurora PostgreSQL DB クラスターで通信できるようになりました。詳細については、「VPC 内の DB インスタンスに VPC 外の EC2 インスタンスがアクセスする」を参照してください。

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

注記

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

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

  • DB クラスターが、お使いのデバイスからの接続を許可しない VPC を使用して作成されています。この問題を解決するには、お使いのデバイスからの接続を許可するように VPC を変更するか、お使いのデバイスからの接続を許可する DB クラスターの新しい VPC を作成します。例については、「VPC とサブネットを作成する」を参照してください。

  • DB クラスターがデフォルトポートを使用して作成され、そのポートに社内ネットワークのデバイスから接続しようとすると、会社のファイアウォールルールでブロックされています。この問題を解決するには、別のポートでインスタンスを再起動します。

  • IAM データベース認証を使用している場合は、IAM データベース認証を設定する必要があります。詳細については、 IAM データベース認証 を参照してください。