Skip to main content

分散型MySQL環境の作成

オンプレミス版の既存のインストールで、外部のMySQLデータベース(WindowsとLinuxの両方で動作するオープンソースデータベース)を使用することができます。例えば、これはContrastの分散環境を使用する場合などに必要となります。

ヒント

運用担当者やデータベース担当者と協力して、安全で耐久性のあるインストールを行ってください。

Ansibleのスニペットを使用して、Ubuntu 14.04にMySQLをインストールすることもできます。

また、GPGキーファイルはMySQLからダウンロードすることもできます。Contrastでは、バインドアドレス(bind_address)を「*」に変更していますが、ご利用のMySQLサーバとアプリケーションサーバのIPにバインドすることをお勧めします。ユーザを作成して、Contrastスキーマのみへアクセス、ホストのIPアドレスとサブネットに制限する権限を与えてください。

手順

以下の手順で、<jdbc.host>、<jdbc.port>、<jdbc.user><jdbc.pass><jdbc.schema>をご利用のホスト、ポート、ユーザ、パスワード、スキーマに置き換えてください。

  1. データベースサーバのホストにサポート対象バージョンのMySQLをインストールして構成します。

  2. Contrastのダウンタイムのためのメンテナンス時間を設けます。

  3. 組み込みのMySQLデータベースをバックアップします。

  4. MySQLに接続します。

    • Windows:

      mysql -h <jdbc.host> -P <jdbc.port> -u <jdbc.user> -p <jdbc.schema>
    • Linux:

      ./mysql -h <jdbc.host> -P <jdbc.port> -u <jdbc.user> -p <jdbc.schema>
  5. 次のコマンドでContrastのデータベースを作成します。

     create database <jdbc.schema>;
  6. 次のコマンドでMySQLユーザを作成します。

    CREATE USER '<jdbc.user>'@'%' IDENTIFIED BY '<jdbc.pass>';
  7. 次のコマンドでContrastユーザに権限を付与します。

    GRANT ALL PRIVILEGES ON *.* to '<jdbc.user>'@'%';.
  8. MySQLを終了(exit)します。

  9. MySQLのバックアップを復元します。<backup_location>をバックアップファイルの場所に、<backup_filename>をバックアップファイル名に置き換えてください。

    • Windows:

      mysql -h <jdbc.host> -P <jdbc.port> -u <jdbc.user> -p <jdbc.schema> < <backup_location>/<backup_filename>
    • Linux:

      ./mysql -h <jdbc.host> -P <jdbc.port> -u <jdbc.user> -p <jdbc.schema> < <backup_location>/<backup_filename>
  10. 暗号化プロパティエディタで設定を更新します。 暗号化ファイルの$CONTRAST_HOME/data/conf/database.propertiesを編集します。database.typeを検索してください。存在しない場合は、プロパティを新規に作成してください。このプロパティの値にdistributedを指定し、使用する分散データベースを指すようデータベースの接続に関する値も更新します。

    user@ubuntu:/opt/contrast/bin$ ./edit-properties  -e ../data/esapi/ -f ../data/conf/database.properties
    jdbc.type                                         : MYSQL
    database.prod.dir                                 : /opt/contrast/data/db
    jdbc.debug                                        : false
    jdbc.pass                                         : pass
    jdbc.schema                                       : contrast
    jdbc.host                                         : ubuntu
    database.bk.time                                  : 6:39:14
    jdbc.port                                         : 3306
    database.bk.enabled                               : false
    database.enabled                                  : true
    jdbc.url                                          : jdbc:mysql://ubuntu:3306/contrast
    jdbc.user                                         : contrast
    database.bk.dir                                   : /opt/contrast/data/backups/db
    jdbc.dialect                                      : com.aspectsecurity.contrast.teamserver.persistence.CustomMySQL5Dialect
    jdbc.driver                                       : com.mysql.jdbc.Driver
    
    Enter the name of the property to edit [q to Quit]: database.type
    Create new Property [database.type](y/N): y
    Enter a value for the property: distributed
    
    jdbc.type                                         : MYSQL
    database.prod.dir                                 : /opt/contrast/data/db
    jdbc.debug                                        : false
    jdbc.pass                                         : pass
    jdbc.schema                                       : contrast
    jdbc.host                                         : ubuntu
    database.bk.time                                  : 6:39:14
    jdbc.port                                         : 3306
    database.bk.enabled                               : false
    database.enabled                                  : true
    database.type                                     : distributed
    jdbc.url                                          : jdbc:mysql://ubuntu:3306/contrast
    jdbc.user                                         : contrast
    database.bk.dir                                   : /opt/contrast/data/backups/db
    jdbc.dialect                                      : com.aspectsecurity.contrast.teamserver.persistence.CustomMySQL5Dialect
    jdbc.driver                                       : com.mysql.jdbc.Driver
    
    Enter the name of the property to edit [q to Quit]:

    注記

    デフォルトの組み込みデータベースから分散環境に切り替える場合は、database.bk.enabledfalseに設定することも必要です。分散データベース構成でContrastを実行する場合、バックアップの設定は各自の責任で行ってください。

  11. オンプレミス版をWindowsシステムにインストールしている場合は、MySQLに対するcontrast-serverサービスの依存関係を削除します。

    Contrastを再起動する前に、以下のコマンドを使用して、MySQLサービスに対するcontrast-serverサービスの依存関係を削除してください。

    sc config contrast-server depend= ""
  12. Contrastを再起動します。