Automation でエージェントベースの Linux Hybrid Runbook Worker をデプロイする

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

重要

Azure Automation エージェント ベースのユーザー Hybrid Runbook Worker (Windows と Linux) は 2024 年 8 月 31 日に廃止され、その日以降はサポートされません。 2024 年 8 月 31 日より前に、既存のエージェント ベースのユーザー Hybrid Runbook Worker の、拡張機能ベースの Worker への移行を、完了する必要があります。 さらに、2023 年 11 月 1 日からは、新しいエージェント ベースのハイブリッド worker を作成できなくなります。 詳細情報 を参照してください。

Azure Automation のユーザー Hybrid Runbook Worker 機能を使用すると、Azure または Azure 以外のマシン (Azure Arc 対応サーバーに登録されているサーバーを含む) 上で Runbook を直接実行することができます。 ロールをホストしているマシンまたはサーバーからは、環境内のリソースに対して Runbook を直接実行して、それらのローカル リソースを管理することができます。

Linux Hybrid Runbook Worker は、昇格が必要なコマンドを実行するために昇格させることができる特殊なユーザーとして Runbook を実行します。 Azure Automation によって Runbook が格納および管理された後、1 つ以上の選択されたマシンに配信されます。 この記事では、Linux マシンに Hybrid Runbook Worker をインストールする方法、worker を削除する方法、および Hybrid Runbook Worker グループを削除する方法について説明します。 ユーザー Hybrid Runbook Worker については、「Automation で拡張機能ベースの Windows または Linux ユーザー Hybrid Runbook Worker をデプロイする」も参照してください

Runbook Worker が正常にデプロイされたら、「Hybrid Runbook Worker での Runbook の実行」を参照して、オンプレミスのデータセンターや他のクラウド環境のプロセスを自動化するように Runbook を構成する方法を確認します。

Note

ハイブリッド Worker は、エージェント ベース (V1)拡張機能ベース (V2) の両方のプラットフォームと共存できます。 エージェント ベース (V1) を既に実行しているハイブリッド Worker に拡張機能ベース (V2) をインストールすると、グループ内に Hybrid Runbook Worker の 2 つのエントリが表示されます。 1 つはプラットフォーム拡張機能ベース (V2) で、もう 1 つはエージェント ベース (V1) です。 詳細情報 を参照してください。

前提条件

始める前に、以下のものを用意してください。

Log Analytics ワークスペース

Hybrid Runbook Worker ロールでは、Azure Monitor Log Analytics ワークスペースに依存してロールがインストールおよび構成されます。 Azure Resource ManagerPowerShellAzure portal のいずれかを使用して作成できます。

Azure Monitor Log Analytics ワークスペースがない場合は、ワークスペースを作成する前に、Azure Monitor ログの設計ガイダンスを確認してください。

Log Analytics エージェント

Hybrid Runbook Worker ロールには、サポートされている Linux オペレーティング システム用の Log Analytics エージェントが必要です。 Azure の外部でホストされているサーバーまたはマシンの場合、Azure Arc 対応サーバーを使用すれば Log Analytics エージェントをインストールできます。 このエージェントは、ルート アクセス許可が必要なコマンドを実行する特定のサービス アカウントを使用してインストールされます。 詳細については、「サービス アカウント」を参照してください。

サポートされている Linux オペレーティング システム

Hybrid Runbook Worker 機能では、次のディストリビューションがサポートされています。 オペレーティング システムはすべて x64 と見なされます。 x86 はどのオペレーティング システムでもサポートされていません。

  • Amazon Linux 2012.09 から 2015.09

  • CentOS Linux 5、6、7、8

  • Oracle Linux 6、7、8

  • Red Hat Enterprise Linux Server 5、6、7、8

  • Debian GNU/Linux 6、7、8

  • SUSE Linux Enterprise Server 12、15、および 15.1 (SUSE のバージョン 13 と 14 はリリースされませんでした)

  • Ubuntu

    Linux OS 名前
    20.04 LTS Focal Fossa
    18.04 LTS Bionic Beaver
    16.04 LTS Xenial Xerus
    14.04 LTS Trusty Tahr

重要

システムの Hybrid Runbook Worker ロールに依存する Update Management 機能を有効にする前に、ここでサポート対象の配布を確認してください。

Note

ハイブリッド worker 拡張機能は、OS ベンダーのサポート タイムラインに従います。

最小要件

Linux システムおよびユーザー Hybrid Runbook Worker の最小要件は次のようになります。

  • 2 コア
  • 4 GB の RAM
  • ポート 443 (送信)
必須パッケージ 説明 最小バージョン
Glibc GNU C ライブラリ 2.5-12
Openssl OpenSSL ライブラリ 1.0 (TLS 1.1 と TLS 1.2 がサポートされます)
Curl cURL Web クライアント 7.15.5
Python-ctypes Python 用の外部関数ライブラリ Python 2.x または Python 3.x が必要
PAM Pluggable Authentication Module (プラグ可能な認証モジュール)
オプション パッケージ 説明 最小バージョン
PowerShell Core PowerShell Runbook を実行するには、PowerShell Core をインストールする必要があります。 インストール方法については、「Linux への PowerShell Core のインストール」をご覧ください。 6.0.0

Hybrid Runbook Worker グループへのマシンの追加

ご利用の Automation アカウントのいずれか 1 つの Hybrid Runbook Worker グループに worker マシンを追加できます。 Update Management によって管理されているシステム Hybrid Runbook Worker をホストしているマシンの場合は、Hybrid Runbook Worker グループに追加できます。 しかし、Update Management と Hybrid Runbook Worker グループ メンバーシップの両方に同じ Automation アカウントを使用する必要があります。

Note

Azure Automation Update Management を使用すると、Update Management に対して有効になっている Azure または Azure 以外のマシンに、システム Hybrid Runbook Worker が自動的にインストールされます。 ただし、"この worker は、Automation アカウント内の Hybrid Runbook Worker グループには登録されません"。 これらのマシン上で Runbook を実行するには、それを Hybrid Runbook Worker グループに追加する必要があります。 それをグループに追加するには、「Linux Hybrid Runbook Worker をインストールする」セクションの手順 4 に従ってください。

Linux のセキュリティ強化のサポート

次の要素はまだサポートされていません。

  • CIS

サポートされている Runbook の種類

Linux Hybrid Runbook Worker でサポートされている Azure Automation の Runbook の種類は制限されており、次の表ではそれについて説明します。

Runbook の種類 サポートされています
Python 3 (プレビュー) はい (SUSE LES 15、RHEL 8、CentOS 8 のディストリビューションでのみ必要)
Python 2 はい (Python 31 を必要としない配布用)
PowerShell はい2
PowerShell ワークフロー いいえ
グラフィカル いいえ
グラフィカル PowerShell ワークフロー いいえ

1サポートされている Linux オペレーティング システムを参照してください。

2 PowerShell Runbook を使うには、Linux マシンに PowerShell Core がインストールされている必要があります。 インストール方法については、「Linux への PowerShell Core のインストール」をご覧ください。

ネットワーク構成

Hybrid Runbook Worker のネットワーク要件については、ネットワークの構成に関するページを参照してください。

Linux Hybrid Runbook Worker をインストールする

Hybrid Runbook Worker をデプロイするには、2 つの方法があります。 Azure portal の Runbook ギャラリーから Runbook をインポートして実行するか、一連の PowerShell コマンドを手動で実行することができます。

インポートの手順の詳細については、「Azure portal を使用して GitHub から Runbook をインポートする」をご覧ください。 インポートする Runbook の名前は、Create Automation Linux HybridWorker です。

Runbook では、次のパラメーターが使用されます。

パラメーター Status 説明
Location Mandatory Log Analytics ワークスペースの場所。
ResourceGroupName Mandatory Automation アカウントのリソース グループ。
AccountName Mandatory Hybrid Run Worker が登録される Automation アカウントの名前。
CreateLA Mandatory true の場合、WorkspaceName の値を使用して Log Analytics ワークスペースを作成します。 false の場合、WorkspaceName の値は既存のワークスペースを参照する必要があります。
LAlocation オプション Log Analytics ワークスペースが作成される場所、または既に存在する場所。
WorkspaceName オプション 作成または使用する Log Analytics ワークスペースの名前。
CreateVM Mandatory true の場合、新しい VM の名前として VMName の値を使用します。 false の場合、VMName を使用して既存の VM を検索し、登録します。
VMName オプション CreateVM の値に応じて作成または登録される仮想マシンの名前。
VMImage オプション 作成される VM イメージの名前。
VMlocation オプション 作成または登録される VM の場所。 この場所が指定されていない場合、LAlocation の値が使用されます。
RegisterHW Mandatory true の場合、ハイブリッド worker として VM を登録します。
WorkerGroupName Mandatory ハイブリッド worker グループの名前。

PowerShell コマンドを手動で実行する

Linux Hybrid Runbook Worker をインストールして構成するには、次の手順のようにします。

  1. 管理者特権での PowerShell コマンドプロンプトで、または Azure portal の Cloud Shell で次のコマンドを実行することにより、Log Analytics ワークスペース内で Azure Automation ソリューションを有効にします。

    Set-AzOperationalInsightsIntelligencePack -ResourceGroupName <resourceGroupName> -WorkspaceName <workspaceName> -IntelligencePackName "AzureAutomation" -Enabled $true
    
  2. ターゲット マシンに Log Analytics エージェントをデプロイします。

    • Azure VM の場合、Linux 用仮想マシン拡張機能を使用して、Linux 用 Log Analytics エージェントをインストールします。 この拡張機能では、Azure 仮想マシンに Log Analytics エージェントがインストールされ、仮想マシンが既存の Log Analytics ワークスペースに登録されます。 Azure Resource Manager テンプレート、Azure CLI、または Azure Policy を使用すれば、"Linux または Windows VM 用の Log Analytics エージェントのデプロイ" という組み込みポリシー定義を割り当てることができます。 エージェントがインストールされたら、Automation アカウントの Hybrid Runbook Worker グループにマシンを追加できます。

    • Azure 以外のマシンの場合は、Azure Arc 対応サーバーを使用して Log Analytics エージェントをインストールできます。 Azure Arc 対応サーバーは、以下の方法を使用した Log Analytics エージェントのデプロイをサポートしています。

      • VM 拡張機能フレームワークの使用。

        Azure Arc 対応サーバーのこの機能を使用すると、Azure 以外の Windows や Linux のサーバーに、Log Analytics エージェントの VM 拡張機能をデプロイできます。 VM 拡張機能は、ハイブリッド コンピューターまたは Azure Arc 対応サーバーで管理されているサーバーで、次の方法を使用して管理できます。

      • Azure Policy の使用。

        この方法を利用し、Azure Policy の "Log Analytics エージェントを Linux または Microsoft Azure Arc マシンにデプロイする" という組み込みポリシー定義を使用して、Arc 対応サーバーに Log Analytics エージェントがインストールされているかどうかを監査します。 エージェントがインストールされていない場合は、修復タスクを使用して自動的にそれがデプロイされます。 Azure Monitor for VMs を使用してマシンを監視する予定の場合は、代わりに Azure Monitor for VMs を有効にするというイニシアティブを使用して Log Analytics エージェントのインストールと構成を行います。

      Azure Policy を使用して、Windows または Linux 用の Log Analytics エージェントをインストールすることをお勧めします。

    Note

    Hybrid Runbook Worker ロールをサポートするマシンの構成を Desired State Configuration (DSC) を使用して管理するには、マシンを DSC ノードとして追加する必要があります。

    Note

    Linux Hybrid Worker のインストール中は、対応する sudo アクセス許可を持った nxautomation アカウントが存在していなければなりません。 そのアカウントが存在しない、または適切なアクセス許可がアカウントにない状態でワーカーをインストールしようとすると、インストールは失敗します。

  3. エージェントがワークスペースに報告していることを確認します。

    Linux 用 Log Analytics エージェントにより、マシンが Azure Monitor Log Analytics ワークスペースに接続されます。 マシンにエージェントをインストールし、ワークスペースに接続すると、Hybrid Runbook Worker に必要なコンポーネントが自動的にダウンロードされます。

    エージェントがお使いの Log Analytics ワークスペースに正常に接続されたら、数分後に次のクエリを実行して、ワークスペースにハートビート データが送信されていることを確認できます。

    Heartbeat
    | where Category == "Direct Agent"
    | where TimeGenerated > ago(30m)
    

    検索結果には、マシンのハートビート レコードが表示されます。これにより、エージェントがサービスに接続され、レポートが送信されていることが示されます。 既定では、各エージェントからその割り当て済みのワークスペースにハートビート レコードが転送されます。

  4. 次のコマンドを実行して、マシンを Hybrid Runbook Worker グループに追加します。このとき、-w-k-g-e のパラメーターに値を指定します。

    パラメーター -k-e に必要な情報は、Automation アカウントの [キー] ページから取得できます。 ページの左側にある [アカウントの設定] セクションで [キー] を選択します。

    キーの管理ページ

    • -e パラメーターには、[URL] の値をコピーします。

    • -k パラメーターには、[プライマリ アクセス キー] の値をコピーします。

    • -g パラメーターでは、新しい Linux Hybrid Runbook Worker を参加させる Hybrid Runbook Worker グループの名前を指定します。 Automation アカウントにこのグループが既に存在する場合は、現在のマシンがそれに追加されます。 このグループが存在しない場合は、その名前で作成されます。

    • -w パラメーターでは、Log Analytics ワークスペースの ID を指定します。

    sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/onboarding.py --register -w <logAnalyticsworkspaceId> -k <automationSharedKey> -g <hybridGroupName> -e <automationEndpoint>
    
  5. スクリプトが完了したら、デプロイを確認します。 Automation アカウントの [Hybrid Runbook Worker のグループ] ページの [User hybrid runbook workers group]\(ユーザー Hybrid Runbook Worker グループ\) タブの下に、新しいまたは既存のグループとメンバーの人数が表示されます。 既存のグループの場合は、メンバーの数が増分されます。 そのページの一覧からグループを選択できます。左側のメニューで [ハイブリッド worker] を選択します。 [ハイブリッド worker] ページでは、グループの各メンバーの一覧を確認することができます。

    Note

    Azure VM 用の Linux で Log Analytics 仮想マシン拡張機能を使用している場合は、autoUpgradeMinorVersionfalse に設定することをお勧めします。これは、バージョンを自動的にアップグレードすると、Hybrid Runbook Worker で問題が発生する場合があるからです。 拡張機能を手動でアップグレードする方法については、「Azure CLI でのデプロイ」を参照してください。

署名の検証をオフにする

既定では、Linux Hybrid Runbook Worker は、署名の検証を必要とします。 worker に対して署名されていない Runbook を実行すると、Signature validation failed エラーが表示されます。 署名の検証をオフにするには、次のコマンドを root として実行します。 2 番目のパラメーターは Log Analytics のワークスペース ID に置き換えます。

sudo python /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/DSCResources/MSFT_nxOMSAutomationWorkerResource/automationworker/scripts/require_runbook_signature.py --false <logAnalyticsworkspaceId>

Hybrid Runbook Worker を削除する

エージェント ベースの Linux ハイブリッド worker で、次のコマンドを root として実行します。

  1.    sudo bash
    
  2.    rm -r /home/nxautomation
    
  3. [プロセス オートメーション] で、 [ハイブリッド Worker グループ] を選択し、次に、ハイブリッド Worker グループを選択して、 [ハイブリッド Worker グループ] ページに移動します。

  4. [ハイブリッド Worker グループ] で、 [ハイブリッド Worker] を選択します。

  5. ハイブリッド Worker グループから削除するマシンの横にあるチェックボックスをオンにします。

  6. [削除] を選択して、エージェント ベースの Linux ハイブリッド worker を削除します。

    Note

    • このスクリプトでは、マシンから Linux 用 Log Analytics エージェントは削除されません。 Hybrid Runbook Worker ロールの機能と構成のみが削除されます。
    • Automation アカウントで Private Link を無効にした後、Hybrid Runbook worker が削除されるまでに最大 60 分かかることがあります。
    • ハイブリッド worker を削除した後、コンピューター上のハイブリッド worker 認証証明書は 45 分間有効です。

ハイブリッド worker グループを削除する

Linux マシンの Hybrid Runbook Worker グループを削除するには、Windows ハイブリッド Worker グループの場合と同じ手順を使用します。 詳細については、「ハイブリッド worker グループを削除する」を参照してください。

ハイブリッド worker グループとハイブリッド worker のロールのアクセス許可を管理する

カスタムの Azure Automation ロールを作成すると、ハイブリッド worker グループとハイブリッド worker に次のアクセス許可を付与できます。 Azure Automation カスタム役割を作成する方法の詳細については、「Azure カスタム役割」を参照してください

アクション 説明
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/read Hybrid Runbook Worker グループを読み取ります。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/write Hybrid Runbook Worker グループを作成します。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/delete Hybrid Runbook Worker グループを削除します。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/read Hybrid Runbook Worker を読み取ります。
Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers/delete Hybrid Runbook Worker を削除します。

ハイブリッド worker のバージョンを検査する

エージェント ベースの Linux Hybrid Runbook Worker のバージョンを検査するには、次のパスに移動します:

   sudo cat /opt/microsoft/omsconfig/modules/nxOMSAutomationWorker/VERSION

ファイル VERSION には、Hybrid Runbook Worker のバージョン番号があります。

次のステップ