AWS での Confluence Data Center の実行

Confluence Data Center は AWS(Amazon Web Services)環境に最適です。AWS では、追加のノードをサイズ変更およびすばやく起動することで、柔軟にデプロイメントをスケーリングできるだけでなく、Confluence Data Center ですぐに動作する多数の管理されたサービスを提供し、すべての設定とメンテナンスを自動で処理することができます。

Data Center のメリットの詳細について興味をお持ちの方は、Confluence Data Center の概要をご確認ください。

このページの内容:


AWS Quick Start を使用した Confluence Data Center のデプロイ

AWS に Data Center クラスタ全体をデプロイする最も単純な方法は、Quick Start を使用することです。Quick Start では、セキュリティと可用性のための AWS ベスト プラクティスを使用して、AWS 上に特定の作業負荷をデプロイするのに必要な AWS コンピュータ、ネットワーク、ストレージ、およびその他のサービスを起動、設定、および実行します。 

以下は、Confluence Data Center Quick Start のアーキテクチャの概要です。

デプロイメントは、以下のコンポーネントで構成されています。

  • 自動スケーリング グループ内の、Confluence を実行する、クラスタ ノードとしての 1つ以上の Amazon Elastic Compute Cloud (EC2)インスタンス 
  • 自動スケーリング グループ内の、(共同編集に必要な) Synchrony を実行する、クラスタ ノードとしての 1つ以上の Amazon Elastic Compute Cloud (EC2)インスタンス 
  • ロード バランサおよび SSL Termination リバース プロキシの両方としての Amazon Application Load Balancer (ALB)
  • すべての Confluence ノードからアクセスできる添付ファイルとその他のファイルを含む共有ホーム ディレクトリのための Amazon Elastic File System (EFS)
  • 共有データベースとしての Amazon Relational Database (RDS) PostgreSQL インスタンス

アーキテクチャ、コンポーネント、およびデプロイメント プロセスの詳細については、「Quick Start ガイド」を参照してください。 

Confluence では、EC2 インスタンスにインストールされている Java Runtime Engine (/usr/lib/jvm/jre/) ではなく、Confluence にバンドルされている JRE (/opt/atlassian/confluence/jre/) が使用されている点に注意してください。 

クイック スタートをそのまま使用する、または自身で開発する

迅速な実装のため、Quick Start では手動インストールと同じレベルのカスタマイズは提供していません。テンプレートを現状のまま使用するか、参照用に使用して独自のテンプレートを作成することができます。 

EC2 のサイジングに関する推奨事項

Quick Start は Confluence および Synchrony ノードにデフォルトで c33.xlarge インスタンスを使用します。インスタンス タイプはユーザー次第ですが、Confluence のシステム要件を満たしている必要があります。インスタンス タイプを小さくすると(micro、small、medium)、一般的に、Confluence の実行には十分ではありません。

AWS 地域のサポート

Confluence の実行に必要なサービスが提供されていない地域もあります。Amazon Elastic File System (EFS) をサポートする地域を選択する必要があります。現在、次の地域では、クイック スタートを使用して Confluence をデプロイすることはできません。  

  • アジア太平洋地域 (シドニー)
  • EU (フランクフルト)
  • EU (アイルランド)
  • 米国東部 (バージニア)
  • 米国西部 (オレゴン州)

各地域で提供されるサービスは、時間と共に変化します。そのため、AWS ドキュメントの地域製品サービステーブルを確認して、希望する地域がまだサポートされていることを確認します。 


Confluence 6.3.1 以前をデプロイする場合....

6.3.2 より前の Confluence バージョンには、追加の依存性があります。Synchrony (共同編集に必須) は、Amazon API の操作にサードパーティ ライブラリを使用し、正しいエンドポイントを使用できない地域があります。つまり、次の地域で Synchrony を実行することはできません。

  • 米国東部 (オハイオ)
  • EU (ロンドン)1
  • アジア太平洋地域 (ムンバイ)1
  • アジア太平洋地域 (ソウルl)1
  • カナダ (中部)1

1 本記事の作成時点で、これらの地域は EFS に未対応です。そのため、EFS を Confluence の実行に使用することはできません。


独自の DNS サーバーで内部の対向サイトをセットアップする

独自の DNS サーバーを使用して内部の対向 Confluence サイトをデプロイする場合、Amazon Route 53 を使用してパブリック DNS と内部 DNS 間のリンクを作成することができます。 

  1. Route 53 で、hosted zone を作成します。ドメイン名はお好みのドメインです。
  2. すでに Confluence をセットアップしている場合、AWS コンソールで サービス > CloudFormation へ移動してスタックを選択し、スタックの更新 をクリックします(初めて Confluence をセットアップする場合は、以下のクイック スタート テンプレートに従います)。 
  3. その他のパラメータで、Route 53 Hosted Zone フィールドに hosted zone のドメイン名を入力します。 
  4. お好みのサブドメインを入力します。また、Sub-domain for Hosted Zone フィールドを空のままにしておくと、スタック名がサブドメインとして使用されます。 
  5. プロンプトに従ってスタックを更新します。その後、ロード バランサーおよび EFS URL が生成され、Route 53 にそれぞれのレコードが作成されます。 
  6. Confluence で、 > [一般設定] に移動し、Confluence のベース URL を Route 53 のドメインに更新します。 
  7. 最後に、各 Confluence ノードと Synchrony ノードを終了して再度プロビジョニングし、変更を有効にします。

拡大と縮小

Confluence または Synchrony クラスタ ノードの数を増減させる方法

  1. AWS コンソールで サービス > CloudFormation へ移動してスタックを選択し、スタックの更新 をクリックします。
  2. クラスター ノードの最小数クラスター ノードの最大数パラメーターを、希望に応じて変更します。

グループの自動拡張がこれらのパラメーターを検出して変更を適用するには、数分かかる場合があります。

クラスタ ノードの数の最小および最大に同じ数を指定しない限り、自動スケーリング グループは、これら2つの制限間で最適で必要なノード数を実現するため、新しいクラスタ ノードを起動し、既存のものを自動的に終了させます。デフォルトでは、このターゲット数は以下の CloudWatch メトリックによって決定されます。

  • グループの自動拡張で 5 分間の平均 CPU 使用率が 60% を超えた場合、ノードのターゲット数を 1 増やします (最大で「最大値」まで)。
  • グループの自動拡張で 30 分間の平均 CPU 使用率が 40% を下回った場合は、ノードのターゲット数を 1 減らします (最小で「最小値」まで)。

スケーリング イベントの間の既定の「クールダウン」時間である 10 分間も適用されます。詳細は、「メトリックに基づいた拡張」を参照してください。 

注: 新しいクラスタ ノードを追加することは、特に負荷スパイクに応答する場合、クラスタのキャパシティを一時的に増加させる最良の方法です。特定の点を超えて大量のクラスタ ノードを追加すると、効果が減少します。一般的に、特にノード自体が小さい場合は、各ノードのサイズを増加させる(すなわち「垂直」スケーリング)と、ノード数を増やす(すなわち「水平」スケーリング)よりも、大きな持続的キャパシティを扱うことができます。

自動スケーリング グループの詳細については、AWS のドキュメントを参照してください。 

SSh を介してノードへ接続する

クラスタ ノードとファイル サーバーに SSH を実行して、設定またはメンテナンス タスクを実行することができます。SSH 秘密鍵ファイル(Amazon からダウンロードし、Key Name パラメータで指定した PME ファイル)を安全な場所に保持しておく必要があります。これはインスタンス内のすべてのノードに対する鍵であり、これをなくしてしまうと、ロックアウトされていまう可能性があります。 

注: ConfluenceDataCenter.template はすべての EC2 インスタンスを、Internal subnets パラメータで指定したサブネットに展開します。外部から完全に到達できない内部サブネットを指定した場合、外部サブネットで実行されており、アクセスすることができる EC2 インスタンスを SSH で起動し、これを「ジャンプ ボックス」として使用して、内部サブネット内のインスタンスに対して SSH を実行します。つまり、まず「ジャンプ ボックス」に SSH を実行し、そこから内部サブネットにデプロイされているインスタンスに SSH を実行します。

SSH 経由でインスタンスに接続する場合、ユーザー名として ec2-user を使用します。例:

ssh -i keyfile.pemec2-user@ec2-xx-xxx-xxx-xxx.compute-1.amazonaws.com

ec2-user は、 sudo アクセスを持ちます。root による SSH アクセスは許可されません。

アップグレード

ConfluenceDataCenter.template から起動された Confluence Data Center インスタンスをアップグレードする方法

  1. AWS コンソールで、スタックを更新します。
  2. Confluence および Synchrony の自動スケーリング グループのサイズ(最大と最小)を 0 に変更します。これによって、実行中のすべてのノードを終了します。 
  3. 更新が完了したら、すべての EC2 ノードが終了していることを確認します。 
  4. AWS コンソールで、スタックを更新します。
  5. Confluence バージョンをアップグレードしたいバージョンに変更します。
  6. Confluence および Synchrony の自動スケーリング グループのサイズ(最大と最小)を 1 に変更します。アップグレードの完了後、2つ以上のノードを追加しないでください。
  7. ブラウザで Confluence にアクセスします。この時点でアップグレード タスクが実行されます。 
  8. Confluence と Synchrony の両方が正常に実行されていることと、新しいバージョンが実行されていること(フッターをチェックしてください)を確認します。 
  9. AWS コンソールで、スタックを更新します。
  10. 最大 Confluence ノードおよび最大 Synchrony ノードを通常の自動スケーリング グループ サイズに変更します。 
  11. 新しいノードがクラスタに参加していることを確認します。 

AWS の Confluence Data Center では現在、古いバージョンの最後のクラスタ ノードのシャットダウンと新しいバージョンの最初のクラスタ ノードの起動の間のダウンタイムなくインスタンスをアップグレードすることはできません。  

新しいノードが新しいバージョンで起動する前にすべての既存のノードが終了していることを確認する必要があります。 

バックアップ

AWS のネイティブ バックアップ機能を使用することをお勧めします。これは Confluence Data Center のバックアップにスナップショットを使用します。

AWS への既存の Confluence サイトの移行

AWS に既存の Confluence サイトを移行する方法

  1. 既存のサイトを、AWS に展開したバージョン(Confluence 6.1 以降)にアップグレードします。
  2. (Postgres を使用していない場合)データベースを PostgreSQL に移行します。「別のデータベースへの移行」を参照してください。 
  3. Back up your PostgreSQL database and your existing <shared-home>/attachments directory.
  4. Copy your backup files to /media/atl/confluence/shared-home in your EC2 instance.  
  5. Restore your PostgreSQL database dump to your RDS instance with pg_restore.
    See Importing Data into PostgreSQL on Amazon RDS in Amazon documentation for more information on how to do this.   

メモ:

  • When you create a cluster using the CloudFormation template, the database name is confluence. You must maintain this database name when you restore, or there will be problems when new nodes are provisioned.  You will need to drop the new database and replace it with your backup. 
  • 既存のローカル ホームまたはインストール ディレクトリからインデックスなどをコピーする必要はなく、既存の共有ホーム ディレクトリから添付ファイルだけをコピーします。  
  • If you've modified the <shared-home>/config/cache-settings-overrides.properties file you may want to reapply your changes in your new environment.  
  • The _copy method described in this AWS page, Importing Data into PostgreSQL on Amazon RDS, is not suitable for migrating Confluence.
最終更新日 2018 年 9 月 19 日

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

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