oo

オートスケーリング

Liferay Cloudのオートスケーリング機能は、必要に応じてLiferayサービスのインスタンスを自動的に作成・破棄し、パフォーマンスを最適化します。 これは、サーバートラフィックの増加、メモリリーク、またはその他の急な変化に対処します。 デフォルトでは、この機能はすべての Liferay Cloud アカウントで 無効 になっています。

この機能を使用して、サービスはLiferay DXPインスタンスの数を

この機能を使うことで、サービスは Liferay DXP インスタンスの数を 定義された最大数 (デフォルトでは 10) まで自動的に増やす (アップスケール) か、LCP.jsonscale プロパティで指定された数まで減らす (ダウンスケール) ことができます。scale`プロパティは、実行するインスタンスの最小数を指定します:

  "scale": 2,
note

オートスケーリングは、本番環境のLiferay DXPサービスでのみ利用可能です。 オートスケーリングを有効にすると、サービスのインスタンスが増えるごとに1時間ごとの料金が発生します。 オートスケーリングの課金方法については、 オートスケーリングの課金方法 を参照。

JVMメモリ設定

オートスケーリングが正しく機能するためには、LiferayイメージのJVMに適切なメモリ割り当てを設定することが重要です。 この割り当ては、サーバーの負荷に応じてメモリ使用量を拡大または縮小できるようにするために必要です。

liferay サービスの LIFERAY_JVM_OPTS 環境変数を設定し、 -Xms および -Xmx フラグを使用してメモリーを割り当てる。 -Xms フラグは、サービスの開始時に初期メモリ割り当てを設定し、 -Xmx フラグは、JVMの最大メモリ割り当てを決定します。 たとえば、合計16 GBがプロビジョニングされ、このサービスで利用できる場合、プロパティを次のように設定できます:

-Xms4096m -Xmx12288m

推奨される設定は、 -Xms フラグを使用可能なメモリの25%を使用して設定し、 -Xmx フラグを使用可能なメモリの75%を使用して設定することです。 Liferay サービスで使用可能なさまざまなレベルのメモリについて、推奨値のリファレンスについては次の表を参照してください:

使用可能なメモリ 推奨されるLIFERAY JAVA OPTS
8 GB -Xms2048m -Xmx6144m
16 GB -Xms4096m -Xmx12288m
24 GB -Xms6144m -Xmx18432m
32 GB -Xms8192m -Xmx24576m
64 GB -Xms16384m -Xmx49152m
note

LIFERAY_JAVA_OPTS 変数は -Xms-Xmx だけでなく、他のフラグと一緒に使われることもある。 他のフラグが存在する場合は、他のフラグを削除せずにメモリ引数で環境変数を更新します。

この環境変数を Liferay サービスに追加するためのヘルプについては 環境変数の定義 を参照してください。

オートスケーリングの管理

以下の手順に従って、Liferay Cloud Console でオートスケーリングを有効または無効にします:

  1. 本番環境に移動する。
  2. Services] → [Liferay] → [Scale] に移動します。
  3. 自動スケーリングが無効になっている場合は、 [Enable Auto Scaling] をクリックして有効にします。 オートスケーリングが既に有効になっている場合は、[無効にするAuto Scaling]をクリックして無効にします。

自動スケーリングを有効にすると、Liferay Cloudはサービスを監視し、事前に定義されたしきい値に従って自動的にスケーリングします。

図1:サービスの [Scale] タブからオートスケーリングを有効または無効にします。

目標平均稼働率の指定

システム管理者は、 目標平均利用率 を指定できます。 この値は、Liferay DXPサービス全体のメモリおよびCPU使用率の平均です。 オートスケーリングが開始される前に、その値のしきい値を超えなければなりません。

たとえば、3つのサービスインスタンスがそれぞれメモリの70%、90%、95%を使用する場合、平均メモリ使用率は85%です。 目標平均使用率が90に設定されている場合、アップスケーリングは必要ありません。 この状況でのアップスケーリングは、平均メモリ使用率がターゲットを超えた場合にのみ発生します。

使用可能なメモリの合計は、 LCP.jsonLCP.jsonによるコンフィギュレーション で参照される メモリ プロパティで指定されます。

サービスの LCP.jsonautoscale プロパティでターゲットの平均使用率を指定します:

"autoscale": {
    "cpu": 80,
    "memory": 90
}

autoscale プロパティが設定されていない場合、CPUとメモリの両方の使用率の目標平均使用率はデフォルトで80になります。

インスタンスの最大数の設定

デフォルトでは、オートスケーリングにより、 Liferay サービスのインスタンス数を最大10まで増やすことができます。 しかし、必要に応じてこのデフォルトを上書きして、より多くのインスタンスを使用することができます。 サービスで10個以上のデフォルトのインスタンスを使用するには、2箇所でデフォルトを上書きする必要があります:

  1. Web server serviceLCP_HAPROXY_SERVER_TEMPLATE_BACKEND_NUM environment variableを必要な最高値に設定します。 Liferay サービスは、 LCP_HAPROXY_SERVER_TEMPLATE_BACKEND_NUM で定義されているインスタンスの最大数(デフォルトでは10)を超えて拡張することはできません。

  2. LiferayサービスのLCP.jsonファイル内で、デフォルドの10以上のインスタンスが必要な場合、希望の最大インスタンスを指定します。 maxInstances フィールドを autoscale オブジェクト 内に設定します。

    "autoscale": {
        "cpu": 80,
        "memory": 80,
        "maxInstances": 15
    }
    

これら両方の設定を更新すると、オートスケーリングは必要に応じて、 liferay サービスのインスタンスを新たに定義した最大値まで増やします。

オートスケーリングとDXPアクティベーションキー

オンプレミスでLiferay DXPを使用するには、通常、アクティベーションキーを展開して検証する必要があります。 オートスケーリングが有効なLiferay Cloudでは、Liferay CloudチームがDXPアクティベーションキーの問題を解決し、必要に応じてアクティベーションキーの追加と削除を行います。

Capability:
Deployment Approach: