メニュー
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 インスタンスに接続するには、以下の手順を行います。

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

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

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

    Copy
    mysql -h myinstance.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=rds-ca-2015-root.pem
  3. SSL 接続で DB インスタンスのエンドポイントを SSL 証明書のエンドポイントと照合できるように、--ssl-verify-server-cert パラメーターを含めます。(例:

    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. プロンプトが表示されたら、マスターユーザーパスワードを入力します。

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

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';

関連トピック