+
+

ラボ 3: オンプレミスへのデプロイメント (オプション)

概要

このラボは、API主導の接続性ワークショップのオプションとなります。

Runtime Manager を使用して、オンプレミスに存在するサーバー、サーバーグループ、およびクラスターのプロパティを登録して設定することができます。これらを設定すると、CloudHub へのデプロイの代わりに、アプリケーションのデプロイ先として選択することができます。

Runtime Manager は単一の管理インターフェイスを提供し、クラウド、ローカルサーバー、データセンター内のオンプレミスのサーバーグループ、またはサーバーのクラスタで実行されているアプリケーションを管理することができます。オンプレミスのアプリケーションは、1 台のサーバーまたはサーバーグループ上の Mule ランタイムインスタンスで実行されます。

このラボでは、スタンドアロンのオンプレミス展開をシミュレートするために、ローカルにMule Enterprise Edition Runtimeをインストールして実行します。その後、Runtime Manager を使用して、 モジュール 7 の残りの部分で使用した api-omni-channel-complete-v4.0 アプリケーションをデプロイして管理できるようになります。

オペレーティングシステムや環境の違いにより、このラボを完了するための指示は他のラボほど具体的ではありません。問題が発生した場合は、ワークショップを担当する MuleSoft チームに問い合わせてください。

このラボは以下のステップで構成されています。

ステップ 1: ランタイムのダウンロード

このステップでは、スタンドアロン版のMule Enterprise Edition Runtimeをダウンロードして解凍します。

MuleSoftが提供するワークショップRDPインスタンスを使用している場合は、ステップ1が完了しています。Muleランタイムはすでにダウンロードされています。ファイルを C:\Users\workshop\mulesoft ディレクトリに解凍します。フォルダが解凍されたら、 ステップ 2 に進みます。
  1. まず、Mule Enterprise Edition Runtimeを ダウンロード します。

    module7 lab3 browser mule download

    MuleSoftは、評価のためにEnterprise Editionランタイムの試用版を提供しています。MuleとAnypoint Studioのさまざまな用途を調査するのに適していますが、Enterpriseのトライアルライセンスでは、ランタイムの使用が30日間に制限されています。

    本番環境でMule Enterprise Editionランタイムを使用する前に、Enterpriseライセンスを取得して インストール する必要があります。

  2. ダウンロードしたアーカイブを解凍します。アーカイブにはすでにフォルダ (e.g. mule-enterprise-standalone-4.4.0) が含まれているので、そのフォルダをMuleランタイムを配置したいパスに移動します。例えば、以下のようになります:

    • Windows: C:\Users\<username>\mulesoft\mule-enterprise-standalone-4.4.0

    • Mac or Linux ~/mulesoft/mule-enterprise-standalone-4.4.0

  • このラボの残りの部分では、Muleランタイムへのパスを単純に <MULE_HOME> と呼ぶことにします。本番環境では、変数として <MULE_HOME> を定義します。

  • Workshop RDPインスタンスユーザの場合、<MULE_HOME>は C:\Users\workshop\mulesoft\mule-enterprise-standalone-4.4.0 となります。

これで、Mule EEランタイムがインストールされました。

ステップ 2: ランタイムの登録

この手順では、Runtime Manager Agent を使用して、新しいMuleインスタンスをAnypoint Runtime Managerに登録します。これは、Runtime Manager が提供するコマンドを実行することで行います。

Runtime Manager Agentは、Mule Agent APIをサービスとして公開するMuleプラグインで、ユーザーは、Anypoint Runtime Managerなどの外部システムからMule Runtimeインスタンスを安全に操作して監視することができます。

Runtime Manager では、「サーバー」という用語は、CloudHub以外の場所にあるMuleランタイムインスタンスを意味します。

  1. Anypoint Runtime Manager を開き、左側の[Servers]セクションを クリック します。

    module7 lab3 ap servers
  2. 既存環境に少なくとも1つのサーバーがすでにデプロイされている場合は、まず"Add Server"ボタンを クリック する必要があります。

    module7 lab3 ap servers add
  3. "Add Server" をクリックするとウインドウが現れ、サーバー名を入力するフィールド( server-name )および、登録トークンがオプションに与えられた以下のようなコマンドが表示されます(REDACTED部分以降は環境により変化します)。このコマンドをクリップボードに コピー します。

    ./amc_setup -H <REDACTED>---54910 server-name
    module7 lab3 ap servers add popUp

    amc_setup -H コマンドは、Runtime Manager Agent を設定して、Runtime Manager とのハイブリッド管理接続を作成します。接続先は、Anypoint Platformの特定のビジネスグループの特定の環境です。このサーバー登録コマンドは、新しいMuleランタイムが存在するマシンから実行する必要があります。

  4. コマンドプロンプトから cd コマンドを使用して、Muleソフトウェア・ディストリビューションを解凍したディレクトリに移動し、その中の bin ディレクトリに移動します。

    • Windows: cd <MULE_HOME>\bin

    • Mac or Linux: cd <MULE_HOME>/bin

  5. サーバの amc_setup コマンドの文字列をシェルウィンドウ(またはテキストエディタ)に 貼り付け てください。このコマンドを実行する前に、1つか2つ変更を加える必要があります。

    server-name で新しいServerを意味のある名前に変更します。例えば、あなたのマシンの短いホスト名を使うなどです。Windows マシンでは、コマンドがプラットフォームに合わせて正しく実行されるように、./ を削除して .bat を追加します。

    • Windows: amc_setup.bat -H <access_token> <your-hostname>

    • Mac or Linux: ./amc_setup -H <access_token> <your-hostname>

  6. 登録コマンドを変更したら、Enter/return を押して実行します。このコマンドにより、Mule Agentがアンパックされ、ARM(Anypoint Runtime Manager)とのセキュアな通信チャネルが確立されます。成功すると、出力の最後の数行は以下のようになるはずです。

    Mule Agent configured successfully

ステップ 3: ランタイムの開始

これで、ローカルランタイムがAnypoint Runtime Managerの Serversエリアに表示されます。起動すると、Muleアプリケーションのデプロイメントターゲットとして利用できるようになります。それでは、早速実行してみましょう。

MuleSoftが提供するWorkshop RDPインスタンスを使用している場合は、デスクトップにMuleランタイムを起動するためのショートカットが既に用意されています。 それをダブルクリックして ステップ 4に進んでくだい。
  1. Muleランタイムを起動するには、<MULE_HOME>/bin ディレクトリ内のプラットフォームに適したコマンドを使用します。

    • Windows: mule.bat

    • Mac or Linux: ./mule

      Mule Runtime Command-line オプション
      Parameter Description

      start

      端末のバックグラウンドでMuleサーバーを起動します。

      stop

      Muleサーバーを停止します。停止プロセスは、インバウンドエンドポイントを停止して、処理中のメッセージを処理します。ただし、タイムアウト期間のため、最終的なシャットダウンが発生する前にすべてのメッセージが確実に処理されるわけではありません。

      restart

      Muleサーバーを再起動します。

      status

      Muleサーバーのステータス(running または not running)と、実行中の場合はプロセスPIDを表示します。

      dump

      (Unix only.) Muleラッパーのコアをにダンプし $MULE_HOME/log/mule_ee.log に保存します。

      console

      Muleをターミナルフォアグラウンドで起動します(コンソールモード)。mule パラメータなしで実行するのと同じです。

      install

      (Windows only.) MuleをWindowsサービスとしてインストールします。

      remove

      (Windows only.) WindowsサービスからMuleを削除します。

  2. ランタイムが起動すると、Windowsマシン上では、ファイアウォール例外を設定する必要があるというWindowsセキュリティアラートが表示されるかもしれません。ネットワークの"アクセスを許可"を選択する必要があります。

    module7 lab3 mule win fw

ステップ 4: ランタイムへのデプロイ

あなたの新しいオンプレミスのMuleは、準備が整いましたので、何かを実行させてみましょう。

  1. ブラウザで Anypoint Runtime Manager を再度開きます。

  2. Deploy Application ボタンを押下します。

  3. ローカルアプリケーションインスタンス向けに新規にアプリケーション名を付与します。

  4. "Deployment Target" ボックスにて、作成されたオンプレミス版 Mule Runtime を 選択 します。

    module7 lab3 ap arm deploy target
  5. 右側の Choose File をクリックします。続けて Import file from Exchange を選択します。

    ポップアップ画面が表示されます。

  6. Example を選択します。

  7. 検索ボックスにて omni channel をタイプインして検索します。

  8. omni-channel-api を選択します。

  9. Select ボタンを押下します。

    module7 lab3 from exchange
  10. これで、"Deploy application" のボックスを クリック する準備ができました。

    module7 lab3 ready deploy

ステップ 5: アプリケーションの管理

アプリケーションが起動したら、CloudHub の例のように Runtime Manager から表示して管理することができます。オンプレミスのランタイムでは、1つのランタイムに複数のアプリケーションをデプロイしたり、サーバーグループとクラスタを使用してアプリケーションごとに複数のランタイムを割り当てることができます。

  1. Local API Console にアクセスし、アプリケーションの Console を開きます。get:/products/search フローを起動させ、情報を照会します。CloudHub 上の API Console と同一の挙動が確認できるはずです。

  2. オンプレミスのインスタンスをクリックし、ダッシュボードへナビゲートします。

    module7 lab3 ap arm hybrid

    このインターフェイスは、すでにある程度見慣れているはずです。CloudHub Worker上のアプリケーションと比較して、新しいオンプレミスのアプリケーションを管理する方法の類似点と相違点に注意してください。

    module7 lab3 onprem dashboard

    オンプレミスサーバのフロー管理ができます。

  3. 左画面にある Flow リンクをクリックします。

    API の全フローが確認できます。

    module7 lab3 flows
  4. get:\products\search:api-config フローを選択し、Stop ボタンを押下します。

    module7 lab3 stop flow
  5. フローが停止しましたら、 Local API Console へアクセスし、再度 product を検索します。

    下図のようなエラーが確認できるはずです。

    module7 lab3 stop flow console

ステップ 6: オンプレミスサーバの管理

  1. アプリケーションを管理したら、ローカルランタイムインスタンス自体を管理することもできます。これは、 Runtime Managerのサーバーセクションにアクセスして行うことができます。

    module7 lab3 ap servers pane
  2. サーバーの名前を含む行をクリックして、 Manage Serverを選択します。

    module7 lab3 ap arm manage server
  3. このページから、オンプレミス ランタイムに関する情報にアクセスし、プラグインの設定、サーバー プロパティの設定、およびアラートの表示を行うことができます。デプロイされたアプリケーションも下に表示されます。

    module7 lab3 ap arm server view
  4. 左側のDashboardにアクセスして、新しいMuleランタイムのパフォーマンスを確認できます。

    module7 lab3 ap arm server dash
  5. Dashboard には、オンプレミスのランタイムのパフォーマンスに関するメトリクスが表示されます。詳細は、"Breakdown"タブで確認できます。

  6. このページの下部で、アプリケーション名の横にある円をクリックして、このランタイム上のアプリケーション インスタンスに関連付けられたメトリクスを表示することもできます。

    module7 lab3 ap arm dash app details
  7. 終了したら、ローカルのMuleランタイムをシャットダウンしてください。

    1. サーバーダッシュボードの上部にあるシャットダウンをクリックするだけで、ハイブリッド管理アプローチを利用することができます。

      module7 lab3 ap arm servers shut
    2. ローカルの <MULE_HOME>/bin から ./mule stop を実行するか、または Windowsのコマンドプロンプト上で、Ctrl+C を押下することで、Mule ランタイムインスタンスを停止することができます。

まとめ

このラボでは、数分でオンプレミスの Mule ランタイムを簡単にセットアップできることがわかりました。最小限のオーバーヘッドでダウンロード、登録、管理を行いました。さらに重要なのは、同じアプリケーションを CloudHub とオンプレミスの両方にデプロイして管理し、同じインターフェイスから変更なしで実行できるということです。

Mule Runtimeは、Anypoint Platformのエンジンです。Anypointは、レガシーシステム、SaaSアプリケーション、APIにまたがるデータとアプリケーションの統合と、ハイブリッドなデプロイメントオプションを組み合わせた業界唯一の統合プラットフォームであり、最大限の柔軟性を実現します。何を接続しても、すべてを変えることができます。

このラボでは、次の手順を完了しました:

更に、詳細を知りたい場合

おめでとうございます!ラボ3が完了しました。

Submit your feedback!
Share your thoughts to help us build the best workshop experience for you!
Take our latest survey!