

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ワーカーホストのセットアップと設定
<a name="worker-host"></a>

ワーカーホストとは、Deadline Cloud ワーカーを実行するホストマシンを指します。このセクションでは、ワーカーホストをセットアップし、特定のニーズに合わせて設定する方法について説明します。各ワーカーホストは、*ワーカーエージェント*と呼ばれるプログラムを実行します。ワーカーエージェントは以下を担当します。
+ ワーカーのライフサイクルの管理。
+ 割り当てられた作業、その進行状況、結果を同期します。
+ 実行中の作業のモニタリング。
+ 設定された送信先にログを転送する。

提供された Deadline Cloud ワーカーエージェントを使用することをお勧めします。ワーカーエージェントはオープンソースであり、機能リクエストをお勧めしますが、ニーズに合わせて開発およびカスタマイズすることもできます。

以下のセクションのタスクを完了するには、以下が必要です。

------
#### [ Linux ]
+ Linuxベースの Amazon Elastic Compute Cloud (Amazon EC2) インスタンス。Amazon Linux 2023 をお勧めします。
+ `sudo` 権限
+ Python 3.9 以降

------
#### [ Server  ]
+ Windowsベースの Amazon Elastic Compute Cloud (Amazon EC2) インスタンス。Windows Server 2022をお勧めします。
+ ワーカーホストへの管理者アクセス
+ すべてのユーザーにインストールされた Python 3.9 以降

------

## Python 仮想環境を作成して設定する
<a name="python-virtual-env"></a>

Python 3.9 以降をインストールして に配置しLinuxている場合は、 で Python 仮想環境を作成できます`PATH`。

**注記**  
ではWindows、エージェントファイルを Python のグローバル site-packages ディレクトリにインストールする必要があります。Python 仮想環境は現在サポートされていません。

**Python 仮想環境を作成してアクティブ化するには**

1. `root` ユーザーとしてターミナルを開きます (または `sudo` / を使用します`su`)。

1. Python 仮想環境を作成してアクティブ化します。

   ```
   python3 -m venv /opt/deadline/worker
   source /opt/deadline/worker/bin/activate
   pip install --upgrade pip
   ```

## Deadline Cloud ワーカーエージェントをインストールする
<a name="install-worker-agent"></a>

Python をセットアップし、 に仮想環境を作成したらLinux、Deadline Cloud ワーカーエージェントの Python パッケージをインストールします。

### ワーカーエージェントの Python パッケージをインストールするには
<a name="w2aac23c17c19b5"></a>

------
#### [ Linux ]

1. `root` ユーザーとしてターミナルを開きます (または `sudo` / を使用します`su`)。

1. PyPI から Deadline Cloud ワーカーエージェントパッケージをダウンロードしてインストールします。

   ```
   /opt/deadline/worker/bin/python -m pip install deadline-cloud-worker-agent
   ```

------
#### [ Server  ]

1. 管理者コマンドプロンプトまたは PowerShell ターミナルを開きます。

1. PyPI から Deadline Cloud ワーカーエージェントパッケージをダウンロードしてインストールします。

   ```
   python -m pip install deadline-cloud-worker-agent
   ```

------

Windows ワーカーホストに長いパス名 (250 文字以上) が必要な場合は、次のように長いパス名を有効にする必要があります。

#### Windows ワーカーホストの長いパスを有効にするには
<a name="long-path"></a>

1. ロングパスレジストリキーが有効になっていることを確認します。詳細については、Microsoft ウェブサイトの[「ログパスを有効にするレジストリ設定](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#registry-setting-to-enable-long-paths)」を参照してください。

1. Windows SDK for Desktop C\$1\$1 x86 アプリケーションをインストールします。詳細については、Windows開発センターの [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) を参照してください。

1. ワーカーエージェントがインストールされている環境で Python のインストール場所を開きます。デフォルトは `C:\Program Files\Python311` です。という名前の実行可能ファイルがあります`pythonservice.exe`。

1. `pythonservice.exe.manifest` 同じ場所に という名前の新しいファイルを作成します。以下を追加します。

   ```
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <assemblyIdentity type="win32" name="pythonservice" processorArchitecture="x86" version="1.0.0.0"/>
     <application xmlns="urn:schemas-microsoft-com:asm.v3">
       <windowsSettings>
         <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
       </windowsSettings>
     </application>
   </assembly>
   ```

1. コマンドプロンプトを開き、作成したマニフェストファイルの場所で次のコマンドを実行します。

   ```
   "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\mt.exe" -manifest pythonservice.exe.manifest -outputresource:pythonservice.exe;#1
   ```

   次のような出力が表示されます:

   ```
   Microsoft (R) Manifest Tool
   Copyright (c) Microsoft Corporation.
   All rights reserved.
   ```

ワーカーは長いパスにアクセスできるようになりました。クリーンアップするには、 `pythonservice.exe.manifest` ファイルを削除して SDK をアンインストールします。

## Deadline Cloud ワーカーエージェントを設定する
<a name="worker-agent-config"></a>

Deadline Cloud ワーカーエージェントの設定は、3 つの方法で設定できます。`install-deadline-worker` ツールを実行して、オペレーティングシステムのセットアップを使用することをお勧めします。

ワーカーエージェントは、Windows でのドメインユーザーとしての実行をサポートしていません。ドメインユーザーとしてジョブを実行するには、ジョブを実行するキューユーザーを設定するときにドメインユーザーアカウントを指定できます。詳細については、[「Deadline Cloud ユーザーガイド」の「Deadline Cloud キュー](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html)」のステップ 7 を参照してください。 *AWS *

**コマンドライン引**数 — コマンドラインから Deadline Cloud ワーカーエージェントを実行するときに引数を指定できます。一部の設定は、コマンドライン引数では利用できません。使用可能なすべてのコマンドライン引数を表示するには、「」と入力します`deadline-worker-agent --help`。

**環境変数** — で始まる環境変数を設定することで、Deadline Cloud ワーカーエージェントを設定できます`DEADLINE_WORKER_`。たとえば、使用可能なすべてのコマンドライン引数を表示するには、ワーカーエージェントの出力を詳細に設定`export DEADLINE_WORKER_VERBOSE=true`するために使用できます。その他の例と情報については、`/etc/amazon/deadline/worker.toml.example`Linux「」または`C:\ProgramData\Amazon\Deadline\Config\worker.toml.example`「」を参照してくださいWindows。

**設定ファイル** — ワーカーエージェントをインストールすると、 `/etc/amazon/deadline/worker.toml` Linuxまたは `C:\ProgramData\Amazon\Deadline\Config\worker.toml`の にある設定ファイルが作成されますWindows。ワーカーエージェントは、起動時にこの設定ファイルをロードします。サンプル設定ファイル (`/etc/amazon/deadline/worker.toml.example` Linuxまたは `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` Windows) を使用して、特定のニーズに合わせてデフォルトのワーカーエージェント設定ファイルをカスタマイズできます。

最後に、ソフトウェアがデプロイされ、期待どおりに動作*したら*、ワーカーエージェントの自動シャットダウンを有効にすることをお勧めします。これにより、ワーカーフリートは必要に応じてスケールアップし、ジョブが終了したらシャットダウンできます。自動スケーリングは、必要なリソースのみを使用するのに役立ちます。自動スケーリンググループによって開始されたインスタンスをシャットダウンできるようにするには、 `worker.toml` を設定ファイル`shutdown_on_stop=true`に追加する必要があります。

**自動シャットダウンを有効にするには**

**root** ユーザーとして:
+ パラメータ を使用してワーカーエージェントをインストールします**--allow-shutdown**。

------
#### [ Linux ]

  次のとおりに入力します。

  ```
  /opt/deadline/worker/bin/install-deadline-worker \
    --farm-id FARM_ID \
    --fleet-id FLEET_ID \
    --region REGION \
    --allow-shutdown
  ```

------
#### [ Server  ]

  次のとおりに入力します。

  ```
  install-deadline-worker ^
    --farm-id FARM_ID ^
    --fleet-id FLEET_ID ^
    --region REGION ^
    --allow-shutdown
  ```

------

## ジョブのユーザーとグループを作成する
<a name="create-job-user-and-group"></a>

このセクションでは、エージェントユーザーとキューで`jobRunAsUser`定義されている との間の必要なユーザーとグループの関係について説明します。

Deadline Cloud ワーカーエージェントは、ホスト上のエージェント固有の専用ユーザーとして実行する必要があります。Deadline Cloud キューの `jobRunAsUser`プロパティを設定して、ワーカーがキュージョブを特定のオペレーティングシステムのユーザーおよびグループとして実行できるようにする必要があります。この設定は、ジョブが持つ共有ファイルシステムのアクセス許可を制御できることを意味します。また、ジョブとワーカーエージェントユーザーとの間の重要なセキュリティ境界として も提供します。

**Linux ジョブのユーザーとグループ**

ローカルワーカーエージェントユーザー と を設定するには`jobRunAsUser`、次の要件を満たしていることを確認します。Active Directory や LDAP などの Linux Pluggable Authentication Module (PAM) を使用している場合、手順は異なる場合があります。

ワーカーエージェントをインストールすると、ワーカーエージェントユーザーと共有`jobRunAsUser`グループが設定されます。デフォルトは `deadline-worker-agent`と ですが`deadline-job-users`、ワーカーエージェントをインストールするときに変更できます。

```
install-deadline-worker \
    --user AGENT_USER_NAME \
    --group JOB_USERS_GROUP
```

コマンドはルートユーザーとして実行する必要があります。
+ 各 には一致するプライマリグループ`jobRunAsUser`が必要です。`adduser` コマンドを使用してユーザーを作成すると、通常、一致するプライマリグループが作成されます。

  ```
  adduser -r -m jobRunAsUser
  ```
+ のプライマリグループは、ワーカーエージェントユーザーのセカンダリグループ`jobRunAsUser`です。共有グループを使用すると、ワーカーエージェントは実行中にジョブでファイルを使用できるようになります。

  ```
  usermod -a -G jobRunAsUser deadline-worker-agent
  ```
+ は、共有ジョブグループのメンバー`jobRunAsUser`である必要があります。

  ```
  usermod -a -G deadline-job-users jobRunAsUser
  ```
+ `jobRunAsUser` は、ワーカーエージェントユーザーのプライマリグループに属してはいけません。ワーカーエージェントによって書き込まれた機密ファイルは、エージェントのプライマリグループによって所有されます。`jobRunAsUser` がこのグループの一部である場合、ワーカーエージェントファイルには、ワーカーで実行されているジョブがアクセスできる可能性があります。
+ デフォルトは、ワーカーが属するファームのリージョンと一致する AWS リージョン 必要があります。これは、ワーカーのすべての`jobRunAsUser`アカウントに適用する必要があります。

  ```
  sudo -u jobRunAsUser aws configure set default.region aws-region
  ```
+ ワーカーエージェントユーザーは、 として`sudo`コマンドを実行できる必要があります`jobRunAsUser`。次のコマンドを実行してエディタを開き、新しい sudoers ルールを作成します。

  ```
  visudo -f /etc/sudoers.d/deadline-worker-job-user
  ```

  ファイルに以下を追加します。

  ```
  # Allows the Deadline Cloud worker agent OS user to run commands
   # as the queue OS user without requiring a password.
  deadline-worker-agent ALL=(jobRunAsUser) NOPASSWD:ALL
  ```

次の図は、エージェントユーザーとフリートに関連付けられたキューの`jobRunAsUser`ユーザーとグループの関係を示しています。

![\[エージェントユーザーとキューjobRunAsUser上の の関係の図。\]](http://docs.aws.amazon.com/ja_jp/deadline-cloud/latest/developerguide/images/worker_users_and_groups.png)


**Windows ユーザー**

Windows ユーザーを として使用するには`jobRunAsUser`、次の要件を満たしている必要があります。
+ すべてのキュー`jobRunAsUser`ユーザーが存在している必要があります。
+ パスワードは、キューの `JobRunAsUser`フィールドで指定されたシークレットの値と一致する必要があります。手順については、[「Deadline Cloud ユーザーガイド」の「Deadline Cloud キュー](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html)」のステップ 7 を参照してください。 *AWS *
+  エージェントユーザーは、それらのユーザーとしてログオンできる必要があります。

## ワーカーホストの保護
<a name="securing-worker-host"></a>

ワーカーホストを設定するときは、セキュリティのベストプラクティスに従って機密情報を保護し、適切なアクセスコントロールを維持します。

### ログフォルダのアクセス許可の設定
<a name="configuring-log-folder-permissions"></a>

ワーカーエージェントは、ホスト設定スクリプトとジョブ実行の機密情報を含むログファイルを書き込みます。`install-deadline-worker` コマンドは、安全なアクセス許可を持つログディレクトリを作成します。インストール前にディレクトリを手動で作成する必要がある場合は、次の手順を使用して、サービスマネージドフリートで使用されるアクセス許可に一致します。

------
#### [ Linux ]

**でログディレクトリのアクセス許可を設定するには Linux**

1. ログディレクトリを作成します。

   ```
   sudo mkdir -p /var/log/amazon/deadline
   ```

1. 所有者とグループをワーカーエージェントユーザーに設定します。

   ```
   sudo chown -R deadline-worker:deadline-worker /var/log/amazon/deadline
   ```

1. アクセス許可を 750 に設定します。

   ```
   sudo chmod -R 750 /var/log/amazon/deadline
   ```

   これらのアクセス許可により、ワーカーエージェントのユーザーとグループのみがログファイルにアクセスできるようになり、ジョブユーザーやその他の権限のないユーザーが機密情報の可能性がある情報を読み取れなくなります。

------
#### [ Server  ]

**でログディレクトリのアクセス許可を設定するには Windows**

1. 管理者 PowerShell ターミナルを開きます。

1. ログディレクトリを作成します。

   ```
   New-Item -ItemType Directory -Force -Path "$env:PROGRAMDATA\Amazon\Deadline\Logs"
   ```

1. ワーカーエージェントのユーザーと管理者のみを許可するように制限された ACLs を設定します。

   ```
   $acl = Get-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs"
   $acl.SetAccessRuleProtection($true, $false)
   $acl.Access | ForEach-Object { $acl.RemoveAccessRule($_) }
   $agentRule = New-Object System.Security.AccessControl.FileSystemAccessRule("deadline-worker", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
   $adminRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
   $acl.AddAccessRule($agentRule)
   $acl.AddAccessRule($adminRule)
   Set-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs" $acl
   ```

   これらのコマンドは、ログディレクトリへのアクセスをワーカーエージェントユーザーと管理者グループのみに制限し、ジョブユーザーやその他の権限のないユーザーが機密情報を読み取るのを防ぎます。

------