Confluence で Amazon Web Service Application Load Balancer を構成する方法

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

このページの内容はサポート対象外のプラットフォームに関連しています。したがって、アトラシアン サポートではこのページの記載内容のサポートの提供は保証されません。この資料は情報提供のみを目的として提供されています。内容はお客様自身の責任でご利用ください。

プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

目的

Confluence 6.0 では共同編集機能が追加されましたが、この機能では WebSocket が必要です。この新機能が Amazon Web Services (AWS) の Elastic Load Balancing (ELB) で動作するようにするには、追加の構成が必要です。


tip/resting Created with Sketch.

既存のセットアップをお持ちの場合、現在の設定に合わせて以降の手順を調整する必要がある場合があります。このページの手順では、新しい Elastic Load Balancer を作成します。

環境

Confluence Data Center 6.0+

ソリューション

はじめる前に

  1. Confluence のベース URL をロード バランサの最終アドレスに更新済みであることを確認します。
  2. server.xml ファイルに、proxyName および proxyPort、HTTPS を使用している場合は scheme パラメーターが含まれていることを確認します。

たとえば、https://confluence.example.com/ でリッスンするように Elastic Load Balancer を構成する場合は HTTP コネクタを次のように構成します。

<Connector port="8090" connectionTimeout="20000" redirectPort="8443"
    maxThreads="48" minSpareThreads="10"
    enableLookups="false" acceptCount="10" debug="0" URIEncoding="UTF-8"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    proxyName="confluence.example.com" proxyPort="443" scheme="https" />

ターゲットの作成

ターゲットは、最初は特定の Virtual Private Cloud (VPC) 用に作成される必要があります。その後、ロード バランサでそれらのターゲットに対応します。 

  1. EC2 コンソールで、[Load Balancing] 配下の [Target Groups] を選択します。
  2. 以降の推奨設定を使い、Confluence 用に 1 つ、Synchrony 用に 1 つの、2 つの新しいターゲットを作ります。
  3. ターゲットが作成されたら、[Targets] タブをクリックし、ターゲットの登録先のインスタンスを選択します。両方のターゲットが同じ Confluence インスタンスに登録される必要があります。Data Center バージョンを実行している場合、両方のターゲットですべてのインスタンスを追加するようにします。

推奨設定


Confluence 用Synchrony 用
名前ConfluenceSynchrony
プロトコルHTTP1HTTP1
ポート8090280913
Health check protocolhttphttp
Health check path/status/synchrony/heartbeat
Stickinessオンオフ

注意

  1. プロトコルは、ユーザーが利用するプロトコルではなく、ロード バランサと Tomcat の間のプロトコルを指します。Confluence ターゲットについて、SSL を Tomcat で終了させている場合を除き、HTTP を利用します。Synchrony では HTTP リクエストのみが許可されます。
  2. Confluence のデフォルト ポートは 8090 です。Confluence がリッスンしているポートを確認するには、server.xml をご確認ください。
  3. Synchrony のデフォルト ポートは 8091 です。このポートは、JVM パラメーター -Dsynchrony.port で構成されます。詳細については「認識されるシステム プロパティ」をご確認ください。
  4. JVM へのコネクションを許可するには、Synchrony が利用しているポート (8091 またはカスタムのもの) がセキュリティ グループ構成でオープンであることをご確認ください。

ロード バランサの作成

ターゲットを作成してインスタンスに登録したら、Synchrony へのコネクションをプロキシするためのロード バランサを作成する必要があります。

  1. 新しい Application Load Balancer を作成します。
    注: Classic Load Balancer はサポートされておらず、この手順のスコープ外です。 
  2. ロード バランサが処理するリスナーを選択します (少なくとも HTTP または HTTPS)。
  3. VPC とアベイラビリティ ゾーン (サブネット) を指定します。
  4. Click Next.
  5. SSL 証明書をお持ちの場合はこの画面でインストールし、[Next] をクリックします。SSL を使用していない場合はこの手順をスキップしてかまいません。
  6. 既存の Security Group を選択するか新しいものを作成し、[Next] をクリックします。
  7. 作成済みの Confluence ターゲットを選択して [Next] をクリックします。
  8. 設定を確認して [Next] をクリックします。
  9. Click Create.

ロード バランサが作成されたら、Synchrony のトラフィックを Synchrony サービスに送信するための追加のルールを作成する必要があります。

  1. Elastic Load Balancer のページで、[Listeners] タブをクリックします。
  2. 対象のリスナーを展開し、[View/Edit Rules] をクリックします。
  3. [+] ボタンをクリックし、[insert rule] を選択します。
  4. 条件を追加し、ドロップダウンからパスを選択します
  5. [Path] の [Value] フィールドで、「/synchrony/*」を追加します。
  6. 作成済みの Synchrony ターゲットを選択します。
  7. [Save] をクリックします。

適切に構成すると、ルール ページは次のようになります。

ルール

ターゲット グループ

テスト

設定が完了したら、期待どおりに動作するのを確認するためにいくつかのテストを行えます。

  1. [Target Groups] > [Target Name] > [Targets] の順に移動し、[Status] 列でインスタンスが [Healthy] として記載されていることを確認します
    1. これは、ターゲット グループが適切に構成されていて、対象のポートでインスタンスに到達可能であることを示しています
  2. ブラウザで https://<ドメイン>/synchrony/heartbeat にアクセスして Synchrony のルールをテストします
    1. [OK] が返される場合、ロード バランサのルールとターゲット グループの設定が適切に行われています。 

HTTP から HTTPS へのリダイレクト

上記の手順では、選択内容に基づき、単一の HTTP または HTTPS リスナーになってしまう場合があります。ALB で HTTP を HTTPS にリダイレクトするようにするには、ポート 80 とポート 443 用に 2 つのリスナーが必要です。HTTP リスナーの唯一の機能はトラフィックを HTTPS リスナーに転送することであり、HTTPS リスナーは前述の「ロード バランサの作成」セクションにあるように (Synchrony のトラフィックを転送する追加ルールを含む)、トラフィックをターゲット グループに転送するように構成されます。

これらの手順の詳細については、次の AWS の記事をご確認ください。Application Load Balancer を使い HTTP リクエストを HTTPS にリダイレクトするにはどうすればよいですか?


説明

Confluence 6.0 では共同編集機能が追加されましたが、この機能では WebSocket が必要です。この新機能が Amazon Web Services (AWS) の Elastic Load Balancing (ELB) で動作するようにするには、追加の構成が必要です。


製品Confluence
Last modified on Mar 2, 2022

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

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