Hologres の仮想ウェアハウスインスタンスは、スケジュールされたスケーリングをサポートしており、弾力性プランを作成してトラフィックのピーク時にコンピューティングリソースを自動的にスケーリングできます。 これにより、インスタンスの安定性が向上し、リソース使用率が最適化され、コストが削減されます。本トピックでは、スケジュールされたスケーリング機能の使用方法について説明します。
ユースケース
あるデータプラットフォームチームが、大規模な ETL ジョブ、大量のバルクインポート、およびニアリアルタイムのデータインジェストに init_warehouse を使用し、ビジネスチーム A とビジネスチーム B がクエリ用に warehouse 1 と warehouse 2 を使用するシナリオを考えます。 以下は、スケジュールされたスケーリングの典型的なユースケースです。
-
ニアリアルタイムおよびリアルタイムのデータインジェストには、引き続き
init_warehouse仮想ウェアハウスを使用します。 データ量が 1 日を通して安定している場合は、弾力性プランは必要ありません。特定の時間帯 (通常は 16 時間未満) に予測可能で繰り返し発生する書き込みピークがある場合は、弾力性プランを作成してその期間中に追加の弾力性リソースをプロビジョニングします。 -
ビジネスチームのクエリには、ワークロードの分離を確保するために、引き続き個別の仮想ウェアハウスを使用します。 クエリ量が安定している場合は、弾力性プランは必要ありません。クエリリクエストが予測可能な日次サイクルに従う場合は、弾力性プランを作成してクエリのピーク時間中に追加の弾力性リソースを割り当てます。
-
大規模な ETL ジョブや大量のバルクインポートには、サーバーレスコンピューティングリソースの使用を推奨します。サーバーレスコンピューティングは、事前のプロビジョニングを必要とせずに、追加のオンデマンドのコンピューティングリソースを提供します。これにより、インスタンスの安定性が向上し、メモリ不足 (OOM) エラーが削減され、使用した分だけをお支払いいただきます。詳細については、「サーバーレスコンピューティング」をご参照ください。使用方法については、「サーバーレスコンピューティングの使用」をご参照ください。
基本概念
インスタンスレベルおよび仮想ウェアハウスレベルのコンピューティングリソースの定義については、「用語」をご参照ください。
以下は、インスタンスのリソース設定の例です。
|
カテゴリ |
リソース詳細 |
|
インスタンス |
96 個の予約済み CU (64 個の CU が割り当て済み、32 個の CU が未割り当て)。 |
|
32 個の弾力性 CU。 |
|
|
合計コンピューティングリソース:96 + 32 = 128 CU。 |
|
|
仮想ウェアハウス init_warehouse |
32 個の予約済み CU、16 個の弾力性 CU、合計 48 CU。 |
課金
-
インスタンスの予約済みリソース:仮想ウェアハウスインスタンス専用のコンピューティングリソースであり、インスタンスの課金方法 (サブスクリプションまたは従量課金) に応じて課金されます。
-
インスタンスの弾力性リソース: 定時スケーリング機能によってプロビジョニングされる追加のコンピューティングリソースです。料金は次のように計算されます:
料金 = 実際の弾力性リソース使用量 (CU 時間) × 単価。具体的な単価については、「課金の概要」をご参照ください。料金は 1 時間ごとに決済され、お客様のアカウントから自動的に引き落とされます。説明-
システムは毎分弾力性リソースの使用量を記録します。 各時間の終わりに、その時間の合計使用量を計算し、単位を変換し、請求書を生成し、アカウントから料金を自動的に引き落とします。
-
インスタンスの弾力性リソースは、未割り当てのインスタンスリソースとは独立してプロビジョニングされます。 インスタンスに未割り当ての予約済みリソースがある場合でも、スケジュールされたスケーリングは未割り当てのリソースを使用せず、新しい弾力性リソースをプロビジョニングします。
-
制限事項
-
スケジュールされたスケーリングは、仮想ウェアハウスインスタンスでのみ利用可能です。 汎用インスタンスまたは読み取り専用レプリカインスタンスではサポートされていません。
-
スケジュールされたスケーリングは、Hologres v2.2.21 以降でサポートされています。
-
利用可能なリージョン:
現在、スケジュールされたスケーリング機能はパブリックプレビュー段階です。アクセスをリクエストするには、Alibaba Cloud のメインアカウントを使用して Hologres スケジュールされたスケーリング パブリックプレビュー申請書 にご記入ください。
リージョン
利用可否
説明
中国 (杭州)、中国 (上海)、中国 (北京)、および中国 (深圳)
サポート済み
申請が承認されると、この機能を直接使用できます。
中国 (上海) 金融クラウド、中国 (北京) GovCloud、中国 (深圳) 金融クラウド、日本 (東京)、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、およびメキシコ
サポート対象外
トライアル申請は利用できません。
中国 (成都)、香港 (中国)、シンガポール、ドイツ (フランクフルト)、米国 (シリコンバレー)、米国 (バージニア)、および UAE (ドバイ)
チケットで利用可能
アクセスをリクエストするには、次の手順に従います:
-
申請フォームに記入します:Hologres スケジュールされたスケーリング パブリックプレビュー申請書。
-
審査のためにチケットを起票します。
-
注意事項
-
スケジュールされたスケーリングに必要な権限:
-
弾力性プランを作成するには、Alibaba Cloud のメインアカウント、または
AliyunHologresWarehouseFullAccess権限を持つ RAM ユーザーを使用する必要があります。 この権限は、Hologres コンソールへの読み取り専用アクセスと、スケジュールされたスケーリング機能の設定権限を付与します。権限付与の手順については、「RAM ユーザーへの権限付与」をご参照ください。 -
弾力性プランを作成し、各スケジュールされたスケーリング操作が正常にトリガーされるようにするには、アカウントにインスタンスの
スーパーユーザー権限が必要です。権限付与の手順については、「RAM ユーザーにインスタンスの開発権限を付与する」をご参照ください。
警告弾力性プランを作成したアカウントから
スーパーユーザー権限が取り消された場合、その後のすべてのスケジュールされたスケーリング操作は失敗します。権限の変更による失敗を防ぐため、弾力性プランの管理には専用の運用アカウントを使用することを推奨します。 -
-
スケーリング操作は、実行中のクエリや書き込みに影響を与える可能性があります。
-
Hologres v2.2 では、スケジュールされたスケールアウトおよびスケールイン操作により、仮想ウェアハウス上のクエリと書き込みが約 15 秒間中断されます。
-
Hologres v3.0 以降、仮想ウェアハウスのステータスが「処理中」と表示されても、スケールアウト操作はクエリや書き込みを中断しません。 スケールイン操作では、引き続き約 15 秒間の中断が発生します。
-
Hologres v3.1 以降、スケールイン操作はほとんどのクエリや書き込みに影響を与えません。ただし、スケールインがトリガーされたときに完了までに 60 分以上を要する長時間実行クエリや書き込みが進行中の場合、そのタスクはスケーリング操作の開始から 60 分後に失敗します。
-
-
仮想ウェアハウスに弾力性プランが設定されると、以下のようになります。
-
仮想ウェアハウスを停止または削除したり、そのリソースを手動でスケールインしたりすることはできません。
-
仮想ウェアハウスのリソースのスケールアウトは Hologres コンソールでのみ実行でき、
hg_alter_warehouseコマンドを手動で実行してスケールアウトすることはサポートされていません。 -
新しい仮想ウェアハウスは、Hologres コンソールからのみ作成できます。
hg_create_warehouseコマンドを手動で実行することはサポートされていません。
-
-
スケジュールされたスケーリングのための弾力性リソースは従量課金リソースであり、その可用性は保証されません。「スケジュールされたスケーリングの監視とアラート」で説明されているように、スケーリング失敗イベントに対して Cloud Monitor アラートを設定することを推奨します。
操作手順
仮想ウェアハウスのリソース管理
-
計算グループ管理 ページに移動します。
-
Hologres コンソール にログインし、上部メニューでリージョンを選択します。
-
左側メニューで インスタンス一覧 をクリックし、対象の インスタンス ID をクリックします。
-
インスタンス詳細ページの左側メニューで、計算グループ管理 をクリックします。
-
-
仮想ウェアハウスインスタンスのリソース使用状況を表示します。
仮想ウェアハウスリソース管理 タブでは、インスタンスの予約済みリソース (割り当て済みおよび未割り当て) やインスタンスの弾力性リソースなど、仮想ウェアハウスインスタンスのリソース使用状況を表示できます。
-
仮想ウェアハウスのリソースを管理します。
-
仮想ウェアハウスの新規追加 をクリックします。仮想ウェアハウスの新規追加 ダイアログボックスで、計算グループ名 を入力し、計算グループリソース を指定して新しい仮想ウェアハウスを作成します。
-
状態 が 現在実行中 の仮想ウェアハウスに対して、設定の調整、再起動、停止、および Rebalance 操作を実行できます。リバランスの詳細については、「シャードリバランス (リバランス)」をご参照ください。
説明インスタンスのデフォルトの
init_warehouse仮想ウェアハウスを 停止 することはできません。
-
弾力性プラン
タイムライン
-
計算グループ管理 ページに移動し、仮想ウェアハウスエラスティックプラン タブをクリックします。
-
インスタンス / 仮想ウェアハウスの選択 ドロップダウンリストから、インスタンスまたは特定の仮想ウェアハウスを選択して、その弾力性プランのタイムラインを表示します。 タイムラインには、将来のスケジュールされたスケーリング操作が表示され、過去のリソースメトリクスは表示されません。
設定
-
仮想ウェアハウスエラスティックプラン タブで、対象の仮想ウェアハウスの左側にある
アイコンをクリックし、[+ Add Time Period] をクリックします。日次アクティブ期間の開始時刻と終了時刻を設定し、弾力性コンピューティングリソースの量を設定し、[Actions] 列の 保存 をクリックして変更を適用します。 -
既存の弾力性プランを 編集 または 削除 できます。
-
弾力性コンピューティングリソースの量は、予約済みコンピューティングリソースの量を超えることはできません。
-
各仮想ウェアハウスは、最大 5 つの弾力性期間をサポートします。
-
弾力性プランを削除すると、リソース数が変更されない場合でも、仮想ウェアハウスのステータスは一時的に「処理中」に変わります。 この間、読み取りおよび書き込み操作は影響を受けません。
弾力性プランを保存すると、その変更が現在の弾力性リソース量に影響する場合、Hologres は直ちに対応するスケーリング操作を実行します。 以下の例をご参照ください。
-
例 1
現在の時刻が 16:00 であると仮定します。64 個の予約済み CU を持つ仮想ウェアハウス A に、新しい弾力性プランを追加します。
アクティブ期間が 15:00~18:00 で 32 個の弾力性 CU が設定されている場合、保存すると仮想ウェアハウス A の合計コンピューティングリソースは直ちに 96 CU にスケールアウトします。
-
例 2
現在の時刻が 16:00 であると仮定します。64 個の予約済み CU を持つ仮想ウェアハウス A の既存の弾力性プランを変更します。
-
変更前:アクティブ期間は 15:00~18:00 で 32 個の弾力性 CU。
-
変更後:アクティブ期間は 17:00~18:00 で 32 個の弾力性 CU。
保存すると、仮想ウェアハウス A の合計コンピューティングリソースは直ちに 96 CU から 64 CU にスケールインします。
-
スケジュールされたスケーリングの監視とアラート
以下の方法で弾力性プランの実行を監視できます。
弾力性プランの実行ログ
-
計算グループ管理 ページに移動し、エラスティックイベント実行ログ タブをクリックします。
-
時間範囲を選択して、過去の弾力性プランの実行履歴を表示します。このタブには、[Scheduled Scaling] と [Auto Scaling] のサブタブがあります。日付範囲でフィルタリングでき、テーブルには [Execution Time]、[Virtual Warehouse]、[Execution Status]、[Event Type]、[Reserved Compute Resources]、および [Target Elastic Compute Resources] などの情報が表示されます。
監視メトリクス
Hologres コンソールの監視メトリックセクションでは、スケジュールされたスケーリングによってプロビジョニングされたコア数を表す Warehouse_timed_elastic_cores(Count) メトリックを表示できます。必要に応じて、このメトリックのアラートルールを設定できます。詳細については、「監視メトリック」をご参照ください。
Cloud Monitor イベント
Hologres の弾力性プランによって実行されるすべてのスケーリング操作は、Cloud Monitor にイベントとして記録されます。
-
Cloud Monitor のイベントセンター に移動します。[System Event] タブで、[Event Monitoring] セクションから Hologres を選択して、スケジュールされたスケーリングイベントを監視します。イベント名は次のとおりです。
-
Instance:Warehouse:TimedElastic:Start: 仮想ウェアハウスのスケジュールされたスケーリング操作が開始されました。 -
Instance:Warehouse:TimedElastic:Finish: 仮想ウェアハウスのスケジュールされたスケーリング操作が完了しました。 -
Instance:Warehouse:TimedElastic:Failed: 仮想ウェアハウスのスケジュールされたスケーリング操作が失敗しました。
-
-
これらの Cloud Monitor イベントに基づいて、通知とアラートを設定できます。 詳細については、「システムイベントを使用したアラート」をご参照ください。
以下は、スケーリング失敗イベントの例です。
{ "Status": "Failed", "InstanceName": "<instance_id>", "ResourceId": "<instance_resource_id>", "Content": { "ScaleType": "ScaleDown", "ScheduleId": "xxxxxx", "TimedElasticCPU": 0, "WarehouseId": "2", "WarehouseName": "<warehouse_name>" }, "Product": "hologres", "Time": 1722852008000, "Level": "WARN", "RegionId": "<region>", "Id": "<event_id>", "GroupId": "0", "Name": "Instance:Warehouse:TimedElastic:Failed" }
ActionTrail
Hologres コンソールでの操作 (弾力性プランの編集など) と、それに伴うスケーリング操作は ActionTrail に記録されます。詳細については、「監査イベントログ」をご参照ください。