Confluence Data Center 用に Synchrony クラスタを設定する

Confluence Data Center ライセンスをお持ちの場合、Synchrony を実行するには 2 つのメソッドを使用できます。

  • Confluence で管理 (推奨)
    Confluence は同じノードで自動的に Synchrony プロセスを起動して管理します。手動による操作は不要です。 
  • スタンドアロンの Synchrony クラスタ (ユーザーによる管理)
    ユーザーはスタンドアロンな Synchrony を必要なノード数で、独自のクラスタでデプロイおよび管理します。大規模なセットアップが必要です。 

シンプルなセットアップを実現してメンテナンスの労力を極力減らしたい場合、Synchrony を Confluence で管理することをおすすめします。完全な制御を実現したい場合や、エディタの高い可用性の確保が必須である場合、独自のクラスタで Synchrony を管理することが、組織に最適なソリューションである可能性があります。 

このページの内容:


このページでは、自身のインフラストラクチャにホストするスタンドアロンの Synchrony クラスタのセットアップ手順について説明します。独自の Synchrony クラスタを実行する機能は、Data Center ライセンスでのみ利用可能です。 

Architecture overview

以下は、独立したクラスタを使用して Synchrony を自身で管理する際のアーキテクチャの簡単な図です。この図には、ノード間の通信は表示されません。 

tip/resting Created with Sketch.

共同編集を Confluence Data Center 6.12 より前に有効化していた場合、スタンドアロンの Synchrony が既定のセットアップとなります。

より簡単なセットアップをご希望の場合、Confluence に Synchrony の管理を許可する方法について、「スタンドアロンの Synchrony クラスタから管理対象の Synchrony に移行する」を参照してください。


Synchrony のスタンドアロン クラスタのセットアップ

このページでは、自身のインフラストラクチャで Synchrony のスタンドアロン クラスタをセットアップする方法について説明します。 

AWS または Azure をお使いの場合、スタンドアロンの Synchrony クラスタを持つ Confluence をセットアップするには、アトラシアンが提供しているいずれかのテンプレートを利用できます。 

1. Synchrony ノードのプロビジョニング

このガイドでは、Synchrony ノード用にハードウェアまたは仮想インスタンスをプロビジョニング済みであることを想定しています。2 つの Synchrony ノードから始めることをおすすめします。 

Synchrony 用に 2GB のメモリと、Synchrony アプリケーションおよびログに十分なディスク容量を許可する必要があります。   

2. Synchrony ホーム ディレクトリを作成する

最初の Synchrony ノードに Synchrony ディレクトリを作成するには、次の手順を行います。

  1. Grab the <install-directory>/bin/synchrony directory from one of your Confluence nodes and move it to your new Synchrony node.  We'll call this your <synchrony-home> directory.
  2. Copy synchrony-standalone.jar from your Confluence local home directory to your <synchrony-home> directory. 
  3. Copy your database driver from your Confluence <install-directory>/confluence/web-inf/lib to your <synchrony-home> directory or other appropriate location on your Synchrony node.

3. 開始および停止スクリプトの編集

アトラシアンでは、各ノードで Synchrony を開始および停止するスクリプトを提供しています。これを自身の環境に合わせて編集し、情報を追加する必要があります。

  1. Edit the <synchrony-home>/start-synchrony.sh or start-synchrony.bat file 
  2. [パラメーターの設定] に記載されているすべての必須パラメータに詳細を入力します。
    それぞれの説明については、以下の必須プロパティを参照してください。 
  3. 指定したいオプション プロパティの詳細を入力します。
    それぞれの説明については、以下のオプション プロパティを参照してください。 
  4. ファイルを保存する。 
  5. start-synchrony スクリプトを実行して、Synchrony を起動します。
  6. Visit http://<SERVER_IP>:<SYNCHRONY_PORT>/synchrony/heartbeat  to check Synchrony is running. 

4. Synchrony ノードを追加してロード バランサを設定する

2 番目の Synchrony ノードを作成するには、次の手順を実行します。

  1. <synchrony-home> ディレクトリを 2 番目の Synchrony ノードにコピーします。 
  2. そのノードで start-synchrony スクリプトを使用して Synchrony を起動します。各ノードがジョインすると、コンソールに次のように表示されます。

    Members [2] {
    	Member [172.22.52.12]:5701
    	Member [172.22.49.34]:5701 
    }
    
  3. Synchrony のトラッキング用にロード バランサを設定します。
    最善の結果を得られるよう、ロード バランサで WebSocket 接続を許可する必要があります。Synchrony は HTTP リクエストを承認できないため、ロード バランサで SSL 接続を終了させる必要があります。

    Confluence と Synchrony の両方で同じロード バランサを使用するか、異なる 2 つのロード バランサを使用することができます。ここで Synchrony ロード バランサは、Synchrony のトラフィックを処理するロード バランサを表します。 

5. Confluence のノードを 1 つずつ起動する

Synchrony がクラスタで実行されるようになったため、ここで Confluence を含めます。続行する前に、すべてのノードで Confluence を停止する必要があります。 

  1. すべてのノードで Confluence を停止します。 
  2. 次のシステム プロパティを使用して、Confluence を1 つのノードで起動します。
    このプロパティは Confluence に対して Synchrony の場所を伝え、Confluence が Confluence ノードで Synchrony プロセスを自動的に開始しないようにします。

    -Dsynchrony.service.url=http://<synchrony-load-balancer-url>/synchrony/v1

    For example  http://42.42.42.42/synchrony/v1 or 
    http://synchrony.example.com/synchrony/v1

  3. Confluence が Synchrony へ接続できることを確認します。 > [共同編集] > [クラスタリング] へ移動してから、先ほど開始した Confluence ノードの横で  > [共同編集] を選択します。

    Synchrony モードは [スタンドアロン Synchrony クラスタ] になっている必要があります。



    このモードが [Confluence で管理] の場合、Confluence ノードは Synchrony クラスタに接続されていません。Synchrony サービス URL のシステム プロパティが適切に渡されていることを確認します。
     
  4. Repeat this process, starting each Confluence node, one at a time, with the synchrony.service.url

6. 共同編集を有効にする

Confluence を初めてインストールする場合、共同編集は既定で有効になっています。以前の Confluence バージョンからアップグレードした場合や、過去に無効化している場合、共同編集は引き続き無効になっている可能性があります。 

共同編集を有効にするには、次の手順を実行します。

  1. > [一般設定] > [共同編集] に進みます。
  2. [モードの変更] を選択します。
  3. [オン] を選択してから、[変更] を選択します。

これで、ページの編集を試すことができます。ロード バランサ経由で Confluence にアクセスする必要があります。ノードに直接アクセスする場合、ページを作成または編集することはできません。

接続先の Synchrony URL が変更されるため、この変更を加える前にエディタを開いていたユーザーは、編集を続行するためにページを更新する必要があります。

スタンドアロンの Synchrony の必須プロパティ

これらのプロパティは、独自のクラスタでスタンドアロンの Synchrony を実行している場合にのみ適用されます。Synchrony が Confluence (Server または Data Center) によって管理されている場合、これらのプロパティは適用されません。 

start-synchrony スクリプトで次のプロパティを提供する必要があります。 

プロパティ名 説明
SERVER_IP この Synchrony ノードの公開 IP アドレスまたはホスト名。プライベート IP アドレスの場合もあります。その他のノードによって、Synchrony が到達可能なアドレスに設定する必要があります。
DATABASE_URL This is the URL for your Confluence database. For example jdbc:postgresql://yourserver:5432/confluence . You can find this URL in <local-home>/confluence.cfg.xml .
DATABASE_USER Confluence データベース ユーザーのユーザー名。
DATABASE_PASSWORD

(Optional) This is the password for your Confluence database user. If your password contains special characters, Synchrony may silently fail to connect to the database.

Rather than hardcoding your password, we recommend setting your password with the environment variable SYNCHRONY_DATABASE_PASSWORD. Any dots (".") in variable names (identifiers) will need to be replaced with underscores ("_").

CLUSTER_JOIN_PROPERTIES

これにより、SYnchrony のデータ検出方法が決定します。次のいずれかのパラメーター セットのコメントを外すよう求められます。

  • TCP/IP
  • マルチキャスト
  • AWS

これらに入力する値については、スクリプトのプロンプトに従ってください。

DATABASE_DRIVER_PATH データベース ドライバの jar ファイルへのパスです。Synchrony を独自のノードで実行している場合、データベース ドライバを適切なロケーションにコピーした後、そのロケーションへのパスを指定します。
SYNCHRONY_JAR_PATH This is the path to the synchrony-standalone.jar file you copied to this node.
SYNCHRONY_URL

This is the URL that the browser uses to contact Synchrony. Generally this will be the full URL of the load balancer Synchrony will run behind plus the Synchrony context path, for example http://yoursite.com:8091/synchrony .  

Note that it does not end with /v1 , unlike the synchrony.service.url system property passed to Confluence. If this URL doesn't match the URL coming from a users' browser, Synchrony will fail.

OPTIONAL_OVERRIDES 追加システム プロパティを指定できます。認識済みのシステム プロパティについては、以下の表を参照してください。

スタンドアロンの Synchrony のオプション プロパティ

これらのプロパティは、Synchrony をスタンドアロン クラスタで実行している場合にのみ適用されます。 

Synchrony を起動すると、以下に示すプロパティに既定値が渡されます。Synchrony を起動する際、これらのプロパティのいずれかを指定することで、これらの値を上書きすることを選択できます。 

プロパティ名 既定 説明
cluster.listen.port 5701

これは、Synchrony の Hazelcast ポートです。ポート 5701 を使用しない場合や使用できない場合は、このプロパティを指定します。

Confluence の Hazelcast ポート (5801) と同様に、ファイアウォールまたはネットワークの分離の使用を通じて、承認を受けたクラスタ ノードのみが Synchrony の Hazelcast ポートへの接続を許可されていることを確認してください。

synchrony.cluster.base.port 25500 Aleph のバインディング ポートです。Synchrony は Aleph を使用してノード間の通信を実行します。既定値を使用しない場合は、このプロパティを指定します。
cluster.join.multicast.group 224.2.2.3

クラスタ結合タイプがマルチキャストで、既定を使用しない場合はマルチキャスト グループの IP アドレスを指定できます。

cluster.join.multicast.port 54327 クラスタ結合タイプがマルチキャストで、既定を使用しない場合はマルチキャスト ポートを指定できます。
cluster.join.multicast.ttl 32 If the cluster join type is multicast, this is the time to live threshold. The default, 32, means the scope is restricted to the same site, organization or department. Specify this property if you want to use a different threshold.

cluster.join.aws.access.key


クラスタのジョイン タイプが AWS の場合、これが AWS アクセス キーです。

cluster.join.aws.secret.key


クラスタのジョイン タイプが AWS の場合、IAM ロールまたはシークレット キーで認証できます。これが AWS シークレット キーです。

cluster.join.aws.iam


クラスタのジョイン タイプが AWS の場合、IAM ロールまたはシークレット キーで認証できます。これが AWS IAM ロールです。

cluster.join.aws.region

us-east-1 クラスタのジョイン タイプが AWS の場合、これが Synchrony ノードを実行する AWS リージョンです。

cluster.join.aws.security.group


クラスタのジョイン タイプが AWS で、クラスタのメンバーを特定のセキュリティ グループのリソースに絞り込みたい場合、AWS セキュリティ グループの名前を指定します。

cluster.join.aws.tag.key


クラスタのジョイン タイプが AWS で、クラスタのメンバーを特定のタグが付いたリソースに絞り込みたい場合、AWS タグ キーを指定します。

cluster.join.aws.tag.value


クラスタのジョイン タイプが AWS で、クラスタのメンバーを特定のタグが付いたリソースに絞り込みたい場合、AWS タグのキー値を指定します。

cluster.join.aws.host.header


クラスタのジョイン タイプが AWS の場合、これが使用する Synchrony 用 AWS エンドポイントです (EC2 API に到達するためのアドレス。例: ec2.amazonaws.com)。

cluster.join.aws.timeout

5 クラスタのジョイン タイプが AWS の場合、これがジョイン タイムアウト (秒単位) です。
cluster.interfaces Defaults to the same value as SERVER_IP   This is the network interface Synchrony will use to communicate between nodes. Specify this property if you don't want to use the default, which uses the value of the required property Defaults to the same value as SERVER_IP  (also known as synchrony.bind).
synchrony.cluster.bind Defaults to the same value as SERVER_IP

This is the Aleph binding address. This should be set to the same value as cluster.interfaces.

Specify this property if you did not use the default value for cluster.interfaces.

synchrony.port 8091 Synchrony を実行する HTTP ポートです。ポート 8091 を利用できない場合は、別のポートを選択するようこのプロパティを指定します。
synchrony.context.path Defaults to the context path of SYNCHRONY_URL Synchrony のコンテキスト パスです。これを変更する必要はありません。
hazelcast.prefer.ipv4.stack
True If you're running Confluence in an IPv6 environment, you will need to set this property to False.


スタンドアロンの Synchrony を IPv6 環境で実行

IPv6 環境でスタンドアロンの Synchrony クラスタを実行する場合、Synchrony を次の JVM 引数で起動する必要があります。

-Dhazelcast.prefer.ipv4.stack=false

start-synchrony スクリプトを使用している場合は、スクリプトの次の行のコメントを解除します。  

スタンドアロンの Synchrony をサービスとして実行する 

スタンドアロンの Synchrony クラスタを実行していて、Synchrony を各ノード上でサービスとして実行したい場合は、「Linux でサービスとしてスタンドアロンの Synchrony を実行する」を参照してください。 

スタンドアロンの Synchrony を Windows サービスとして実行することはできません。管理対象の Synchrony への切り替えを検討してください。 

環境変数を使用してスタンドアロンの Synchrony に資格情報を提供する 

If you're running Synchrony standalone in a cluster, and you prefer to store sensitive information in your environment, rather than directly in the Synchrony startup scripts you can create a synchronyenv file, and use it to provide your database credentials.  This is only available in Linux environments. 

環境変数を使用して Synchrony に資格情報を提供する (Linux)」を参照してください。

最終更新日: 2019 年 2 月 5 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.