Amazon RDS Proxy を使用して Amazon RDS for MySQL DB インスタンスまたは Aurora MySQL 互換 DB クラスターに接続するにはどうすればよいですか?

所要時間2分
0

Amazon RDS Proxy を使用して MySQL DB インスタンス用の Amazon Relational Database Service (Amazon RDS) に接続したいと考えています。あるいは、Amazon RDS Proxyを使用して Amazon Aurora MySQL 互換エディション DB クラスターに接続したいと考えています。

解決策

開始前に、Amazon RDS Proxy はデータベースと同じ仮想プライベートクラウド (VPC) にある必要があります。データベースをパブリックにアクセス可能にできますが、プロキシはパブリックにアクセス可能にはできません。

1.    AWS Secrets Manager にデータベース認証情報を作成します
**注意:**シークレットを作成するときは、データベースと同じユーザー名とパスワードを使用します。

2.    (オプション) AWS ID 、アクセス管理 (IAM) ポリシー、および IAM ロールを作成します
**注意:**Amazon RDS Proxy は、ステップ 3 で IAM ロールを自動的に作成します。ステップ 2 に従って、独自の IAM ロールを作成します。

3.    Amazon RDS Proxy を作成します

4.    プロキシエンドポイントに到達可能であることを確認するには、以下のコマンドを実行します:

nc -zv <proxy_endpoint> 3306

出力例:

nc -z test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com 3306Connection to test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com 3306 port [tcp/mysql] succeeded!

注意: 前述のコマンドは、Amazon RDS Proxy と同じ VPC にある Amazon Elastic Compute Cloud (Amazon EC2) マシンでのみ実行してください。コマンドはローカルマシンでは実行されません。

5.    Amazon RDS Proxy を使用して RDS DB インスタンスに接続するには、次のコマンドを実行します:

mysql -h <proxy_end_point> -u username -p

出力例:

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2946664484
Server version: 5.7.28-log
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>

あるいは、SSL/TLS 接続で Amazon RDS Proxy を使用して DB インスタンスに接続します:

1.    (オプション) Amazon RDS Proxyを作成する場合、**[トランスポート層セキュリティを要求する]**を有効にします。既存の Amazon RDS Proxy を変更することもできます。
注意: パラメータを 要求済みに変更する場合、接続には SSL/TLS を使用する必要があります。Amazon RDS Proxy はプレーンテキスト接続を拒否します。パラメータを変更しない場合、Amazon RDS Proxy は SSL/TLS の有無にかかわらず DB インスタンスに接続できます。

2.    Amazon Trust Services から Amazon Root CA 1 trust Store .pem ファイルをダウンロードします:

wget https://www.amazontrust.com/repository/AmazonRootCA1.pem

3.    SSL を使用して DB インスタンスに接続します:

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=REQUIRED --ssl-ca=AmazonRootCA1.pem -p

あるいは、次のコマンドを実行し、SSL/TLS を使用して DB インスタンスに接続することもできます:

mysql -h test-proxy.proxy-xxxxxxxxxxxxx.eu-west-1.rds.amazonaws.com -u admin --ssl-mode=VERIFY_IDENTITY --ssl-ca=AmazonRootCA1.pem -p

注意: Amazon RDS Proxy はワイルドカード証明書を使用します。MySQL クライアントを使用して SSL/TLS VERIFY\ _IDENTITY モードで接続する場合、MySQL 8.0 と互換性のある mysql コマンドを使用する必要があります。

接続すると、DB インスタンスは次の出力を返します:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 12659040
Server version: 5.7.28-log
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

関連情報

Amazon RDS Proxy のトラブルシューティング

Amazon RDS Proxy を使用する

コメントはありません