メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 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 インスタンスの詳細を一覧表示できます。エンドポイントの値が myinstance.123456789012.us-east-1.rds.amazonaws.com:3306 である場合、MySQL 接続文字列に以下の値を指定します。

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

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

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

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

  • MySQL アプリケーションまたはユーティリティが実行されているデバイスまたは Amazon EC2 インスタンスからの接続を許可しないセキュリティグループを使用して DB インスタンスが作成されました。DB インスタンスが VPC で作成された場合、接続を許可する VPC セキュリティグループが必要です。DB インスタンスが VPC の外部で作成された場合は、接続を許可する DB セキュリティグループが必要です。

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

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

Amazon Aurora DB クラスターとの接続の詳細については、「Amazon Aurora DB クラスターへの接続」を参照してください。

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

MySQL ユーティリティからの接続

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

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

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

Copy
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.6.27-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 および Amazon Aurora に対する IAM データベース認証」を参照してください。ネイティブのパスワード認証を使用して DB インスタンスに接続するには、以下の手順を行います。

To connect to a DB instance with SSL using the MySQL utility

  1. A root certificate that works for all regions can be downloaded here.

  2. Type the following command at a command prompt to connect to a DB instance with SSL using the MySQL utility. For the -h parameter, substitute the DNS name for your DB instance. For the --ssl-ca parameter, substitute the SSL certificate file name as appropriate.

    Copy
    mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-ca-2015-root.pem
  3. Include the --ssl-verify-server-cert parameter so that the SSL connection verifies the DB instance endpoint against the endpoint in the SSL certificate. For example:

    Linux、OS X、Unix の場合:

    Copy
    mysql \ -h myinstance.123456789012.us-east-1.rds.amazonaws.com \ --ssl-ca=rds-ca-2015-root.pem \ --ssl-verify-server-cert

    Windows の場合:

    Copy
    mysql ^ -h myinstance.123456789012.us-east-1.rds.amazonaws.com ^ --ssl-ca=rds-ca-2015-root.pem ^ --ssl-verify-server-cert
  4. Enter the master user password when prompted.

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

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

MySQL 接続の最大数

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

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

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

Copy
SELECT @@max_connections;

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

Copy
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

関連トピック