本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連接至您的資料庫叢集,方法為從命令列使用 IAM 身份驗證:AWS CLI 和 mysql 用戶端
您可以使用 AWS CLI 和 mysql 命令列工具,從命令列連接至 Aurora 資料庫叢集,如下所述。
以下是使用 IAM 身份驗證連線至資料庫叢集的先決條件:
產生 IAM 身份驗證字符
以下範例顯示如何使用 AWS CLI 來取得已簽署的身份驗證字符。
aws rds generate-db-auth-token \
--hostname rdsmysql.123456789012.us-west-2.rds.amazonaws.com \
--port 3306 \
--region us-west-2 \
--username jane_doe
範例中的參數如下:
--hostname – 您想要存取之資料庫叢集的主機名稱
--port – 用於連線資料庫叢集的連接埠號碼
--region – 執行資料庫叢集的 AWS 區域
--username – 您想要存取的資料庫帳戶
字符開頭的前幾個字元看起來如下所示。
rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
連接至資料庫叢集
連線的一般格式如下所示。
mysql --host=hostName --port=portNumber --ssl-ca=[full path]rds-combined-ca-bundle.pem --enable-cleartext-plugin --user=userName --password=authToken
參數如下:
--host – 您想要存取之資料庫叢集的主機名稱
--port – 用於連線資料庫叢集的連接埠號碼
--ssl-ca – 包含公有金鑰的 SSL 憑證檔案
--enable-cleartext-plugin – 指定 AWSAuthenticationPlugin 必須用於此連線的值
--user – 您想要存取的資料庫帳戶
--password – 已簽署的 IAM 身份驗證字符
身份驗證字符由數百個字元組成。在命令列上可能會顯得雜亂。此問題的一個解決方法是將字符儲存到環境變數,然後在連接時使用該變數。以下範例顯示此解決方法的一種型態。
RDSHOST="rdsmysql.123456789012.us-west-2.rds.amazonaws.com"
TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username jane_doe )"
mysql --host=$RDSHOST --port=3306 --ssl-ca=/sample_dir/rds-combined-ca-bundle.pem --enable-cleartext-plugin --user=jane_doe --password=$TOKEN
使用 AWSAuthenticationPlugin 來連接時會以 SSL 保護連線。若要確認是否如此,請在 mysql> 命令提示中輸入下列命令。
show status like 'Ssl%';
輸出中的以下幾行顯示更多詳細資訊。
+---------------+-------------+
| Variable_name | Value |
+---------------+-------------+
| ... | ...
| Ssl_cipher | AES256-SHA |
| ... | ...
| Ssl_version | TLSv1.1 |
| ... | ...
+-----------------------------+