API Manager で管理されるアプリケーションの移行

API Manager で管理される既存の Mule 3 アプリケーションを Mule 4 に移行するには、次の手順を使用します。

  1. 移行の準備

    既存の Mule 3 アプリケーションの設定方法に基づいて、移行を準備するための前提条件を慎重に確認します。

  2. 移行方法の決定

    いくつかの要素に基づきます。たとえば、ダウンタイムの確保、適用済みポリシーの削除、コントラクトの移行、移行用インスタンスの作成が移行に必要かどうかに基づきます。

  3. 移行の実行

    アプリケーションを移行します。

Mule 3 アプリケーションを移行するための準備

API で管理される既存の Mule 3 アプリケーションを Mule 4 に移行する前に、次のガイドラインを慎重に確認して判断します。

  • Mule 3 アプリケーションの管理方法: 基本エンドポイント、インテグレーションアプリケーション、または複雑なプロキシ

    このシナリオでアプリケーションを移行するには、まず ​API ゲートウェイの移行方法を確認​して準備を整えてから、​Mule 4 に移行します​。

  • アプリケーションの保護方法: デフォルトポリシーまたはカスタムポリシー

    カスタムポリシーを Mule 3 API に適用している場合、​「API ポリシーの移行」​に従います。標準プロキシを適用している場合、API Manager UI を使用してプロキシを再作成できます。

  • API を分類しているかどうか

    API を分類していない場合、まず ​API インスタンスを環境に分類します​。

移行方法の決定

API Manager で管理される Mule 3 アプリケーションを移行するには、新しい API インスタンスを作成します。Mule 4 に移行する前に、次の要素を慎重に考慮して、要件に最も適した方法を決定します。

移行要素 API インスタンスの作成

ダウンタイムが必要

いいえ

適用済みポリシーの削除が必要

いいえ

コントラクトの移行が必要

はい

API インスタンスで API メトリクスを継続

いいえ

移行の実行

次のインスタンスを使用して、Mule 3 アプリケーションを移行できます。

新しい API インスタンスを使用した移行

次の図に示された提案の概要を参照し、新しい API インスタンスを使用して、Mule 4 上で独立した Mule Runtime インスタンスを設定します。

new instance migration mule4

Mule アプリケーションがプロキシではない場合、この同じ提案が移行手順に適用されます (ただし、バックエンドコンポーネントはありません)。

新しい API インスタンスを使用して Mule 3 API を Mule 4 に移行する手順は、次のとおりです。

  1. API Manager の ​[API Administration (API 管理)]​ ページで、​[Manage API (API を管理)]​ > ​[Create new API (新しい API を作成)]​ を選択します。

    インスタンスの表示ラベルを使用してこの新しい API インスタンスを識別します。

  2. [Endpoint Configuration (エンドポイント設定)]​ ウィンドウの ​[Mule version (Mule バージョン)]​ で ​Mule 4​ を選択し、保存します。

  3. API Manager の左側のナビゲーションペインで、アラート、SLA 階層、ポリシーを API に適用します。

  4. API でコントラクトベースのポリシー (クライアント ID 適用ポリシーなど) を使用している場合、API インスタンスの​コントラクトを移行します​。

  5. API の設定が完了している場合は、Mule 4 アプリケーションを開始して、要求を送信します。

  6. アプリケーションの検証が正常に終了したら、Mule 3 アプリケーションをアンデプロイします。

コントラクトの移行

新しい API インスタンスを作成してアプリケーションを移行する前に、既存の API コントラクトを新しい Mule 4 環境に移行します。

タスクの前提条件

コントラクトを移行する前に、次のロールを持っていることを確認します。

  • ルート組織の組織のシステム管理者

  • ソース API とのコントラクトがあるすべてのアプリケーションのアプリケーションオーナー

Anypoint Platform UI を使用してコントラクトを移行する手順は、次のとおりです。

  1. API Manager​ > ​[Client Applications (クライアントアプリケーション)]​ に移動して、アプリケーションを選択します。

    [Contracts (コントラクト)]​ 項目で ​API​ オプションが選択されていることを確認します。

  2. 右側のナビゲーションで、​[Owners (オーナー)]​ 項目までスクロールダウンして、自分の名前を追加します。

  3. [Exchange (交換)]​ で、API インスタンスを選択し、アクセス権を要求します。

  4. API Manager​ で、自分にアクセス権を付与します。

要求承認プロセスを自動化する手順は、次のとおりです。

  1. アプリケーションのオーナーを追加します。

    curl 'https://anypoint.mulesoft.com/apiplatform/repository/v2/organizations/<ROOT_ORG_ID>/applications/<CLIENT_APP_ID>/owners' \
      -H 'Content-Type: application/json;charset=UTF-8' \
      -H 'Authorization: Bearer <AUTH_TOKEN>' \
      --data-raw '{"id":"<YOUR_USER_ID"}'
  2. API インスタンスへのアクセス権を要求します。

    curl 'https://anypoint.mulesoft.com/exchange/api/v2/organizations/<ORG_ID>/applications/<CLIENT_APP_ID>/contracts' \
      -H 'authorization: bearer <TOKEN>' \
      -H 'content-type: application/json' \
      --data-raw '{"apiId":"<API_INSTANCE_ID>","environmentId":"<ENVIRONMENT_ID>","instanceType":"api","acceptedTerms":true,"organizationId":"<ORG_ID>","groupId":"<GROUP_ID>","assetId":"<ASSET_ID>","version":"<ASSET_VERSION>","versionGroup":"<VERSION_GROUP>"}'
  3. コントラクトを承認します。

    curl 'https://anypoint.mulesoft.com/apimanager/xapi/v1/organizations/<ORGANIZATION_ID>/environments/<ENV_ID>/apis/<API_ID>/contracts/<CONTRACT_ID>/approve' \
      -H 'Authorization: Bearer <TOKEN>' \
      -H 'Content-Type: application/json;charset=UTF-8' \
      --data-raw '{}'

最新の Mule 3 バージョンへの移行

Mule 4 への移行準備が整っておらず、Mule 3 の最新バージョンに移行する必要がある場合は、​「Upgrading Mule Runtime Engine(Versions 3.x to 3.n) (Mule Runtime Engine のアップグレード (バージョン 3.x から 3.n))」​を参照してください。

移行先の Mule バージョンのリリースノートを慎重に確認してください。同じ API インスタンスを参照する同じアプリケーションを使用して新しい Mule Runtime を開始すると、既存の API は最新の Mule 3.x バージョンですぐに管理されます。API Manager で追加の手順を実行する必要はありません。