3
2
1

Jira/Confluence を AWS 上で構築・運用したいと考えています。

Amazon Elastic File System 東京リージョン 一般提供開始のお知らせと利用上の留意点のまとめで東京リージョン内で EFS が利用可能になったこともあり、データの格納先に EFS を使用したいと思っています。

どのように構築すれば良いのでしょうか。

    Commentコメントを追加...

    2 回答

    1.  
      3
      2
      1

      前提として構築するアプリケーションが

      Server版なのか(Jira Softeware/Core/ServiceDesk Server、Confluence Server )

       さらにServer版の場合、EFSを導入して実現したいことは何か?

      DataCenter版なのか (Jira Softeware/ServiceDesk  DataCenter、Confluence DataCenter)

      で少し異なってきます。


      まずDataCenter版については、アプリケーションの shared-home をEFSマウント領域にすることになるかと思います。share-homeはshared directoryとしてNFSのようなサーバー間の共有ディレクトリを想定しているため。


      Server版の場合、実現したいことで例えば添付ファイルが多くなることが想定されるため

      添付ファイルだけをEFSなどに置きたいということであれば

      それぞれのアプリケーションの添付ファイルのディレクトリを(Jiraの場合は<jiraホームディレクトリ>/data 以下、Confluenceの場合は <Confluenceホームディレクトリ>attachments 以下)

      EFSでマウントするか(mount bindなど) ことで目的は達成されるかと思います。

      ちなみにシンボリックリンクは、Confluenceで以下のような状況に遭遇することがあるのでお勧めしません。


      Server版の場合、実現したいことがコールドスタンバイだとすると

      それぞれのアプリケーションのホームディレクトリには

      添付ファイルのディレクトリ以外にも重要な情報(アドオンやDBへの接続情報などなど)が格納されているため、これらのファイル・ディレクトリがないとスタンバイ機を起動することができません。


      考え方としてホームディレクトリすべてをEFSにしてしまう(NFSでマウント)することが一番シンプルではありますが、Jira/Confluenceともに検索ライブラリとしてLuceneを使用しており、インデックスファイルをホームディレクトリに持っています。サポートプラットフォーム記載の通り、Luceneの要件としてNFSをサポートしていません。


      そのため、添付ファイルをEFSにしてそれ以外の各製品のホームディレクトリのインデックスディレクトリを除いて、定期的にスタンバイ機にrsync同期する…(これだとEFS導入の意味が半減しますが)


      または 各製品のホームディレクトリをEFSでマウントして

      インデックスディレクトリパスを、それぞれのローカルディスクのディレクトリにマウント/シンボリックリンクにしててしまうという方法が考えられます。


      どちらにしろ、インデックスは同期されていないため、スタンバイ機を起動したときに最初にインデックス再構築は必須になります。

      またDB接続情報ファイルも同期しているので、スタンバイ機のDBの向き先は本番と同じDBになるので、本番機が起動しているときに重複して起動するとエラーで起動できませんのでご注意ください。


      どれも実現できるとは思いますが、技術的な検証が必要になるのでご注意ください。


        Commentコメントを追加...
      1.  
        3
        2
        1

        海外でも同じように EFS を使用したいと考えている方がいるようで、海外の Atlassian Community に類似した質問が投稿されていました。

        海外の Atlassian Community の質問:JIRA Server - Attachments -> AWS Elastic File System

        上記の質問は添付ファイルの格納先をEFSにする方法についてですが、それに対して2通りの方法が紹介されています。
        直訳しただけですが、どうやら以下のような手順のようです。

        シンボリックリンクを使用する方法

        1. Jira サーバ上のディレクトリツリー内のストレージとしてEFSディレクトリを使用可能にする
        2. 既存のすべてのデータをコピーする
        3. シンボリックリンクを使用して <jiraホームディレクトリ>/attachments を指定する

        マウントする方法

        1. EFSポイントをその場所にマウントする
        2. 添付ファイルの格納場所を置き換える

        Atlassian 社の公式ドキュメントに記載されている方法ではないので検証は必要ですが、参考になればと思います。

          Commentコメントを追加...