データベース・ノードおよびルーターの構成
次のような設定を使用して、セキュアなSSL接続を介して接続するためのデータベース・ノードおよびルーターを構成します。
- ルーター
-
ルーター構成ファイルで、次の設定が存在することを確認します:
CLIENT_SSL_MODE=PREFERRED CLIENT_SSL_CERT=absolute path of the generated router certificate CLIENT_SSL_KEY=absolute path of the generated router key SERVER_SSL_MODE=AS_CLIENT SERVER_SSL_VERIFY=VERIFY_IDENTITY SERVER_SSL_CA=absolute path of the common ca.pem placed on this server
構成後、すべてのユーザーに読取り権限を付与し、グループおよびその他のユーザーからの書込み権限を取り消します。
- データベース・ノード
-
各MySQLデータベース・ノードで、適切なセクションで次が設定されていることを確認します:
SSL_CAPATH=absolute path of the common ca.pem placed on this node SSL_CA=ca.pem SSL_CERT=server-cert.pem SSL_KEY=server-key.pem GROUP_REPLICATION_SSL_MODE=REQUIRED REQUIRE_SECURE_TRANSPORT=ON
データベース・ノードの構成後、すべてのユーザーに読取り権限を付与し、グループおよびその他のユーザーからの書込み権限を取り消します。
接続のテスト
構成が設定され、適切な権限が構成ファイルに付与されたら、データベース・ノードおよびルーターを再起動して設定をテストします。
- データベース・ノード接続のテスト
-
データベース・ノードが終了していないことを確認します。構成ファイルのログ・エラー設定のログで、SSL設定が受け入れられなかったことを示すエラーまたは警告がないか確認します。次のコマンドラインを使用して特定のノードに接続してみます(このノードの証明書で指定された共通名を使用します):
mysql -u username -p password -h db_common_name -P db_port --ssl-mode=VERIFY_IDENTITY --ssl-ca=path/of/ca.pem
接続でエラーが生成されないことを確認します。
同様に、適切なパラメータ値を指定して、異なるSSLモードで接続します。
ノート:
VERIFY_IDENTITY
では、ssl-cert
およびssl-key
は必須ではありません。ただし、データベース・ユーザーがX509認証を必要とする場合は、ssl-cert
とssl-key
の両方をclient-cert
とclient-key
で指定する必要があります。この方法を使用してすべてのデータベース・ノードをテストしてから、ルーター接続をテストします。
- ルーター接続のテスト
-
データベース・ノードが起動したら、ルーターを再起動し、終了しないように監視します。
構成ファイルのログ・エラー設定のログで、SSL設定が受け入れられなかったことを示すエラーまたは警告がないか確認します。エラーや警告がない場合は、次のコマンドを使用して、ルータからデータベースへの接続を試みます。ルーターの証明書に指定されている共通名を使用していることを確認します:mysql -u username -p password -h router_common_name -P router_port --ssl-mode=VERIFY_IDENTITY --ssl-ca=path/of/ca.pem
接続がエラーなしで行われることを確認します。
- ルーターからデータベース・ノードへの接続の確認
-
最初に、次のコマンドを使用して、現在アクティブなプライマリノードを確認します:
MySQL> SHOW VARIABLES like '%hosts%';
データベースからログアウトし、データベースを別のノードに切り替えます。次に、次のコマンドを使用して、ルーターからデータベースに再度ログインします:mysql -u username -p password -h router_common_name -P router_port --ssl-mode=VERIFY_IDENTITY --ssl-ca=path/of/ca.pem
同じコマンドを再度使用して、現在アクティブなプライマリ・ノードを確認します:
MySQL> SHOW VARIABLES like '%hosts%';
親トピック: Group ReplicationクラスタでのSSL構成