Pivotal Cloud Foundry へのデプロイ

logo cloud disabled logo hybrid disabled logo server disabled logo pcf active

ローカルインフラストラクチャに Pivotal Cloud Foundry スペースが含まれている場合、動的に割り当てられたローカルリソース上で実行されている仮想サーバに Mule アプリケーションをデプロイできます。そのしくみと現在の制限事項についての詳細は、「デプロイメント戦略」を参照してください。

Pivotal Cloud Foundry を介してProxy Referenceすることもできます。これによって、Mule 以外のアプリケーションへのすべてのトラフィックを仲介し、それを通じてランタイムポリシーを適用できます。

このページでは、Anypoint Platform Private Cloud Edition の Runtime Manager UI での [Deploy Application (アプリケーションをデプロイ)] パネルのオプションについて説明します。

[Deploy Application (アプリケーションをデプロイ)] 画面へのアクセス

アプリケーションをデプロイする手順は、次のとおりです。

  1. サインオンページで、 Anypoint Platform にサインオンするか、[Sign Up (サインアップ)] をクリックします。

  2. [Runtime Manager] アイコンにマウスポインタを置いてクリックするか、[Open (開く)] をクリックします。

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

    deploying to cloudhub 3dcbb
  4. [Deploy Application (アプリケーションをデプロイ)] ページが開きます。

    deploying to pcf start

アプリケーション名の作成

すべてのアプリケーションには一意のアプリケーションドメイン名が必要です。アプリケーションドメインによって、Runtime Manager 内でアプリケーションが識別されます。

[Deploy Application (アプリケーションをデプロイ)] ダイアログで、一意のアプリケーション名を入力します。有効な名前には英数字とダッシュが含まれ、最大長は 42 文字です。名前が有効であれば、その名前が使用可能か、またはすでに別のユーザによって予約されているかを示すアラートが表示されます。

deploying to pcf appname

デプロイメント対象

[Deployment Target (デプロイメント対象)] 項目では、アプリケーションをデプロイする場所を指定できます。

  • Pivotal Cloud Foundry (PCF)

  • オンプレミスサーバ、サーバグループ、またはクラスタ

このドキュメントでは、Pivotal Cloud Foundry へのデプロイに焦点を絞ります。サーバ、サーバグループ、クラスタへのデプロイについての詳細は、「独自のサーバへのデプロイ」を参照してください。

アプリケーションファイル

デプロイメント用の新しいファイルをアップロードします。[Choose File (ファイルを選択)] ボタンをクリックし、アプリケーションファイルを選択し、[Open (開く)] をクリックします。

注意: アプリケーションファイルのサイズ制限は 90 MB です。

ApplicationFile

アプリケーション設定

ランタイムバージョン

ドロップダウンメニューを使用して、デプロイする [Runtime version (ランタイムバージョン)] (Mule バージョン) を選択します。

RuntimeVersion2
  • Mule バージョンが、アプリケーションの開発に使用したのと同じバージョンであることを確認します。

  • アプリケーションをデプロイしたときに設定した Mule バージョンを確認するには、[Applications (アプリケーション)] タブをクリックし、アプリケーションをクリックします。右側の拡張ビューで、[Manage Application (アプリケーションを管理)] をクリックします。[Settings (設定)] をクリックすると、デプロイの値が表示されます。

Replication Factor (複製係数)

この項目では、アプリケーションをデプロイするインスタンスの数を設定できます。実際のコンピューティング性能に関して、これらの各インスタンスが何を表すかは、具体的な PCF 設定によって異なります。

deploying to pcf repli

1 つのアプリケーションに複数のインスタンスを割り当てる場合は、1 つのロードバランサがすべてのインスタンスにアクセスします。このロードバランサは、PCF によって自動的に作成され、受信トラフィックをインスタンスに分散させます。

複数のインスタンスがクラスタとして互いに通信を行うようにするには、それらを Hazelcast サーバにバインドする必要があります

[Properties (プロパティ)] タブ

必要に応じて、アプリケーションに必要なプロパティを指定することもできます。これによって、デプロイする環境によって異なる可能性のある重要な設定項目を外部に置くことができます。たとえば、ある環境で Mule アプリケーションを使用しているときに、データベースホストをローカルホストに設定するとします。一方、それを別の環境で使用するときには、Amazon RDS サーバに設定する可能性もあります。

アプリケーションプロパティを追加するには、[Properties (プロパティ)] タブをクリックし、次の形式を使用してテキストボックスにキー/値ペアを追加します。

-Dkey=value

-D フラグは、これが Mule アプリケーション内で認識できるシステムプロパティであることを示すために必要です。プロパティを追加したら、[Apply Changes (変更を適用)] をクリックします。

deploying to pcf properties

プロパティの上書き

CloudHub とオンプレミス Mule Runtime デプロイメントのように、PCF にデプロイするアプリケーションでも固有のプロパティプレースホルダファイルやセキュアプロパティプレースホルダファイルをデプロイ可能なアーカイブファイル内にバンドルできます。これらのプロパティはアプリケーションの起動時に Mule によってアプリケーションに代入されます。

アプリケーション内の mule-app.properties ファイルやバンドルされたプロパティプレースホルダファイルで設定されたプロパティ名がある場合は、アプリケーションがデプロイされると、[Properties (プロパティ)] タブ内の同じ名前のエントリはアプリケーションにバンドルされた一致する値を上書きします。

[Service Bindings (サービスバインド)] タブ

任意の外部サービスをデプロイメントにバインドし、このサービスに送信されたプロパティをこのバインドに入力できます。たとえば、データベースサービスをデプロイメントにバインドすることができます。そうすることで、(既存の) データベースサーバによって、デプロイされたアプリケーションに合わせたデータベースインスタンスが作成されます。その場合、通常はデータベースサービスにログイン情報を送信する必要があります。これらは、そのサービスバインドに固有のプロパティを介して送信できます。

Pivotal Operations Manager で、サービスとして利用できるようにするさまざまなアプリケーションを登録できます。たとえば、Hazelcast または MySQL の複数のインスタンスをそれぞれ異なるデータベースサーバに登録できます。登録後、Runtime Manager UI で [Select a Service (サービスを選択)] ドロップダウンメニューを開いたときにそれらが表示されます。

deploying to pcf services

いずれかを選択し、[Add Service (サービスを追加)] ボタンをクリックします。その後、そのサービスに固有のプロパティを追加できます。

サービスバインドのプロパティ

[Properties (プロパティ)] タブと同じように、対応するサービス固有のプロパティに key:value ペアを定義できます。[Properties (プロパティ)] タブのプロパティは完全なデプロイメントのグローバルレベルで機能するのに対して、このタブのプロパティは指定されたサービスの範囲でのみ機能します。

deploying to pcf properties

Hazelcast へのバインド

複数のインスタンスにアプリケーションを (​Replication Factor (複製係数)​ 項目の設定によって) デプロイする場合に、これらのインスタンスがクラスタとして互いに通信するようにするには、これらを 1 つの Hazelcast サービス (または複数の Hazelcast サービス。その場合は、Hazelcast インスタンスごとに 1 つのサービス) にバインドする必要があります。

まず、To Configure a Mule Hazelcast Serverの手順に従ってサービスを使用可能にする必要があります。

使用可能になると、サービスは ​[Service Binding (サービスバインド) タブ]​のドロップダウンに表示され、UI を使用して簡単にアプリケーションをこのサービスにバインドできます。すべての必要な Hazelcast ノードサービスにアプリケーションをバインドする必要があります。

Mule buildPack は、Mule アプリケーションと Hazelcast クラスタの間のバインドを自動的に認識し、Mule サーバをクラスタモードで起動します。

すでにデプロイされている Mule アプリケーションを拡張するには、<<[Replication Factor (複製係数)]>> 項目を設定するだけです。新しい Mule ノードは他のノードと同じサービスにバインドされます。Mule アプリケーションを拡張することで、Hazelcast クラスタへの負荷が大きくなり、Hazelcast クラスタも拡張する必要がある可能性があることを考慮してください。

バインド成功の確認

サービスバインドが成功したことを確認するには、アプリケーションを PCF に転送した後にアプリケーションのログを確認します。ログのエントリは次のようになります。

INFO  2016-09-30 16:11:34,430 [WrapperListener_start_runner] com.mulesoft.mule.cluster.hazelcast.HazelcastManager: Configuring cluster in client mode
INFO  2016-09-30 16:11:34,430 [WrapperListener_start_runner] com.mulesoft.mule.cluster.hazelcast.HazelcastManager: Configuring cluster with custom hazelcast client configuration
INFO  2016-09-30 16:11:34,430 [WrapperListener_start_runner] com.mulesoft.mule.cluster.hazelcast.HazelcastManager: Hazelcast cluster nodes: 127.0.0.1:5701
INFO  2016-09-30 16:11:34,430 [WrapperListener_start_runner] com.mulesoft.mule.cluster.hazelcast.HazelcastManager: Hazelcast cluster id: #hazelcastClusterId#
INFO  2016-09-30 16:11:34,443 [WrapperListener_start_runner] com.mulesoft.mule.cluster.hazelcast.HazelcastClientInstanceBuilder: Configuring cluster nodes 127.0.0.1:5701
INFO  2016-09-30 16:11:34,481 [WrapperListener_start_runner] com.hazelcast.core.LifecycleService: HazelcastClient[hz.client_0_clusterOnAmazonHazelcast][3.6.2] is STARTING
INFO  2016-09-30 16:11:34,724 [WrapperListener_start_runner] com.hazelcast.core.LifecycleService: HazelcastClient[hz.client_0_clusterOnAmazonHazelcast][3.6.2] is STARTED
INFO  2016-09-30 16:11:34,812 [hz.client_0_clusterOnAmazonHazelcast.user-1] com.hazelcast.core.LifecycleService: HazelcastClient[hz.client_0_clusterOnAmazonHazelcast][3.6.2] is CLIENT_CONNECTED

デプロイの実行

上記の手順を実行した後に、[Create (作成)] をクリックすると、PCF は必要な仮想リソースを作成し、Mule Runtime インスタンスが含まれたイメージを読み込み、アプリケーションをこの Mule Runtime にデプロイします。

PCF は最初にイメージをインスタンス化する必要があるため、このステップには数分かかる場合があります。

デプロイメントが完了すると、アプリケーション状況インジケータが緑に変わり、アプリケーションが正常にデプロイされたことがログで通知されます。ログには次のメッセージが含まれます。

Successfully deployed [mule application name]

デプロイ済みアプリケーションの設定

上記の手順で説明したすべての設定は、アプリケーションがデプロイされた後に編集できます。そのためには、以下の手順を実行する必要があります。

  1. [Applications (アプリケーション)] タブで、アプリケーションエントリを選択し、[Manage Application (アプリケーションを管理)] をクリックします。

    AMC_ManageApplication
  2. アプリケーションの [Settings (設定)] タブが表示されます。

    deploying to pcf setup

API Manager からのプロキシの自動デプロイ

Mule アプリケーションとして開発されていないアプリケーションの API を API Manager に登録するには、コマンドラインを使用できます。

これによって、プロキシとして機能する簡単な Mule アプリケーションが作成され、それが Runtime Manager と API Manager の両方に登録されます。API Manager を使用して、About Custom Policiesを適用し、使用状況データを表示できます。

API PCF

Proxy Referenceを参照してください。

デプロイエラー

エラーが発生し、アプリケーションをデプロイできない場合、アプリケーションの状況インジケータは Failed に変わります。エラーが発生したことを示すアラートが状況領域に表示されます。ログの詳細を参照し、アプリケーションのデプロイエラーがないかどうかを確認します。エラーを修正し、アプリケーションをアップロードして、再度デプロイする必要があります。

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub