MariaDB データベースエンジンを実行している DB インスタンスへの接続
Amazon RDS によって DB インスタンスがプロビジョニングされたら、標準の MariaDB クライアントアプリケーションまたはユーティリティを使用してインスタンスに接続できます。接続文字列で、DB インスタンスのエンドポイントからのドメインネームシステム (DNS) アドレスをホストパラメータとして指定します。また、ポートパラメータとして、DB インスタンスのエンドポイントのポート番号も指定します。
MySQL コマンドラインクライアントなどのツールを使用して、Amazon RDS MariaDB DB インスタンスに接続できます。MySQL コマンドラインクライアントの使用についての詳細は、MariaDB ドキュメントの「mysql コマンドラインクライアント
ほとんどの Linux ディストリビューションには、Oracle MySQL クライアントではなく MariaDB クライアントが含まれています。Amazon Linux 2 を含むほとんどの RPM ベースの Linux ディストリビューションに MySQL コマンドラインクライアントをインストールするには、次のコマンドを実行します。
yum install mariadb
ほとんどの DEB ベースの Linux ディストリビューションに MySQL コマンドラインクライアントをインストールするには、次のコマンドを実行します。
apt-get install mariadb-client
MySQL コマンドラインクライアントのバージョンを確認するには、次のコマンドを実行します。
mysql --version
現在のクライアントバージョン用の MySQL ドキュメントを表示するには、次のコマンドを実行します。
man mysql
Virtual Private Cloud (VPC) の外部から Amazon VPC に基づいて DB インスタンスに接続するには、DB インスタンスがパブリックにアクセスできる必要があります。また、DB インスタンスのセキュリティグループのインバウンドルールを使用してアクセスを許可し、その他の要件を満たしている必要があります。詳細については、「Amazon RDS DB インスタンスに接続できない」を参照してください。
MariaDB DB インスタンスへの接続には、SSL 暗号化を使用できます。詳細については、「MariaDB DB インスタンスで SSL を使用する」を参照してください。
トピック
MariaDB DB インスタンスの接続情報の検索
DB インスタンスの接続情報には、エンドポイント、ポート、およびマスターユーザーなどの有効なデータベースユーザーが含まれます。例えば、エンドポイントの値が mydb.123456789012.us-east-1.rds.amazonaws.com
であるとします。この場合、ポート値は 3306
であり、データベースユーザーは admin
です。この情報を考慮して、接続文字列に次の値を指定します。
-
ホスト、ホスト名または DNS 名には、
mydb.123456789012.us-east-1.rds.amazonaws.com
を指定します。 -
ポートで、
3306
を指定します。 -
ユーザーには、
admin
を指定します。
DB インスタンスに接続するには、MariaDB DB エンジンの任意のクライアントを使用します。例えば、MySQL コマンドラインクライアントまたは MySQL ワークベンチを使用できます。
DB インスタンスの接続情報を検索するには、AWS Management Console、AWS Command Line Interface (AWS CLI) describe-db-instances コマンド、または Amazon RDS API DescribeDBInstances オペレーションを使用して、詳細を一覧表示できます。
AWS Management Console で DB インスタンスの接続情報を探すには
AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、[データベース] を選択して DB インスタンスのリストを表示します。
-
MariaDB DB インスタンスの名前を選択して、その詳細を表示します。
-
[接続とセキュリティ] タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。
-
マスターユーザー名を見つける必要がある場合は、[設定] タブを選択し、[マスターユーザー名] の値を表示します。
AWS CLI を使用して MariaDB DB インスタンスの接続情報を検索するには、describe-db-instances コマンドを呼び出します。呼び出しで、DB インスタンス ID、エンドポイント、ポート、マスターユーザー名をクエリします。
Linux、macOS、Unix の場合:
aws rds describe-db-instances \ --filters "Name=engine,Values=mariadb" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
Windows の場合:
aws rds describe-db-instances ^ --filters "Name=engine,Values=mariadb" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
出力は次のようになります。
[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]
Amazon RDS API を使用して DB インスタンスの接続情報を検索するには、DescribeDBInstances オペレーションを呼び出します。出力で、エンドポイントアドレス、エンドポイントポート、およびマスターユーザー名の値を検索します。
MySQL コマンドラインクライアントからの接続 (非暗号化)
クライアントとサーバーが同じ VPC にあり、ネットワークが信頼されている場合に限り、暗号化されていない MySQL 接続を使用します。暗号化された接続の使用については、「SSL を使用した MySQL コマンドラインクライアントからの接続 (暗号化)」を参照してください。
MySQL コマンドラインクライアントを使用して DB インスタンスに接続するには、クライアントコンピュータのコマンドプロンプトで次のコマンドを入力します。これにより、MariaDB DB インスタンスのデータベースに接続されます。
の DB インスタンスの DNS 名 (エンドポイント) を、<endpoint>
で使用したマスターユーザー名に置き換えます。パスワードの入力を求められたときに使用したマスターパスワードを入力します。<mymasteruser>
mysql -h
<endpoint>
-P 3306 -u<mymasteruser>
-p
ユーザーのパスワードを入力すると、次のような出力が表示されます。
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 31
Server version: 10.5.8-MariaDB-log Source distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
SSL を使用した MySQL コマンドラインクライアントからの接続 (暗号化)
インスタンスが作成されるとき、Amazon RDS で DB インスタンスの SSL 証明書が作成されます。SSL 証明書認証を有効にした場合、SSL 証明書には、なりすまし攻撃から保護するために、SSL 証明書の共通名 (CN) として DB インスタンスのエンドポイントが含まれます。SSL を使用して DB インスタンスに接続するには、以下の手順を実行します。
MySQL コマンドラインクライアントを使用して SSL で DB インスタンスに接続するには
-
すべての AWS リージョンで使用できるルート証明書をダウンロードします。
証明書のダウンロードについては、SSL/TLS を使用した DB インスタンスへの接続の暗号化 を参照してください。
-
mysql
ユーティリティを使用して SSL で DB インスタンスに接続するには、コマンドプロンプトで次のコマンドを入力します。-h
パラメーターは、使用中の DB インスタンスの DNS 名に置き換えます。--ssl-ca
パラメーターは、必要に応じて SSL 証明書のファイル名に置き換えます。mysql -h
mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com
--ssl-ca=global-bundle.pem
-p SSL 接続で DB インスタンスのエンドポイントを SSL 証明書のエンドポイントと照合できるように、
--ssl-verify-server-cert
パラメーターを含めます。次に例を示します。mysql -h
mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com
--ssl-ca=global-bundle.pem
--ssl-verify-server-cert -pプロンプトが表示されたら、マスターユーザーパスワードを入力します。
次のような出力が表示されます。
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.8-MariaDB-log Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
MariaDB DB インスタンスへの接続のトラブルシューティング
新しい DB インスタンスへの接続に失敗する一般的な原因には、次の 2 つがあります。
-
MariaDB アプリケーションまたはユーティリティが実行されているデバイスまたは Amazon EC2 インスタンスからの接続を許可しないセキュリティグループを使用して DB インスタンスが作成されました。DB インスタンスが Amazon VPC で作成された場合、接続を許可する VPC セキュリティグループが必要です。詳細については、「Amazon Virtual Private Cloud VPC および Amazon RDS」を参照してください。
セキュリティグループでインバウンドのルールを追加または編集できます。ソース には [My IP] を選択します。これにより、ブラウザで検出された IP アドレスから DB インスタンスへのアクセスが許可されます。
DB インスタンスが VPC の外部で作成された場合は、接続を許可する DB セキュリティグループが必要です。
-
DB インスタンスが、デフォルトポートの 3306 を使用して作成されたが、会社のファイアウォールルールで、社内ネットワークのデバイスからそのポートへの接続がブロックされています。この問題を解決するには、別のポートでインスタンスを再起動します。
接続の問題の詳細については、「Amazon RDS DB インスタンスに接続できない」を参照してください。