Amazon Aurora を使用するために Confluence Data Center を構成する

このページの内容:

Confluence Data Center は、単一ライターの、PostgreSQL 互換の Amazon Aurora のクラスタ化データベースの使用をサポートしています。一般的なプロダクショングレードのクラスタでは、異なるアベイラビリティ ゾーンに少なくとも 1 つのリーダーが含まれます。ライターが失敗した場合、Amazon Aurora はリーダーの 1 つを自動的にプロモートしてライターにします。詳細は「Amazon Aurora の特徴: PostgreSQL 互換エディション」 を参照してください。

Confluence Data Center を Amazon Aurora とデプロイ

Amazon Aurora を使用した新しい Confluence Data Center デプロイを作成するには、 Confluence のための AWS クイックスタートを使用することをおすすめします。このクイックスタートを使用して、1 つのライターと 2 つのリーダーを別々のアベイラビリティ ゾーンに持つ、PostgreSQL 互換の Amazon Aurora クラスタを構成できます。詳細は、「AWS で Confluence Data Center を実行する」 を参照してください。

既存のクイックスタート デプロイを Amazon Aurora に接続  

2019 年 6 月 11 日より前にクイックスタートを使用して Confluence Data Center をデプロイした場合、それを新しい Amazon Aurora クラスタに接続することはできません。この日付より前のクイックスタート バージョンでは、Aurora との互換性のない設定がいくつか適用されていました。

この場合、既存のデータを新しい Confluence Data Center デプロイに移行する必要があります。

  1. 最新の Confluence のための AWS クイックスタートを使用して、Confluence Data Center デプロイを作成します。

  2. 新旧両方のデプロイのアプリケーション ノードで Confluence をシャットダウンします。スタンドアロンの Synchrony クラスタを使用する場合、そのクラスタ内のすべてのノードもシャットダウンします。

  3. 古いデプロイから新しいデプロイにデータを移行します。

    • EFS: 簡単にデプロイできるバックアップ ソリューションを使用して古い EFS のバックアップを実行し、新しいデプロイに復元する方法について、「EFS-to-EFS Backup」をご参照ください。 

    • データベース: Amazon RDS から PostgreSQL 互換の Amazon Aurora クラスタへの移行手順について、「PostgreSQL 互換で Amazon Aurora にデータを移行する」をご参照ください。

移行が完了したら、新しいデプロイのすべてのアプリケーション ノードで Confluence を再起動します。スタンドアロンの Synchrony クラスタを使用する場合、そのすべてのノードを再起動します。 

Confluence 検索を期待どおりに動作させるため、移行後にコンテンツ インデックスの再構築を行うことを強くおすすめします。  

Amazon Aurora データベースの手動セットアップ

Confluence Data Center では、以下の構成での Amazon Aurora クラスタの使用をサポートしています。

  • 1 つ以上のリーダーにレプリケートするライターが 1 つのみ必要。

  • PostgreSQL エンジンはバージョン 9.6 である。

詳細は「サポート対象プラットフォーム」を確認してください。

AWS ドキュメント

AWS は、Aurora データベースのセットアップおよびそこへの移行に役立つガイドを提供しています。

また、Amazon はマネージド移行を実現するための AWS Database Migration Service も提供しています。このサービスは、最小限のダウンタイムで、さまざまなソース データベースから Aurora への移行をサポートするものです。

2019 年 6 月 11 日より前にクイックスタートを使用して Confluence Data Center をデプロイした場合、それを新しい Amazon Aurora クラスタに接続することはできません。更新されたクイックスタートを使用して Confluence Data Center を再デプロイし、データを移行する必要があります。詳細については「既存のクイックスタートデプロイをAmazon Aurora に接続する」を参照してください。


Confluence Data Center を新しい Amazon Aurora データベースに接続する

Aurora クラスタをデプロイしてそこにデータベースを移行したら、それを Confluence に適切に接続する必要があります。これには、Confluence Data Center で使用されるデータベース URL の更新が含まれます。

Confluence Data Center は、Aurora クラスタのライター エンドポイント URL を指し、targetServerType パラメーターを含んでいる必要があります。このパラメーターによって Confluence はライター データベース インスタンスをターゲットにできるため、フェイルオーバー後にアプリケーションが再接続できるようになります。

データベース URL は以下のようになります。

jdbc:postgresql://<CLUSTER_WRITER_ENDPOINT>:<CLUSTER_WRITER_PORT>/<DATABASE_NAME>?targetServerType=master

Modular Architecture for Amazon Aurora PostgreSQL にしたがって Aurora クラスタをデプロイした場合、AWS の [出力] タブでクラスタ ライターの詳細を確認できます。RDSEndpointAddress および RDSEndpointAddressPort の値が、それぞれ CLUSTER_WRITER_ENDPOINT および CLUSTER_WRITER_PORT になります。

以降の手順では、Confluence と Aurora を接続するプロセスについて説明します。

ステップ 1: Confluence Data Center のシャットダウン

Confluence Data Center のデータベース接続を安全に再構成するため、完全停止を行うことをおすすめします。これを行うには、すべてのアプリケーション ノードで Confluence を停止します。

スタンドアロンの Synchrony クラスタがある場合は、各ノードで Synchrony を停止します。

ステップ 2: 各 Confluence ノードが使用するデータベース URL の更新

この手順の実行方法は、現在の Confluence のデータベースへの接続方法によって異なります。

直接 JDBC 接続を使用する場合

  1. 1 つめのノードで、<local-home>/confluence-cfg.xml ファイルを編集します。

  2. 次のように、hibernate.connection.url プロパティをクラスタのライター エンドポイント URL で更新します。

    <property name="hibernate.connection.url">jdbc:postgresql://<CLUSTER_WRITER_ENDPOINT>:<CLUSTER_WRITER_PORT>/<DATABASE_NAME>?targetServerType=master
  3. 他のすべてのノードでこの変更を繰り返します。

  4. Confluence のノードを 1 つずつ起動します。

この変更は、共有ホームにある confluence-cfg.xml のコピーではなく、各ノードのローカル ホーム ディレクトリで行う必要があります。

データソース接続を使用する場合

  1. すべてのノードで Confluence を停止します。

  2. 1 つめのノードで、<install-directory>/conf/server.xml ファイルを編集します。

  3. 次のように、データソースの Resource 要素の url パラメータをクラスタのライター エンドポイント URL で更新します。

    <Resource name="jdbc/confluence" auth="Container" type="javax.sql.DataSource" 
    username="<database-user>" 
    password="<password>" 
    driverClassName="org.postgresql.Driver" 
    url="jdbc:postgresql://<CLUSTER_WRITER_ENDPOINT>:<CLUSTER_WRITER_PORT>/<DATABASE_NAME>?targetServerType=master" 
    maxTotal="60" 
    maxIdle="20" 
    validationQuery="select 1"/>
  4. 他のすべてのノードでこの変更を繰り返します。

  5. Confluence のノードを 1 つずつ起動します。

ステップ 3: 共同編集の構成

共同編集を実現する Synchrony は 2 つの異なる方法でデプロイ可能で、これに応じてデータベース URL の受け渡し方法が異なります。

  1. Confluence で管理- Confluence が同じノードで自動的に Synchrony プロセスを起動して管理します。

  2. スタンドアロンの Synchrony クラスタ - スタンドアロンの Synchrony を必要なノード数で独自のクラスタでデプロイおよび管理します。これはクイックスタートを使用して AWS で Confluence をデプロイする際の既定の方法です。

Synchrony を Confluenceで管理している場合、特別な操作は不要です。Confluence が URL を Synchrony に渡します。

スタンドアロンの Synchrony クラスタを実行する場合、スタートアップ スクリプトでクラスタのライター エンドポイント URL を提供する必要があります。このスクリプトは、オペレーティング システムに応じて、<synchrony-home>/start-synchrony.sh または start-synchrony.bat です。スクリプトを次のように編集します。

start-synchrony.sh (Linux)
DATABASE_URL="jdbc:postgresql://<CLUSTER_WRITER_ENDPOINT>:<CLUSTER_WRITER_PORT>/<DATABASE_NAME>?targetServerType=master"
start-synchrony.bat (Windows)
set DATABASE_URL=jdbc:postgresql://<CLUSTER_WRITER_ENDPOINT>:<CLUSTER_WRITER_PORT>/<DATABASE_NAME>?targetServerType=master

スタンドアロンの Synchrony クラスタのセットアップの詳細については、「Confluence Data Center 用に Synchrony クラスタをセットアップする」を参照してください。

Synchrony を Linux サービスとして実行する場合、サービスを再インストールする必要があります。


ステップ 4: Confluence の再起動

データベース URL の必要な更新を行ったら、Confluence を各アプリケーション ノードで再起動できます。一度に 1 ノードで操作を行います。

スタンドアロンの Synchrony クラスタがある場合、各クラスタ ノードでそれを再起動します。

最終更新日 2019 年 11 月 11 日

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

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