Skip to main content

 

OutSystems 11オンラインヘルプ

 

 

OutSystems

デプロイメントゾーンを使用した選択的デプロイ

OutSystemsのオンプレミスインストールでのみ利用可能です。

デプロイメントゾーンを使用すると、ファーム環境のフロントエンドサーバーによるモジュールまたはeSpaceの配布を定義できます。

デプロイメントゾーンを使用するのは、目的の異なるサーバーがあり(一部のサーバーをDMZネットワークに配置する場合など)、モジュールまたはアプリケーション全体をデプロイするサーバーを選択する場合です。

デプロイメントゾーンを利用すると、特定のデプロイメントゾーン用に構成されたサーバーにのみデプロイすることで、モジュールの分離が実現します。あるモジュール用に定義されたデプロイメントゾーンが変更された場合、またはモジュールが別のデプロイメントゾーンに変更された場合、そのモジュールは新しいデプロイメントゾーンに設定されているサーバーにデプロイされ、そのデプロイメントゾーンに属していないサーバーからは削除されます。

各デプロイメントゾーンにはサーバーが1台または複数台存在します。サーバーは同時に複数のゾーンに属することができます。ただし、アプリケーション(またはアプリケーションモジュール)を関連付けられるデプロイメントゾーンは1つだけです。こうした構成は、すべてサービスセンターで定義します。

デプロイメントゾーンは、[Includes all Servers]構成オプションを有効にすることによって、環境内で利用可能なフロントエンドサーバーがすべて自動的に含まれるように設定できます。これにより、フロントエンドサーバーを環境に新たに追加するたびに、デプロイメントゾーンに新しいサーバーを追加する手作業を省略できます。

デプロイメントゾーンを「コンテナベースのホスティングテクノロジー」で構成した場合、構成できるデプロイメントゾーンはアプリケーション全体に対してのみで、個別のモジュールのデプロイメントゾーンは構成できません。これはコンテナのデプロイユニットがアプリケーションであるためです。

また、コンテナベースのホスティングテクノロジーを使用するデプロイメントゾーンにアプリケーションのデプロイメントゾーンを変更する場合は、アプリケーションを再パブリッシュして変更を反映させる必要があります。

デフォルトのデプロイメントゾーン

デフォルトのデプロイメントゾーンを構成することで、新しいモジュールやアプリケーションのデプロイ先を制御できます。OutSystemsでは、最初のインストール時に「Global」という名前のデプロイメントゾーンが作成され、デフォルトのデプロイメントゾーンに設定されます。

通常、アプリケーションを新規作成して初めてパブリッシュする場合は、そのモジュールはデフォルトのデプロイメントゾーンにデプロイされます。モジュールやアプリケーションを初めてパブリッシュした後は、他のデプロイメントゾーンをデプロイ対象に選択できます。

この規則には例外が1つあります。アプリケーションのモジュールがすべて同じデプロイメントゾーンに構成されている場合、Development環境によって、またはソリューションファイルに新しいアプリケーションモジュール(その環境にデプロイされたことのないアプリケーションモジュール)を追加することによって、モジュールを新規作成すると、そのアプリケーションの他のモジュールとして、同じデプロイメントゾーンに自動的に関連付けられます。

ホスティングテクノロジーが「Classic Virtual Machines」である限り、他のデプロイメントゾーンをデフォルトゾーンにすることも可能です。

以下の例では、3つのゾーンを定義しています。

  • Internal Appsデプロイメントゾーンには次の2台のサーバーが関連付けられています。サーバー1とサーバー2。
  • B2Eデプロイメントゾーンには次の1台のサーバーが関連付けられています。サーバー2。
  • Publicデプロイメントゾーンには次の1台のサーバーが関連付けられています。サーバー3。

次に3つのモジュールを構成して、各ゾーンに関連付けます。

  • モジュール1はInternal Appsデプロイメントゾーンに関連付けられています。
  • モジュール2はB2Eデプロイメントゾーンに関連付けられています。
  • モジュール3はPublicデプロイメントゾーンに関連付けられています。

モジュールは、以下の図のとおり3台のサーバーにデプロイされることになります。

デプロイメントゾーンは、次の2種類のデプロイのうちの1つを実行するよう構成できます。標準的なIIS(Internet Information Services)Webサーバーへのデプロイ— 「Classic Virtual Machines」という名のホスティングテクノロジー —、または別のホスティングテクノロジーをサポートする「コンテナベースのインフラ」へのデプロイ。

異なるデプロイメントゾーンにあるアプリケーション間の通信

アプリケーションには、デプロイメントゾーン外にある他のアプリケーションとの通信が必要となる場合があります。これを実現するには、2番目のアプリケーションのデプロイメントゾーンアドレスを使用します。

以下のシナリオでは、インターネットユーザー向けのWebインターフェイスを公開している「Front-end App」という名前のアプリケーションがあります。このアプリケーションでは、バックエンドのサービスという形で既存のロジックを再利用します。Back-end ServiceがInternal Appsデプロイメントゾーンにデプロイされ、Front-end AppがPublicデプロイメントゾーンにデプロイされました。これによって、「Back-end Service」をインターネットユーザーから分離することができるのと同時に、「Front-end App」を利用してその機能にアクセスすることもできます。

「Front-end App」は、「Back-end Service」のデプロイメントゾーンアドレスを使用して「Back-end Service」を検出します。このアドレスはネットワークアーキテクチャによって異なる場合があり、デプロイメントゾーン作成時に「Deployment Zone Address」パラメータで定義します。

ユースケースの例

以下の例では、複数のサーバーで構成される環境を設定しています。社内ユーザーを対象にしたサーバー(「社内サーバー」)が1台と一般ユーザーを対象にしたサーバー(「一般ユーザー向けサーバー」)が1台(または複数台)です。

明示的にセグメント化されたサーバー

デフォルトのデプロイメントゾーンに社内サーバーが1台だけ含まれる環境で2台のサーバーが構成されるシナリオを検討します。

  • インターネット接続している外部ユーザーがアクセスする一般向け専用のアプリケーションサービスを提供する、DMZネットワーク上の1台のサーバー。
  • 社内ユーザーがアクセスする社内専用のWebアプリケーションサービスを提供する、社内サーバー1台。

社内ユーザーのみが利用可能なWebアプリケーションおよび外部ユーザーだけが利用可能な他のWebアプリケーションをデプロイします。デフォルトでは、Webアプリケーションはデフォルトのデプロイメントゾーンにデプロイされます。ただし、このアプリケーションを利用できるのは、イントラネットの社内サーバーにおいてのみです。

Webアプリケーションの構成を変更して一般ユーザー向けサーバーのみにデプロイするには、以下の手順を実行します。

  • 一般ユーザー向けサーバーのみを含むデプロイメントゾーン([Public]など)を新規作成します。
  • Webアプリケーションが新しいデプロイメントゾーンを使用するように構成します。

この手順を実行すると、先ほど構成したアプリケーションが一般ユーザー向けサーバーにのみデプロイされ、以前に構成されたデプロイメントゾーンに属する他のサーバーからは削除されます。インターネットユーザーは、サーバーのグローバルアドレスでアプリケーションにアクセスします。

後の段階で、このWebアプリケーションに新しいモジュールを追加する場合、すべてのアプリケーションモジュールがこのデプロイメントゾーンに関連付けられている限り、同じデプロイメントゾーン([Public])にデプロイされます。

社内Webアプリケーション

2台のサーバーが共にデフォルトのデプロイメントゾーンに属する環境で2台のサーバーが構成されるシナリオを検討します。

  • インターネット接続している外部ユーザーがアクセスする、DMZネットワーク上のサーバー1台。
  • 社内ユーザーがアクセスする社内サーバー1台。

Webアプリケーションをデプロイして、社内のユーザーのみが使用できるようにします。デフォルトでは、Webアプリケーションはデフォルトのデプロイメントゾーンにデプロイされます。ただし、社内向けのサーバーとDMZネットワークにある一般ユーザー向けのサーバーの両方で利用可能になってしまいます。

Webアプリケーションの構成を変更して社内サーバーのみにデプロイするには、以下の手順を実行します。

  1. 社内サーバーのみを含むデプロイメントゾーン([Intranet]など)を新規作成します。
  2. Webアプリケーションが新しいデプロイメントゾーンを使用するように構成します。

この手順を実行すると、先ほど構成したアプリケーションが社内サーバーにのみデプロイされ、以前に構成されたデプロイメントゾーンに属する他のサーバーからは削除されます。社内ユーザーは、サーバーの内部アドレスでアプリケーションにアクセスします。

後の段階で、このWebアプリケーションに新しいモジュールを追加する場合、すべてのアプリケーションモジュールがこのデプロイメントゾーンに関連付けられている限り、同じデプロイメントゾーン([Intranet])にデプロイされます。

パブリックWebアプリケーションの負荷分散

2台の公開サーバーがインターネットからアクセス可能で、すべてのサーバーがデフォルトのデプロイメントゾーンに属するシナリオを検討します。公開アクセスが可能な形式でWebアプリケーションをデプロイし、2台の公開サーバー間で負荷を分散します。負荷を2台に分散するには、サードパーティ製コンポーネントであるロードバランサを設定する必要があります。

2台の一般ユーザー向けサーバーにWebアプリケーションを正しくデプロイして負荷を分散するには、以下の手順を実行します。

  1. Webアプリケーションへのリクエストを処理する一般ユーザー向けサーバー2台を含むデプロイメントゾーン([Public]など)を設定します。
  2. Webアプリケーションが新しいデプロイメントゾーンを使用するように構成します。
  3. デプロイメントゾーンで構成した一般ユーザー向けサーバーの1台のアプリケーションモジュールURLに、リクエストをルーティングするようロードバランサを設定します。

これらの構成を行うと、Webアプリケーションが2台の一般ユーザー向けサーバーにデプロイされます。ユーザーは、Publicデプロイメントゾーンの構成済みサーバーにリクエストを引き渡すロードバランサのアドレスを使用してモジュールにアクセスします。

制限事項

モジュールを別のデプロイメントゾーンにデプロイする場合は、以下の制限を考慮してください。

  • システムコンポーネントはデフォルトのデプロイメントゾーンにデプロイされます。Service CenterおよびLifeTimeへのアクセスを制限するには、社内ネットワーク構成を使用します(Service Centerの[Administration > Security > Network Security]で利用可能)。

  • モジュールのタイマーとメールは、モジュールがデプロイされたデプロイメントゾーンのサーバーでのみ使用できます。

  • 別のデプロイメントゾーンのモジュールに属するアクティビティ用に、BPT関連のシステムアクション(ActivityClose、ActivityGetUrlなど)を呼び出すことはできません。

  • 特定のモジュールに属する画像、CSSファイル、およびモジュールリソース ファイルは、まったく同じサーバーにデプロイされているモジュール以外からはアクセスできません。

このセクションの記事