CDN からのダイレクト・アップデート要求の処理

improve this page | report issue

概説

CDN (コンテンツ配信ネットワーク) から (MobileFirst Server からではなく) ダイレクト・アップデート要求に応えるようにダイレクト・アップデート要求を構成することができます。

CDN 使用の利点

MobileFirst Server ではなく CDN を使用してダイレクト・アップデート要求に対応することには以下のような利点があります。

  • MobileFirst Server からネットワーク・オーバーヘッドを除去します。
  • MobileFirst Server からの要求処理時に 250 MB/秒制限よりも転送速度が速くなります。
  • ユーザーの地理的な居場所に関係なく、すべてのユーザーに対して、より均質なダイレクト・アップデート体験を保証します。

一般要件

CDN からのダイレクト・アップデート要求に応じるには、構成が以下の条件に従うようにしてください。

  • CDN は、MobileFirst Server の前にあるリバース・プロキシー (必要ならば別のリバース・プロキシーの前にあるリバース・プロキシー) でなければなりません。
  • 開発環境からアプリケーションをビルドする際は、ターゲット・サーバーを MobileFirst Server のホストとポートではなく CDN のホストとポートにセットアップします。 例えば、MobileFirst CLI コマンド mfpdev server add を実行している場合は、CDN のホストとポートを指定します。
  • CDN 管理パネルで、次のダイレクト・アップデート URL にキャッシングのためのマークを付けて、CDN がダイレクト・アップデート要求以外のすべての要求を MobileFirst Server に渡すようにする必要があります。 ダイレクト・アップデート要求の場合は、コンテンツを取得したかどうかを CDN が調べます。 取得していた場合は、MobileFirst Server にアクセスせずに要求を返します。取得していない場合は、MobileFirst Server にアクセスしてダイレクト・アップデート・アーカイブ (.zip ファイル) を取得し、その特定の URL に対する次回以降の要求に備えてそのファイルを保管します。 IBM Mobile Foundation の v8.0 でビルドされたアプリケーションの場合、ダイレクト・アップデート URL は、PROTOCOL://DOMAIN:PORT/CONTEXT_PATH/api/directupdate/VERSION/CHECKSUM/TYPE です。 接頭部 PROTOCOL://DOMAIN:PORT/CONTEXT_PATH は、すべてのランタイム要求で一定です。 例: http://my.cdn.com:9080/mfp/api/directupdate/0.0.1/742914155/full?appId=com.ibm.DirectUpdateTestApp&clientPlatform=android

この例では、要求の一部でもある、追加の要求パラメーターがあります。

  • CDN は、要求パラメーターのキャッシングを許可する必要があります。 2 つの異なるダイレクト・アップデートのアーカイブは、要求パラメーターしか違わないことがあります。
  • CDN はダイレクト・アップデート応答の TTL をサポートしなければなりません。 このサポートは、同じバージョンに対する複数のダイレクト・アップデートをサポートするために必要です。
  • CDN は、 サーバー・クライアント・プロトコルで使用される HTTP ヘッダーを変更することも削除することもできません。

構成例

この例では、ダイレクト・アップデートのアーカイブをキャッシュに入れる Akamai CDN 構成を基にしています。 以下のタスクは、ネットワーク管理者、MobileFirst 管理者、および Akamai 管理者が行うものです。

ネットワーク管理者

MobileFirst Server の DNS に別のドメインを作成します。 例えば、サーバー・ドメインが cdn.yourcompany.com である場合は、cdn.yourcompany.com などの追加ドメインを作成する必要があります。 DNS 内で、新しい cdn.yourcompany.com ドメインに対して、CNAME を Akamai 提供のドメイン名に設定します。 例えば yourcompany.com.akamai.net などです。

MobileFirst 管理者

新しい cdn.yourcompany.com ドメインを MobileFirst アプリケーションの MobileFirst Server URL として設定します。 例えば、Ant ビルダー・タスクの場合であれは、プロパティーは次のとおりです。<property name="wl.server" value="http://cdn.yourcompany.com/${contextPath}/"/>

Akamai 管理者

  1. Akamai プロパティー・マネージャーを開き、ホスト名プロパティーを新しいドメインの値に設定します。

    プロパティー・ホスト名を新規ドメインの値に設定

  2. 「デフォルト・ルール」タブで、元の MobileFirst Server ホストおよびポートを構成し、「カスタム・フォワード・ホスト・ヘッダー」値を新しく作成されたドメインに設定します。

    「カスタム・フォワード・ホスト・ヘッダー」値を新しく作成されたドメインに設定

  3. 「キャッシング・オプション」リストから、「ストアなし」を選択します。

    「キャッシング・オプション」リストから、「ストアなし」を選択します。

  4. 「静的コンテンツ構成」タブから、アプリケーションのダイレクト・アップデート URL に従って一致基準を構成します。 例えば、If Path matches one of direct_update_URL を明示する条件を作成します。

    アプリケーションのダイレクト・アップデート URL に従って一致基準を構成します。

  5. 以下のような値を設定して、ダイレクト・アップデート URL をキャッシュに入れ、TTL を設定するようにキャッシング動作を構成します。

    フィールド
    キャッシング・オプション キャッシュ
    失効オブジェクトを強制的に再評価 検証できなければ失効オブジェクトを処理
    最大経過時間 3 分

    キャッシング動作を構成するための値の設定

  6. キャッシュ・キー内のすべての要求パラメーターを使用するようにキャッシュ・キー動作を構成します (異なるアプリケーションまたはバージョンごとに異なるダイレクト・アップデート・アーカイブをキャッシュに入れるためには、このようにする必要があります)。 例えば、「動作」リストから、「すべてのパラメーターを組み込む (要求からの順序を保持する)」を選択します。

    キャッシュ・キー内のすべての要求パラメーターを使用するようにキャッシュ・キー動作を構成します。

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on February 28, 2020