Atlasssian Data Center アプリケーションで CDN を使用する

このページの内容:

ユーザーが世界中に分散していて、Jira Software Data Center または Jira Software Data Center を使用する際にパフォーマンスの劣化が発生している場合、コンテンツ デリバリ ネットワーク (CDN) を使用してエクスペリエンスを改善できる可能性があります。一般的な CDN としては、AWS CloudFront、Cloudflare、Akamai などが挙げられます。 

CDN サポートは次の製品の Data Center 版で提供されます。

  • Jira Software 8.3 
  • Jira Service Desk 4.3
  • Confluence 7.0
  • Bitbucket 6.8. 

CDN の使用を開始する

Confluence Data Center で CDN を有効化するために必要な手順の概要は以下のとおりです。 

  1. アトラシアンのテンプレートを使用して AWS CloudFront ディストリビューションをスピンアップするか、任意の CDN ベンダーでアカウントを作成します。
  2. サイトへの CDN の到達を許可するよう、ロード バランサとファイアウォールを更新します。
  3. Confluence Data Center で CDN URL を提供し、CDN サポートを有効化します。 

エンド ユーザーが Jira にアクセスすると、最も近いエッジ サーバーに静的アセットがキャッシュされ、有効期限が切れるまでそこから提供されます。つまり、ユーザーがオンラインになるタイミングや、各拠点でサイトにアクセスするタイミングによっては、CDN による影響の確認に時間がかかる可能性があります。キャッシュを事前にロードする機能は提供されていないため、アセットは初回の提供時にキャッシュされます。

手順の詳細については「Confluence Data Center 用に CDN を構成する」を参照してください。 

ほかの設定変更と同様、本番サイトに変更を加える前にステージング環境でテストを行うことをおすすめします。 

動作の仕組み

静的アセット (JavaScript、CSS、フォントなど) は、CDN ベンダーが提供する、ユーザーに地理的に近いエッジ サーバーにキャッシュされます。つまり、誰かがページを表示すると、そのページの表示に必要なアセットの一部が、自身のサーバー (origin サーバー) ではなくその地域のサーバーから提供されます。これによってページのロード時間を短縮できます。

たとえば、サーバー (origin サーバー) がドイツにある場合、CDN を使用して静的アセットをブラジルのエッジ サーバーから提供することで、リオデジャネイロのユーザーによるページのロード時間を最大で 50 % 改善できます。CDN の使用経験がなく、機能の仕組みの詳細を確認したい場合は、CloudFlareが提供しているガイドを参照してください。https://www.cloudflare.com/learning/cdn/performance/ 

CDN を使用してもアプリケーションの本質的な高速化が実現されるわけではない点にご注意ください。この機能が実現するのは、クラスタの負荷の軽減や、一部のユーザーの遅延の短縮によるそれらのユーザーのページのロード時間の短縮です。 

ポーランドのグダニスクにある弊社内部のドッグフーディング インスタンスでテストを行ったところ、CDN が有効になっている場合、米国東部からアクセスするユーザーの Jira Data Center での課題の表示アクションの応答時間が最大で 50 % 改善されたことがわかりました。 

CDN によるメリットの確認方法

CDN によるユーザーへのメリットを評価する場合、サイトのネットワークのオーバーヘッドを確認することをおすすめします。 

Data Center アプリケーションの管理コンソールで [コンテンツ デリバリ ネットワーク] に移動します。[パフォーマンス] タブに、1 秒を超える転送コストを持つリクエストの割合が表示されます。この割合が高いほど、ユーザーのリクエストが遅延や接続品質などのネットワーク状況の影響を受けている可能性が高くなります。

このネットワーク統計は、製品の使用時にユーザーが経験するネットワーク状況の便利な指標です。割合が高い場合、そのような条件下で CDN を使用することでユーザーにメリットをもたらすことができる可能性があります。 

計測方法

ユーザーがサイトのページ (Confluence ページや Jira 課題など) にアクセスする際、そのページのコンテンツを取得するためにブラウザが待機しなければならなかった時間が測定されます。次に、サーバーでページをレンダリングするのに必要だった時間を差し引きます。これにより、リクエストの送信とレスポンスの取得にかかった時間が算出されます。 

この時間は主にサーバーとブラウザー間の遅延に依存しますが、SSL 接続のセットアップ時間なども含みます。 

このメトリックは CDN を使用しないリクエストで収集され、CDN を有効化した後もご利用のネットワークで一貫した測定値を提供します。 

また、ユーザーの地理的な位置にも考慮する必要があります。例えば、サーバーがフランクフルトにあり、チームの大部分がドイツとオーストリアを拠点としている場合、マレーシアにいるチームは遅延が大きくなり、それによってページのロード時間も遅くなる可能性があります。 

traceroutepingmtr などのネットワーク診断ツールは、発生している遅延の量を確認するのに役立ちます。 

手順について

これらの例では traceroute を使用して遅延情報などの基本的なネットワーク統計を表示します。yoursite.com を Confluence または Jira のベース URL に置き換えるようにします。 

Windows の場合、コマンド プロンプトを開き、以下のとおり入力します。

> tracert yoursite.com

Linux または Mac OS の場合、ターミナルを開き、以下のとおり入力します。

$ traceroute yoursite.com

これによって、各サーバーのホップ数と 3 つの遅延時間がミリ秒単位で表示されます。3 つの数値を平均してそのサーバーの遅延を算出します。 

このmtr コマンド(my traceroute) は、pingtraceroute の便利な組み合わせです。MacOS または Windows で使用するには、mtr をインストールする必要があります。 

キャッシュ対象 

Data Center アプリケーションまたは Marketplace アプリで提供される静的アセットのみがキャッシュされます。これは Data Center アプリケーションやアプリをアップグレードした時にのみ変更されます。動的コンテンツはキャッシュされません。 

CDN を有効にする際にキャッシュされる内容の概要は以下のとおりです。

キャッシュ対象 キャッシュ対象外
  • CSS
  • javascript
  • フォント
  • 添付ファイル
  • ページまたは課題
  • アバターを含む個人情報
  • テーマに含まれるアセット

キャッシュを手動で無効化する必要はありません。これは、Data Center 製品やアプリのアップグレード時に製品側が処理します。

CDN の実装計画 

インフラストラクチャ要件

origin を取得する任意の CDN を使用できます。CDN に関連する費用はすべてお客様の責任で発生します。   

最小限の労力で Amazon CloudFront を構成できるよう、CloudFormation テンプレートをご用意しました。https://bitbucket.org/atlassian/atlassian-aws-deployment/src/master/templates/cdn/ リポジトリで、すべての AWS デプロイ リソースをご確認いただけます。 

開始する前に、次のようなその他のいくつかのインフラストラクチャ要件を確認しておく必要があります。

  • HTTP/2 の推奨
    ロード バランサ、ファイアウォール、およびプロキシでは HTTP/2 トラフィックを許可している必要があります。HTTP/2 はエンド ユーザーに最適なパフォーマンスを提供します。手順についてはご使用のプロバイダの資料を参照してください。 
  • ファイアウォールについて
    CDN が静的アセットにアクセスしてそれをキャッシュできる必要があります。インスタンスが公開されていない場合、CDN からのリクエストを許可するようにファイアウォールに変更を行う必要があります。CDN の IP 範囲は予告なく変更される可能性があるため、標準の IP 範囲のフィルタリングではなくアプリケーション ファイアウォールの使用をおすすめします。 

プライベート インスタンスについて

サイトがインターネットで一般公開されている場合、CDN を問題なく有効にできるはずです。  

サイトが一般に公開されていない場合、次の方法を使用できます。

  • CDN からのリクエストを通過するようにファイアウォールを構成します。手順の詳細については、以降のガイドを参照してください。
  • CDN ベンダーを使用する代わりに、インターネットへのトラフィックを開く必要のない独自のキャッシュ サーバーをユーザーの近くでセットアップします。この回避策の詳細については、「キャッシュおよび HTTP/2 用の Apache の設定方法」を参照してください。 

Marketplace アプリおよびサードパーティのカスタム アプリ

Marketplace アプリやカスタム アプリには、CDN 機能との互換性のないものがある場合があります。コンテンツ デリバリ ネットワークの管理画面のヘルス チェックによって、互換性のないアプリがあるかどうかを確認できます。 

アプリに互換性がない場合の対応方法については、「CDN 構成で Data Center でユーザーがインストールしたアプリのヘルスチェックに失敗する」を参照してください。 

独自のプラグインを開発している場合、「Confluence 7.0 の準備」で、プラグインの互換性を確認するために使用できる API についての情報を参照してください。

最終更新日 2019 年 11 月 11 日

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

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