Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

MySQL データベースエンジンを実行している DB インスタンスに接続する

MySQL データベースエンジンを実行している DB インスタンスに接続するには、DB インスタンスを作成する必要があります。詳細については、MySQL データベースエンジンを実行する DB インスタンスの作成 を参照してください。Amazon RDS によって DB インスタンスがプロビジョニングされると、標準の MySQL クライアントアプリケーションまたはユーティリティを使用してインスタンスに接続できます。接続文字列では、DB インスタンスのエンドポイントの DNS アドレスをホストパラメータとして指定し、DB インスタンスのエンドポイントのポート番号をポートパラメータとして指定します。

RDS DB インスタンスを認証するには、MySQL の認証メソッドのいずれかと IAM データベース認証を使用します。

AWS マネジメントコンソール、AWS CLI の describe-db-instances コマンド、または Amazon RDS API の DescribeDBInstances アクションを使用して、Amazon RDS DB インスタンスの詳細 (エンドポイントなど) を一覧表示できます。

AWS マネジメントコンソールで MySQL DB インスタンスのエンドポイントを見つけるには:

  1. RDS コンソールを開き、[データベース] を選択して、DB インスタンスを一覧表示します。

  2. MySQL DB インスタンスの名前を選択して詳細を表示します。

  3. [接続] タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。

    
                            MySQL DB インスタンスに接続する

エンドポイントの値が mysql–instance1.123456789012.us-east-1.rds.amazonaws.com であり、ポートの値が 3306 である場合、MySQL 接続文字列に以下の値を指定します。

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

  • ポートには 3306 を指定します。

MySQL コマンドラインユーティリティなどのツールを使用して、Amazon RDS MySQL DB インスタンスに接続できます。MySQL クライアントを使用する方法については、MySQL ドキュメントの「mysql - MySQL コマンドラインツール」を参照してください。接続に使用できる GUI ベースのアプリケーションは、MySQL Workbench です。詳細については、「MySQL Workbench のダウンロード」ページを参照してください。MySQL のインストール (MySQL クライアントのインストールも含む) については、「MySQL のインストールおよびアップグレード」を参照してください。

新しい DB インスタンスへの接続に失敗する一般的な原因には、次の 2 つがあります。

  • MySQL アプリケーションまたはユーティリティが実行されているデバイスまたは Amazon EC2 インスタンスからの接続を許可しないセキュリティグループを使用して DB インスタンスが作成されました。DB インスタンスが VPC で作成された場合、接続を許可する VPC セキュリティグループが必要です。DB インスタンスが VPC の外部で作成された場合は、接続を許可する DB セキュリティグループが必要です。詳細については、「Amazon Virtual Private Cloud VPC および Amazon RDS」を参照してください。

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

Amazon RDS MySQL DB インスタンスへの接続には、SSL 暗号化を使用できます。詳細については、MySQL DB インスタンスで SSL を使用する を参照してください。IAM データベース認証を使用している場合は、SSL 接続を使用する必要があります。詳細については、MySQL および PostgreSQL の IAM データベース認証 を参照してください。

MariaDB DB インスタンスとの接続方法の詳細については、「MariaDB データベースエンジンを実行している DB インスタンスへの接続」を参照してください。

MySQL クライアントからの接続

MySQL クライアントを使用して DB インスタンスに接続するには、MySQL クライアントを使用して DB インスタンスに接続するコマンドプロンプトで以下のコマンドを入力します。-h パラメータは、DB インスタンスの DNS 名 (エンドポイント) に置き換えます。- P パラメータは、使用中の DB インスタンスのポートに置き換えます。プロンプトが表示されたら、マスターユーザーパスワードを入力します。

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

ユーザーのパスワードを入力すると、次のような出力が表示されます。

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

SSL での接続

インスタンスが作成されるとき、Amazon RDS で DB インスタンスの SSL 証明書が作成されます。SSL 証明書認証を有効にした場合、SSL 証明書には、なりすまし攻撃から保護するために、SSL 証明書の共通名 (CN) として DB インスタンスのエンドポイントが含まれます。SSL を使用して DB インスタンスに接続するには、ネイティブのパスワード認証、または IAM データベース認証を使用できます。IAM データベース認証を使用して DB インスタンスに接続する方法については、「MySQL および PostgreSQL の IAM データベース認証」を参照してください。ネイティブのパスワード認証を使用して DB インスタンスに接続するには、以下の手順を行います。

MySQL クライアントを使用して SSL で DB インスタンスに接続するには

  1. すべてのリージョンで使用できるルート証明書は、こちらでダウンロードできます。

  2. MySQL クライアントを使用して SSL で DB インスタンスに接続するには、コマンドプロンプトで次のコマンドを入力します。- h パラメーターは、使用中の DB インスタンスの DNS 名に置き換えます。--ssl-ca パラメーターは、必要に応じて SSL 証明書のファイル名に置き換えます。

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-ca-2015-root.pem -p
  3. SSL 接続で、SSL 証明書のエンドポイントに対する DB インスタンスのエンドポイントの照合が必要になることがあります。

    MySQL 5.7 以降の場合:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-ca-2015-root.pem --ssl-mode=VERIFY_IDENTITY -p

    MySQL 5.6 以前の場合:

    mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-ca-2015-root.pem --ssl-verify-server-cert -p
  4. プロンプトが表示されたら、マスターユーザーパスワードを入力します。

以下のような出力結果が表示されるはずです。

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

MySQL Workbench からの接続

MySQL Workbench から接続するには

  1. MySQL Workbench (MySQL Workbench のダウンロード) をダウンロードしてインストールします。

  2. MySQL Workbench を開きます。

    
                        MySQL Workbench
  3. [データベース] から、[Manage Connections (接続の管理)] を選択します。

  4. [Manage Server Connections (サーバー接続の管理)] ウィンドウで、 [新規] を選択します。

  5. [Connect to Database (データベースに接続)] ウィンドウに、次の情報を入力します。

    • [Stored Connection] – 接続の名前 (MyDB など) を入力します。

    • [ホスト名] – DB インスタンスのエンドポイントを入力します。

    • [ポート] – DB インスタンスで使用するポートを入力します。

    • [ユーザー名] – マスターユーザーなど、有効なデータベースユーザーのユーザー名を入力します。

    • [パスワード] – 必要に応じて、[Store in Vault (ボールトに保存)] を選択し、ユーザーのパスワードを入力して保存します。

    ウィンドウは次のようになります。

    
                        MySQL Workbench 接続ウィンドウ
  6. 必要に応じて [Test Connection] を選択して、DB インスタンスへの接続が成功したことを確認します。

  7. [Close] を選択します。

  8. [データベース] から、[Connect to Database (データベースに接続)] を選択します。

  9. [Stored Connection] から、接続を選択します。

  10. [OK] を選択します。

MySQL Workbench の使用方法については、「MySQL Workbench のドキュメント」を参照してください。

MySQL 接続の最大数

Amazon RDS MySQL DB インスタンスへの許可されている接続の最大数は、DB インスタンスの DB インスタンスクラスで利用できるメモリ量に基づきます。使用できるメモリ量が多い DB インスタンスは、使用できる接続数が多くなります。DB インスタンスクラスの詳細については、「DB インスタンスクラスの選択」を参照してください。

DB インスタンスの接続制限は、デフォルトで DB インスタンスの DB インスタンスクラスの最大値に設定されます。同時接続数は、DB インスタンスのパラメータグループの max_connections パラメータを使用して許可されている最大接続数を上限とする任意の値に設定できます。詳細については、「DB パラメータグループを使用する」を参照してください。

DB インスタンスに対して以下のクエリを実行することで、Amazon RDS MySQL DB インスタンスに許可されている最大接続数を取得できます。

SELECT @@max_connections;

DB インスタンスに対して以下のクエリを実行することで、Amazon RDS MySQL DB インスタンスへのアクティブな接続の数を取得できます。

SHOW STATUS WHERE `variable_name` = 'Threads_connected';