ページの先頭行へ戻る
Systemwalker Operation Manager V17.0.1 導入ガイド

2.15.2 Microsoft Azureを利用する場合

Microsoft Azureと連携して、オートスケールを利用した分散実行を行う場合の構成を以下に示します。

定義手順

上記構成を構築するための手順を以下に示します。

なお、クラウドサービスの詳細については、Microsoft Azureが提供するドキュメントを参照してください。

  1. Virtual Machinesで、実行サーバ用にSystemwalker Operation Managerをインストールしたマシンに対し、以下を設定します。

    • 分散実行に必要な設定

      分散実行で使用する実行ユーザの登録と分散実行を利用する際に必要なジョブ実行制御の定義を行います。詳細については、“2.8 ジョブ実行制御の定義”を参照してください。

    • 複数サブシステム環境の作成(複数サブシステムを利用する場合のみ)

      複数サブシステムを利用する場合は、下記手順の前にサブシステム環境を作成してください。複数サブシステム運用の設定方法については、“2.5 複数サブシステム運用の定義”を参照してください。

  2. Virtual Machinesで、手順1.の設定をした実行サーバ用のマシンから、実行サーバ用のイメージを作成します。

  3. Virtual Machine Scale Setsを作成します。

    • イメージには、手順2.で作成したイメージを選択します。

    • スケジュールサーバと同一のプライベートネットワークに設定します。

    • スケジュールサーバと実行サーバ間でホスト名を使用したポート通信が行えるよう、ネットワークセキュリティグループを設定します。。スケジュールサーバと実行サーバの双方向通信で使用するポート番号については、“C.1 ポート番号一覧”を参照してください。

    • 初期インスタンス数には、1以上の値を設定します。

    • 自動スケールのルールを設定します。VMの最小値には、1以上の値を設定します。

    • [インスタンスの終了通知]で[終了の遅延(分)]を設定します。設定した時間内にSystemwalker Operation Managerで実行するジョブが終了しない場合は、ジョブは異常終了となります。

  4. スケジュールサーバで、分散実行を利用するためのキューを作成します。

    分散実行キューに割り当てるホストグループの構成ホストには、手順3.で起動済みとなったインスタンスを登録します。

    分散実行の設計例については、“Systemwalker Operation Manager 活用ガイド”の“ジョブを自動的に負荷の少ないサーバに分散して実行させたい”を参照してください。

  5. Functionsで、HTTPリクエストに基づいて実行される関数を作成します。関数はプライベートネットワークと同一のサブスクリプション、リージョンに作成してください。

    以下を実行できる関数を作成します。

    • Webhook通知のリクエストを解析し、通知が発生したタイミングがスケールインかスケールアウトかを判定

      • リクエストボディの“operation”の値から、スケールアクション種別を判定

        Scale Outの場合:スケールアウト

        Scale Inの場合:スケールイン

    • スケールアウト時に発生した通知の場合の処理

      1. スケジュールサーバに対して構成ホストの一覧取得要求を行い、応答情報から手順4.で設定したホストグループ配下の構成ホスト一覧を取得します。

        構成ホスト情報の一覧取得のリクエストには、Web APIを使用します。

      2. Virtual Machine Scale Sets内のインスタンスのプロビジョニングの状態を確認します。すべてのインスタンスのプロビジョニング状態が成功になるまで監視します。

      3. Virtual Machine Scale Sets内にある仮想マシンのホスト名一覧を取得します。

      4. 手順a.で取得した構成ホストのホスト名一覧と手順c.で取得したホスト名一覧を比較し、追加されたホスト名を特定します。

        追加されたホスト名を使用して、手順4.で登録したホストグループの構成ホストへの追加をスケジュールサーバに対してリクエストします。

        構成ホストの追加のリクエストには、Web APIを使用します。

        ポイント

        構成ホストの追加をリクエストする時に、多重度を指定できます。省略した場合は、多重度10が設定されます。必要に応じて多重度を設定してください。

    • スケールイン時に発生した通知の場合の処理

      1. スケジュールサーバに対して、構成ホストの一覧取得をWeb APIを要求します。

        構成ホスト情報の一覧取得のリクエストには、Web APIを使用します。

      2. Virtual Machines Scale Sets内のインスタンスのプロビジョニング状態を確認し、状態がDeleting(削除中)になっている仮想マシンのホスト名を取得します。

      3. 手順b.で取得したホスト名を使用して、手順4.で登録したホストグループの構成ホストの削除をスケジュールサーバに対してリクエストします。

        構成ホストの削除のリクエストには、Web APIを使用します。

    Web APIの使用方法については“Systemwalker Operation Manager リファレンス集”の“Web API【Windows版】【Linux版】”を参照してください。

  6. Virtual Machine Scale Setsで、自動スケールのWebhook通知設定を行います。

    通知先には、手順5.で作成した関数のURLを設定します。

参考

手順3.で設定した[インスタンスの終了通知]の[終了の遅延(分)]の時間内に実行中のジョブが終了せず異常終了となる場合は、インスタンスの終了通知の設定を見直し、再度ジョブを実行してください。