トークナイゼーションをサービスとして Mule アプリケーションに直接公開

トラフィックがトークナイゼーションサービスに到達する前に多くの複雑なデータ処理が必要な場合、Runtime Fabric インバウンドロードバランサがトラフィックを転送できる、転送先の Mule アプリケーションをセットアップすることをお勧めします。このシナリオでは、Mule アプリケーションがデータを処理し、トラフィックをトークナイゼーションサービスに送信します。

Mule アプリケーションでデータ処理を実行する必要がない場合は、トークナイゼーションサービスをパススルーとして公開できます。

前提条件

トークナイゼーションサービスを設定し、使用するには、以下が必要です。

トークナイゼーション RAML から API を作成する

API ゲートウェイを使用して、ルーティング可能なトークナイゼーションサービスをセットアップするのに必要な情報を取得したら、トークナイゼーション RAML から API を作成します。

  1. 公開の Anypoint Platform 開発者ポータル​に移動し、「Tokenization API」 (トークナイゼーション API) を検索します。

  2. [Download (ダウンロード)] > [As RAML (RAML として)]​ を選択します。RAML が ZIP ファイルとしてダウンロードされます。

  3. Exchange ポータルに移動して、​[New asset (新規アセット)]​ をクリックします。

  4. [Name (名前)]​ を「​Tokenization API​」として設定し、​[Type (種別)]​ を「​REST API - RAML​」として設定します。

  5. ダウンロードした ZIP ファイルを選択し、​[Publish (パブリッシュ)]​ をクリックします。

  6. Anypoint Studio または Design Center で、​Tokenization API​ RAML に基づいて HTTP アウトバウンド接続を作成します。
    Runtime Fabric のトークナイゼーションサービスは、ポート 3443 をリスンし、HTTPS 経由でのみ使用できます。
    アウトバウンド URL のホスト名部分は、サービス名 + ​-tokenizer​ の形式を取ります。たとえば、トークナイゼーションサービス名が「mytoken1」の場合、アウトバウンド URL は ​https://mytoken1-­tokenizer:3443​ になります。

  7. HTTP アウトバウンド接続の前に Dataweave 変換ステップを使用して、​Tokenization API​ RAML で定義された ​TokenizationServiceRequest​ データ型に入力データを変換します。
    要求は項目の配列です (例: {"format" : "ssnonly", "data" : "333-33-3333"}​)。 format​ の値は、サービスで定義されたトークナイゼーション形式に一致します。 ​data​ の値は、何をトークナイズまたはデトークナイズするかを示します。

    配列で許容される最大項目数は 100 です。配列に 100 を超える項目が含まれる場合は、トークナイゼーションサービスへの複数の要求に分割する必要があります。
  8. Mule アプリケーションの HTTP リスナを HTTPS に設定します。

  9. Mule アプリケーションをエクスポートします。

  10. Runtime Manager で、​アプリケーションを Runtime Fabric にデプロイ​します。

    Runtime Fabric インバウンドロードバランサと Mule アプリケーション間の TLS を有効にするには、​[Last mile security (Last Mile セキュリティ)]​ チェックボックスをオンにする必要があります。
  11. (省略可能) Mule アプリケーションのセキュリティと保護を強化するには、認証方法を追加します。

TLS を設定する

トークナイゼーションサービスは TLS トラフィックのみを受け入れるため、Mule HTTP アウトバウンド接続に対して TLS を有効化する必要があります。また、Mule アプリケーションを Runtime Fabric にデプロイする場合は、Last-Mile セキュリティを有効化し、インバウンドロードバランサと Mule アプリケーション間の接続で TLS が使用されるようにする必要があります。

次に、Studio 7.3 で Mule アプリケーションの TLS を設定する方法の例を示します。

  1. Anypoint Studio に移動して、対象の Mule アプリケーションのプロジェクトを開きます。

  2. src/main/resources​ に移動し、キーストアを追加します。この例では、キーストアの名前は「​tester.jks​」となっています。

  3. 後で ​[Last Mile Security (Last-Mile セキュリティ)]​ フラグを有効にできるように、TLS をリスナ側に追加します。これを行うには、まず HTTPS フラグを設定します。

    HTTP リスナのプロトコルが HTTPS に設定された [Global Element Properties (グローバル要素のプロパティ)] ウィンドウ。
  4. [TLS]​ タブをクリックし、キーストア情報を設定して、以下を選択します。

    • [TLS Configuration (TLS 設定)]​ ドロップダウンから ​[Edit inline (インライン編集)]​ を選択します。

    • [Trust Store Configuration (トラストストア設定)]​ で ​[Insecure (安全ではない)]​ ボックスをオンにします。

    • [Key Store Configuration (キーストア設定)]​ でキーストアの情報を入力し、​[OK]​ をクリックします。
      この例では、トラストストア側は ​[insecure (安全でない)]​ に設定されており、キーストア、別名、パスワード情報が追加されています。

      [Trust Store Configuration (トラストストア設定)] セクションに空白の項目がある HTTP リスナの [Global Elements (グローバル要素)] ウィンドウの [TLS] タブ。
  5. Mule から、トークナイズされたサービスへの HTTP 接続に対して、TLS を有効にするように HTTP エンドポイントの設定を編集します。

    == Runtime Fabric にアプリケーションをデプロイする

  6. アプリケーションを保存して、エクスポートします。

  7. Anypoint Platform で、​Runtime Manager​ に移動して、​[Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

  8. [Deploy Application (アプリケーションをデプロイ)]​ ページで、次の手順を実行します。

    1. [Application Name (アプリケーション名)]​ を入力します。

    2. [Deployment Target (デプロイメント対象)]​ ドロップダウンから、アプリケーションのデプロイ先の Runtime Fabric を選択します。

    3. [Choose File (ファイルを選択)]​ をクリックし、エクスポートしたアプリケーションをアップロードします。

    4. アプリケーションを実行する Mule の ​[Runtime version (ランタイムバージョン)]​ を選択し、​[Replicas (レプリカ)]​ と ​[Resource Allocation (リソース割り当て)]​ を設定します。

    5. [Ingress (イングレス)]​ タブをクリックし、​[Enable Last-Mile Security (Last-Mile セキュリティを有効化)]​ オプションを選択します。

  9. [Deploy Application (アプリケーションをデプロイ)]​ をクリックします。