すべてのプロダクト
Search
ドキュメントセンター

Hologres:マルチクラスターと auto scaling (ベータ版)

最終更新日:Jul 31, 2026

マルチクラスターと auto scaling は、Hologres V4.0 以降の仮想ウェアハウスインスタンスで利用できます。仮想ウェアハウスは複数のクラスターにまたがって実行でき、auto scaling は負荷に基づいてアクティブなクラスターの数を調整します。これにより、高同時実行のワークロードを処理し、ウェアハウス内でリソースを分離します。

仕組み

マルチクラスターなし: 仮想ウェアハウス内のすべての計算リソースは単一のクラスターに属します。すべてのリクエストがこれらのリソースを共有します。

マルチクラスターあり: 1 つの仮想ウェアハウス内で複数のクラスターが実行されます。計算リソースはクラスター間で物理的に分離されます。アクセスノード FE は、受信リクエストを負荷分散し、実行のためにクラスターにルーティングします。

マルチクラスターと auto scaling あり: 仮想ウェアハウスは負荷 (リソース使用量とキューイング) を監視し、高負荷時に追加のエラスティッククラスターを自動的に起動します。負荷が低下すると、これらのエラスティッククラスターをリリースしてコストを削減します。

モードの選択

設定を行う前に、この表を参考にして、ご利用のワークロードに適したモードを選択してください。

モード

最適な用途

適さない用途

マルチクラスター (固定)

中小規模のクエリで、負荷が安定して予測可能な高同時実行ワークロード

単一クラスターでより多くの計算リソースを必要とする大規模タスクの低同時実行ワークロード

マルチクラスター + auto scaling

予測不可能なトラフィックスパイクがある高同時実行ワークロード

低同時実行の大規模タスク、スケジュールされたスケーリングによってすでに管理されているワークロード

手動またはスケジュールされたスケーリングを代わりに使用する場合: ピークトラフィックが予測可能な場合は、クラスター数を手動で調整するか、時間ベースの弾力性を使用してください。auto scaling は、ピークが予測不可能な場合に最も価値があります。同じ仮想ウェアハウスで時間ベースの弾力性と auto scaling を同時に使用することはできません。

前提条件、注意事項、および制限事項

前提条件

開始する前に、以下を確認してください:

  • Hologres V4.0 以降を実行している仮想ウェアハウスインスタンス

  • 権限:Alibaba Cloud アカウント、または以下の権限を持つ Resource Access Management (RAM) ユーザー:

注意事項と制限事項

  • 影響: クラスターのスケーリングは、特定の読み書きタスクを短時間中断させる可能性があります。詳細については、「スケールアウト (水平スケーリング)」をご参照ください。

  • 機能の競合: スケジュールされたスケーリングと auto scaling は、1 つの仮想ウェアハウスで同時に有効にすることはできません。Hologres コンソールでの開始/停止や計算リソースの調整などの手動操作は引き続き利用可能です。

  • プロビジョニング失敗の可能性: エラスティッククラスターの起動は保証されません。プロビジョニング失敗の可能性があるため、アラートを設定してください。詳細については、「監視とアラート」をご参照ください。

  • リージョン別の可用性:

    機能

    可用性

    マルチクラスター

    すべてのリージョン

    auto scaling

    以下の表をご参照ください

    リージョン

    auto scaling のサポート

    注意事項

    中国 (杭州)、中国 (上海)、中国 (北京)、中国 (深セン)

    サポート済み (ベータ版)

    トライアルを申請するには、申請フォームにご記入ください。

課金

予約済みリソースは、インスタンスの課金方法 (サブスクリプションまたは従量課金) に基づいて課金されます。

エラスティックリソースは従量課金で、起動されたエラスティック計算リソースに対して別途課金されます:

コスト = 起動されたエラスティックリソース (CU × 時間) × 単価

Alibaba Cloud はエラスティックリソースの使用量を 1 分ごとに記録し、1 時間ごとに請求書をプッシュします。料金はアカウントから自動的に引き落とされます。単価については、「課金」をご参照ください。

マルチクラスターの有効化

仮想ウェアハウスの予約済みクラスター数を変更することで、マルチクラスター機能を有効にできます。詳細な手順については、「スケールアウト (水平スケーリング)」をご参照ください。

auto scaling の有効化

auto scaling は、リソース使用量やキューイングを含む負荷に基づいてアクティブなクラスターの数を調整します。

  1. Hologres コンソールにログインします。左上のコーナーで、インスタンスがデプロイされているリージョンを選択します。

  2. 左側のナビゲーションウィンドウで、インスタンス一覧 をクリックします。対象の インスタンス ID / 名前 をクリックして、インスタンスの詳細 ページを開きます。

  3. インスタンス詳細ページの左側のナビゲーションウィンドウで、仮想ウェアハウスの管理 を選択します。右側で、仮想ウェアハウス自動スケーリング タブを選択します。

  4. 自動スケーリングを有効にする をオンにします。クラスターの最大数 の値を設定し、保存 をクリックします。

[最大クラスター数] は、エラスティックなスケールアウトの上限を定義します。仮想ウェアハウスは、高負荷時にこの制限までクラスターを追加します。

auto scaling の動作の確認

auto scaling を有効にした後、pgbench (PostgreSQL のネイティブパフォーマンステストツール) を使用して、スケーリングが正しくトリガーされることを確認します。この例では、クラスターあたり 32 CU、予約済みクラスター 1 つ、最大クラスター数 4 つの構成を使用します。

  1. テストテーブルを作成し、データをロードします:

    CREATE TABLE tbl_1 (col1 INT, col2 INT, col3 TEXT);
    CREATE TABLE tbl_2 (col1 INT, col2 INT, col3 TEXT);
    INSERT INTO tbl_1 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i;
    INSERT INTO tbl_2 SELECT i, i+1, md5(random()::TEXT) FROM generate_series(0, 500000) AS i;
  2. ストレステストサーバーで、次のクエリを含む select.sql という名前のファイルを作成します:

    EXPLAIN ANALYZE SELECT * FROM tbl_1 LEFT JOIN tbl_2 ON tbl_1.col3 = tbl_2.col3 ORDER BY 1;
  3. パスワードを環境変数として設定します:

    export PGPASSWORD='<AccessKey_Secret>'
  4. ストレステストを実行します。プレースホルダーを実際の値に置き換えてください。接続パラメーターの詳細については、「Hologres への接続とデータ開発」をご参照ください。

    プレースホルダー

    説明

    <AccessKey_Secret>

    アカウントの AccessKey Secret

    <Database>

    対象の Hologres データベース名

    <AccessKey_ID>

    アカウントの AccessKey ID

    <Endpoint>

    Hologres インスタンスのエンドポイント

    <Port>

    接続ポート

    pgbench \
      -c 30 \
      -j 30 \
      -f select.sql \
      -d <Database> \
      -U <AccessKey_ID> \
      -h <Endpoint> \
      -p <Port> \
      -T 1800

期待される結果:

  • クラスターの CPU 使用率: image

    • クラスター 1 の負荷が高い状態が続くと、auto scaling がクラスターを追加します (チャートの位置 1)。

    • ストレステストが終了すると、両方のクラスターの負荷が低くなり、auto scaling がエラスティッククラスターを削除します (位置 2)。

  • 仮想ウェアハウスの CPU 使用率: image

    • 仮想ウェアハウスの CPU 使用率が継続的に 85% を超えると、新しいクラスターが追加されます。

    • 新しいクラスターが追加されると、全体の CPU 使用率は約 70% に低下します。

監視とアラート

メトリクス

Hologres コンソールで、仮想ウェアハウスの以下のメトリクスを監視します。設定手順については、「メトリクスの監視」をご参照ください。

  • クラスターの CPU 使用率

  • クラスターのメモリ使用量

  • 仮想ウェアハウスの auto scaling によって起動された vCPU の数

エラスティックイベントログ

  1. 仮想ウェアハウスの管理 ページで、エラスティックイベント実行ログ タブをクリックします。

  2. 時間範囲を選択して、過去のスケーリングイベントを表示します。各イベントレコードには、実行時間、仮想ウェアハウス、実行ステータス、イベントタイプ、予約済みクラスター数、およびターゲットクラスター数が含まれます。

Cloud Monitor イベント

auto scaling のスケールアウトおよびスケールインイベントは Cloud Monitor に記録されます。

  1. Cloud Monitor イベントセンターに移動します。システムイベント ページで、イベントモニタリング エリアのプロダクトとして Hologres を選択します。以下の auto scaling イベントが利用可能です:

    イベント名

    説明

    Instance:Warehouse:AutoElastic:Start

    仮想ウェアハウスの auto scaling が開始されました

    Instance:Warehouse:AutoElastic:Finish

    auto scaling が正常に完了しました

    Instance:Warehouse:AutoElastic:Failed

    auto scaling が失敗しました (例:クラスターが起動できなかった)

  2. これらのイベントに基づいて、通知またはアラートルールを設定します。設定手順については、「システムイベントのアラートの使用」をご参照ください。

以下に、スケールアウトイベントが失敗した場合の Cloud Monitor イベントペイロードの例を示します:

{
    "status": "Failed",
    "instanceName": "<instance_id>",
    "resourceId": "<instance_resource_id>",
    "content": {
        "AutoElasticCPU": <cpu_num>,
        "ScaleType": "ScaleOut",
        "ScheduleId": "xxxxxx",
        "WarehouseId": "<warehouse_id>",
        "WarehouseName": "<warehouse_name>"
    },
    "product": "hologres",
    "time": 1722852008000,
    "level": "WARN",
    "regionId": "<region>",
    "id": "<event_id>",
    "groupId": "0",
    "name": "Instance:Warehouse:TimedElastic:Failed"
}

ActionTrail

Hologres コンソールで実行されたすべての操作 (auto scaling 設定の編集を含む) および auto scaling によってトリガーされた実際のクラスターのスケーリング操作は、ActionTrail に記録されます。詳細については、「監査イベントログ」をご参照ください。