Runtime Fabric への Mule アプリケーションのデプロイ

Mule アプリケーションを Anypoint Runtime Fabric の Mule Runtime サーバーにデプロイします。

本番環境にデプロイされるアプリケーションは、本番以外のアプリケーションから分離された Runtime Fabric のインスタンスにデプロイされる必要があります。

アプリケーションをデプロイしたら、デプロイされたアプリケーションのインバウンドトラフィックをテストできます。

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

デプロイメントプロセス全体には次の手順が含まれます。

  1. アプリケーションとデプロイメント対象を選択する

  2. デプロイメント対象を設定する

  3. アプリケーションの公開エンドポイントを設定する

  4. 複製をセットアップする

  5. (省略可能) TLSv1 および TLSv1.1 を有効にする

  6. アプリケーションプロパティを設定する

  7. アプリケーションをデプロイする

前提条件

アプリケーションを Anypoint Runtime Fabric にデプロイする前に、次のことを実行します。

アプリケーションとデプロイメント対象を選択する

  1. Anypoint Platform​ にサインインします。

  2. [Runtime Manager]​ に移動し、​[Applications (アプリケーション)]​ を選択します。

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

  4. [Application Name (アプリケーション名)]​ 項目で、アプリケーションに名前を付けます。

    名前に使用できるのは、小文字の英数字、ハイフン、およびアンダースコアのみです。

  5. [Choose File (ファイルを選択)]​ をクリックしてデプロイするアプリケーションを選択し、次のいずれかのオプションを選択します。

    • Import file from Exchange (Exchange からファイルをインポート)​: Anypoint Exchange に保存されている Mule アプリケーションを選択します。

    • Upload file (ファイルをアップロード)​: ファイルシステムから Mule アプリケーションファイルを選択します。

  6. [Deployment Target (デプロイメント対象)]​ ドロップダウンリストから、Runtime Fabric の名前を選択します。

  7. [Runtime Version (ランタイムバージョン)]​ ドロップダウンリストから、Mule Runtime エンジンバージョンを選択します。

    Mule Edge リリースドロップダウンウィンドウが表示された Runtime Manager UI

[Deployment Target (デプロイメント対象)]​ タブ、​[Ingress (イングレス)]​ タブ、​[Properties (プロパティ)]​ タブ、​[Logs (ログ)]​ タブ、​[JVM]​ タブが表示されます。これらのタブを使用して、アプリケーションの追加設定情報を入力します。

Mule アプリケーションは、標準サポートまたは延長サポート期間中の Mule Runtime Engine バージョンでデプロイできます。API または Runtime Manager UI でバージョンを指定します。EOL (サポート終了) 状態の Mule Runtime Engine バージョンでは、Mule アプリケーションを再デプロイして再起動することはできますが、新しい Mule アプリケーションをデプロイすることはできません。

アプリケーションの公開エンドポイントを設定する

Runtime Fabric にデプロイされたアプリケーションの公開エンドポイントを設定する手順は次のとおりです。

アプリケーションに使用可能なドメインおよびパスは、Runtime Fabric システム管理者が設定したイングレスリソーステンプレートから取得されます。詳細は、​「Use Custom Ingress Resource Templates in Runtime Fabric (Runtime Fabric でのカスタムイングレスリソーステンプレートの使用)」​を参照してください。

ドメインを選択しない場合、アプリケーションは空のドメインにデプロイされます。
  1. [Ingress (イングレス)]​ を選択します。

  2. [Host (ホスト)]​ ドロップダウンリストからアプリケーションのホストを選択します。

  3. ホスト名にワイルドカードが使用されている場合、​[Subdomain (サブドメイン)]​ 項目でサブドメインを追加します。

    [Subdomain (サブドメイン)]​ 項目はホスト名にワイルドカードが使用されている場合のみ使用できます。

  4. [Path (パス)]​ 項目で、アプリケーションのエンドポイントに URL パスを追加します。

    アプリケーションのエンドポイントのホストとパスが設定されます。
  5. エンドポイントをプレビューするには、生成されたプレビューリンクをクリックします。

  6. 別のエンドポイントを追加するには、​[+ Add Endpoint (+ エンドポイントを追加)]​ をクリックします。

複製およびストレージをセットアップする

アプリケーションのエンドポイントを設定した後で、複製をセットアップしてデプロイするアプリケーションインスタンス数を設定します。

高可用性には、少なくとも 2 つのレプリカが必要です。

Mule アプリケーションのレプリカと再起動でデータの永続性を有効にするためにストレージに対するオブジェクトをセットアップします。 このオプションは、Mule Runtime Engine バージョン 4.2.1 以降でのみ使用できます。このオプションが使用できない場合は、IT 管理者にお問い合わせください。詳細は、​「永続性ゲートウェイ」​を参照してください。

  1. [Deployment Target (デプロイメント対象)]​ タブを選択します。

    このタブには、以前に選択したデプロイメント対象の名前と種別が表示されます。

  2. デプロイするアプリケーションのレプリカまたはインスタンスの数を選択します。

  3. アプリケーションの各レプリカで Mule のクラスタリングを有効にするには、​[Run in Runtime Clustering Mode (ランタイムのクラスタリングモードで実行)]​ を有効にします。

  4. 異なるノード間でレプリカのデプロイメントを適用するには、​[Enforce deploying replicas across nodes (ノード間でレプリカのデプロイメントを適用)]​ を選択します。

    ワーカーノードの数、または各レプリカをデプロイするために必要なワーカーノードで使用できるリソースが不十分な場合は、デプロイメントの一部のレプリカが ​[Pending (保留中)]​ 状況のままになります。異なるワーカーノードにすべてのレプリカがデプロイされると、デプロイメントの状況は ​[Running (実行中)]​ に移行します。

  5. データの永続性を有効にするには、​[Use Persistent Object Storage (永続オブジェクトストレージを使用)]​ を選択します。

  6. [Cores (コア)]​ の数と ​[Memory (メモリ)]​ の量を指定し、スライダーを適切な値に調整してアプリケーションの各レプリカに割り当てます。

    必要に応じて、Runtime Fabric にデプロイするアプリケーションの​リソース割り当てを決定​する方法を確認してください。

(省略可能) TLSv1 および TLSv1.1 を有効にする

2021 年 8 月 3 日のパッチリリース​以降、Mule Runtime ではすべてのランタイムバージョンで TLS v1 および TLS v1.1 がデフォルトで無効になります。アプリケーションを Runtime Fabric にデプロイするときに、JVM 引数を使用して TLS v1 または TLS v1.1 を有効にできます。

  1. [JVM]​ タブをクリックします。

  2. [Java Virtual Machine arguments (Java 仮想マシン引数)]​ 項目で、次のいずれかの引数を追加します。

    • TLSv1.0 および TLSv1.1 を有効にする: -Drtf.allow.TLSv1.0+

    • TLSv1.1 を有効にする: -Drtf.allow.TLSv1.1

アプリケーションプロパティを設定する

アプリケーションのプロパティ値を保護する手順については、​「Runtime Fabric でのアプリケーションのプロパティ値の保護」​を参照してください。

Runtime Manager を使用して、環境を指定したりパスワードとユーザー名を設定したりするなど、アプリケーションプロパティ値を設定します。

Runtime Fabric によって機密情報を公開することなくプロパティが実行時に解決されます。

  1. [Properties (プロパティ)]​ タブをクリックします。

  2. [Table view (テーブルビュー)]​ をクリックします。

  3. [New Key (新しいキー)]​ 項目で、保護するプロパティを追加します。

  4. [New Value (新しい値)]​ 項目で、値を追加します。

  5. 必要に応じて、プロパティを追加します。

ログ記録とログレベルを設定する

Anypoint Monitoring では、Runtime Fabric にデプロイされたアプリケーションのログデータへのアクセスが提供されます。Anypoint Monitoring を使用してログにアクセスするには、 Titanium サブスクリプション​が必要です。

  1. [Logging (ログ)]​ タブをクリックします。

  2. [Enable application logs (アプリケーションログを有効化)]​ オプションを選択します。

  3. ドロップダウンリストからログレベルを選択します。

    • INFO (情報)​: 有益情報のメッセージ

    • DEBUG (デバッグ)​: デバッグメッセージ

    • WARNING​: 警告メッセージ

    • ERROR (エラー)​: 例外が発生した場合などのエラーメッセージ

    • FATAL (致命的)​: アプリケーションが失敗した場合の致命的なメッセージ

  4. 必要に応じて、ログレベルを選択し、​package.name​ を入力して Enter キーを押すことで、特定の Java パッケージクラスのログレベルを設定します。

  5. [Apply Changes (変更を適用)]​ をクリックします。

アプリケーションをデプロイする

アプリケーションをデプロイする準備ができました。

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

    [Deploy Application (アプリケーションをデプロイ)]​ ボタンが無効な場合、有効な Mule アプリケーションファイルをアップロードしていることを確認します。また、選択した Mule Runtime エンジンのバージョンがアプリケーションで使用されているバージョンと同じであることも確認します。

結果​: Runtime Manager にアプリケーションのデプロイメントを確認する状況メッセージが表示されます。デプロイメントが開始されると、デプロイメントの状況を参照できるアプリケーションリストページが表示されます。

新しくデプロイされたアプリケーションの場合、最初の状況は ​[Starting (開始中)]​ と表示されます。アプリケーションが成功した場合、状況は ​[Started (開始済み)]​ に更新されます。アプリケーションの状況を監視し、正常に開始されたことを確認します。

デプロイされたアプリケーションのインバウンドトラフィックを確認する

デプロイされたアプリケーションのインバウンドトラフィックをテストするため、ドメインに設定されたホストヘッダーと共にコントローラーの IP アドレスを使用して要求を送信できます。ホストヘッダーは、アプリケーション URL の構造によって異なります。

  1. アプリケーションを公開するエンドポイントを特定します。Runtime Manager の ​[Manage application (アプリケーションを管理)]​ ページの ​[Application url (アプリケーション URL)]​ 項目にこの情報が含まれます。

  2. 次の cURL コマンドを実行して検証します。

    curl -Lvk -XGET {application-path-from-runtime-manager} --resolve {hostname}:443:{ip-address-of-controller}

    次の例では、​{application-path-from-runtime-manager}​ は ​https://newapp.example-rtf.dev​ に設定され、​192.168.64.14​ はクラスターのコントローラーマシンの IP アドレスです。

    curl -Lvk https://newapp.example-rtf.dev/ --resolve newapp.example-rtf.dev:443:192.168.64.14

継続的デプロイメントの設定

Runtime Fabric でオンプレミスアプリケーションデプロイメントのワークフローを設定する方法は、​「オンプレミス Runtime Fabric のワークフロー」​を参照してください。

一般的な問題

アプリケーションをデプロイするときに、次の問題が発生する場合があります。

  • アプリケーションが数分間 ​[Starting (開始中)]​ 状況のままの場合、指定したリソース量が少なすぎることが原因の可能性があります。0.3 コア以下を選択した場合、アプリケーションの起動に数分かかることは一般的です。

  • 起動時にアプリケーションでエラーが発生した場合、デプロイメントが停止し、状況は ​[Failed (失敗)]​ に更新されます。アプリケーションをクリックして右サイドバーを表示すると、エラーメッセージのプレビューが表示されます。メッセージ全体を表示するには、​[Manage Application (アプリケーションを管理)]​ ボタンをクリックします。

  • Runtime Fabric にデプロイメントで使用可能な CPU コアまたはメモリがない場合、​insufficient resources​ を示すエラーメッセージが返されます。複数のレプリカを選択する場合、指定されたコアとメモリが​​レプリカに適用されることを理解することが重要です。

  • 既存の実行中のアプリケーションへの再デプロイメントが失敗した場合、以前のアプリケーションは実行中でアクティブなままになります。この動作により、ダウンタイムゼロのアプリケーションの再デプロイメントが可能になります。Runtime Manager では、失敗の解決に役立つ失敗したデプロイメントの詳細と状況が報告されます。