Atlasssian Data Center アプリケーションで CDN を使用する
このページの内容
CDN サポートは次の製品の Data Center 版で提供されます。
- Jira Software 8.3
- Jira Service Management (旧 Jira Service Desk) 4.3
- Confluence 7.0
- Bitbucket 6.8
CDN の使用を開始する
Here's a quick summary of what's involved to enable your CDN in Bitbucket Data Center:
- アトラシアンのテンプレートを使用して AWS CloudFront ディストリビューションをスピンアップするか、任意の CDN ベンダーでアカウントを作成します。
- Update your load balancer and firewall to allow the CDN to reach your site.
- In Bitbucket Data Center, provide the CDN URL, and enable CDN support.
エンド ユーザーが Jira にアクセスすると、最も近いエッジ サーバーに静的アセットがキャッシュされ、有効期限が切れるまでそこから提供されます。つまり、ユーザーがオンラインになるタイミングや、各拠点でサイトにアクセスするタイミングによっては、CDN による影響の確認に時間がかかる可能性があります。キャッシュを事前にロードする機能は提供されていないため、アセットは初回の提供時にキャッシュされます。
See Configure your CDN for Bitbucket Data Center for the full step-by-step guide.
ほかの設定変更と同様、本番サイトに変更を加える前にステージング環境でテストを行うことをおすすめします。
動作の仕組み
静的アセット (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 を使用することでユーザーにメリットをもたらすことができる可能性があります。
また、ユーザーの地理的な位置にも考慮する必要があります。例えば、サーバーがフランクフルトにあり、チームの大部分がドイツとオーストリアを拠点としている場合、マレーシアにいるチームは遅延が大きくなり、それによってページのロード時間も遅くなる可能性があります。
traceroute
、ping
、mtr
などのネットワーク診断ツールは、発生している遅延の量を確認するのに役立ちます。
キャッシュ対象
Data Center アプリケーションまたは Marketplace アプリで提供される静的アセットのみがキャッシュされます。これは Data Center アプリケーションやアプリをアップグレードした時にのみ変更されます。動的コンテンツはキャッシュされません。
CDN を有効にする際にキャッシュされる内容の概要は以下のとおりです。
キャッシュ対象 | キャッシュ対象外 |
---|---|
|
|
キャッシュを手動で無効化する必要はありません。これは、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 でユーザーがインストールしたアプリのヘルスチェックに失敗する」を参照してください。