MySQL 5.1 リファレンスマニュアル :: 5 レプリケーション :: 5.3 レプリケーション ソリューション :: 5.3.7 SSLを使用するレプリケーションの設定
« 5.3.6 フェイルオーバでのマスタ切り替え

5.4 レプリケーション ノートとヒント »
Section Navigation      [Toggle]
  • 5.3 レプリケーション ソリューション
  • 5.3.1 バックアップのレプリケーション
  • 5.3.2 ストレージ エンジンが異なるマスタとスレーブのレプリケーション
  • 5.3.3 スケールアウトのレプリケーション
  • 5.3.4 異なるデータベースから異なるスレーブへのレプリケーション
  • 5.3.5 レプリケーション パフォーマンスの改善
  • 5.3.6 フェイルオーバでのマスタ切り替え
  • 5.3.7 SSLを使用するレプリケーションの設定

5.3.7. SSLを使用するレプリケーションの設定

クライアントとサーバの SSL と同様に SSL 接続を使用してレプリケーションをセットアップします。マスタに使用する適切なセキュリティ証明書、ならびに同類の証明書を同一の認証機関から、それぞれのサーバ用に取得します。

レプリケーションに必要なバイナリ ログの暗号化トランスファに SSL を使用するには、まず最初に SSL ネットワークをサポートするようにマスタをセットアップします。SSL 用にコンパイルしていない、あるいは構成していないなどの理由で、マスタが SSL 接続をサポートしない場合は、SSL 接続を介してレプリケーションを行うことはできません。

サーバとクライアントの SSL 接続 をセットアップに関する詳細は、項4.8.7.2. 「SSL接続」 を参照してください。

SSL をマスタで利用可能にするには、適切な証明書を用意して、次に示すコンフィギュレーション オプションを mysqld セクション内にあるマスタのコンフィギュレーションに付加します。

ssl-ca=cacert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem

オプションは次の通りです。

  • ssl-ca が CA 証明書 を認識する。

  • ssl-cert がサーバのパブリック キーを認識する。これをクライアントに送信すると、そこにある CA 証明書を認証する。

  • ssl-key がサーバ プライベート キーを認識する。

スレーブでは、SSL 情報の設定に 2 つのオプションがあります。スレーブの証明書をスレーブのコンフィギュレーション ファイルの client セクションに付加するか、もしくは CHANGE MASTER ステートメント を使って SSL 情報を明確に指定します。

前述のオプションを使用して、次の文字列をスレーブのコンフィギュレーション ファイルの client セクションに付加します。

[client]
ssl-ca=cacert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem

スレーブ サーバ を再稼動し、--skip-slave をスレーブがマスタへ接続しないようにします。CHANGE MASTER を使用して、マスタのコンフィギュレーションを指定し、master_ssl オプションを使用して、SSL 接続ができるようにします。

mysql> CHANGE MASTER TO \
    MASTER_HOST='master_hostname', \
    MASTER_USER='replicate', \
    MASTER_PASSWORD='password', \
    MASTER_SSL=1;

CHANGE MASTER コマンドで、SSL 証明ルールを指定するには、SSL ルールを付加します。

CHANGE MASTER TO \
      MASTER_HOST='master_hostname', \
      MASTER_USER='replicate', \
      MASTER_PASSWORD='password', \
      MASTER_SSL=1, \
      MASTER_SSL_CA = 'ca_file_name', \
      MASTER_SSL_CAPATH = 'ca_directory_name', \
      MASTER_SSL_CERT = 'cert_file_name', \
      MASTER_SSL_KEY = 'key_file_name';

マスタの情報が更新されたら、スレーブのレプリケーション プロセスを開始します。

mysql> START SLAVE;

SHOW SLAVE STATUS を使用して、SSL 接続が完了したかどうかを確認します。

CHANGE MASTER TO 構文に関する詳細は項12.6.2.1. 「CHANGE MASTER TO 構文」 を参照してください。

レプリケーション中に使用する SSL 接続 を強化する場合は、REPLICATION SLAVE 権限でユーザを作成し、そのユーザ に REQUIRE_SSL ルールを使用します。

mysql> GRANT REPLICATION SLAVE ON *.*
    -> TO 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass' REQUIRE SSL;
Copyright © 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates