

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

# Deadline Cloud のデベロッパーファームにサービスマネージドフリートを追加する
<a name="service-managed-fleet"></a>

AWS CloudShell は、大規模なワークロードをテストするのに十分なコンピューティング容量を提供しません。また、複数のワーカーホストにタスクを分散するジョブで動作するように設定されていません。

CloudShell を使用する代わりに、Auto Scaling サービスマネージドフリート (SMF) をデベロッパーファームに追加できます。SMF は、大規模なワークロードに十分なコンピューティング容量を提供し、複数のワーカーホストにジョブタスクを分散する必要があるジョブを処理できます。

SMF を追加する前に、Deadline Cloud ファーム、キュー、フリートを設定する必要があります。「[Deadline Cloud ファームを作成する](create-a-farm.md)」を参照してください。

**デベロッパーファームにサービスマネージドフリートを追加するには**

1. 最初の AWS CloudShell タブを選択し、サービスマネージドフリートを作成し、そのフリート ID を に追加します`.bashrc`。このアクションにより、他のターミナルセッションで使用できます。

   ```
   FLEET_ROLE_ARN="arn:aws:iam::$(aws sts get-caller-identity \
            --query "Account" --output text):role/${DEV_FARM_NAME}FleetRole"
    aws deadline create-fleet \
        --farm-id $DEV_FARM_ID \
        --display-name "$DEV_FARM_NAME SMF" \
        --role-arn $FLEET_ROLE_ARN \
        --max-worker-count 5 \
        --configuration \
            '{
                "serviceManagedEc2": {
                    "instanceCapabilities": {
                        "vCpuCount": {
                            "min": 2,
                            "max": 4
                        },
                        "memoryMiB": {
                            "min": 512
                        },
                        "osFamily": "linux",
                        "cpuArchitectureType": "x86_64"
                    },
                    "instanceMarketOptions": {
                        "type": "spot"
                    }
                }
            }'
   
    echo "DEV_SMF_ID=$(aws deadline list-fleets \
            --farm-id $DEV_FARM_ID \
            --query "fleets[?displayName=='$DEV_FARM_NAME SMF'].fleetId \
            | [0]" --output text)" >> ~/.bashrc
    source ~/.bashrc
   ```

1. SMF をキューに関連付けます。

   ```
   aws deadline create-queue-fleet-association \
        --farm-id $DEV_FARM_ID \
        --queue-id $DEV_QUEUE_ID \
        --fleet-id $DEV_SMF_ID
   ```

1. キューsimple\$1file\$1jobに送信します。アップロードを確認するプロンプトが表示されたら、 と入力します**y**。

   ```
   deadline bundle submit simple_file_job \
       -p InFile=simple_job/template.yaml \
       -p OutFile=hash-jobattachments.txt
   ```

1. SMF が正しく動作していることを確認します。

   ```
   deadline fleet get
   ```
   + ワーカーの起動には数分かかる場合があります。フリートが実行されていることがわかるまで、 `deadline fleet get` コマンドを繰り返します。
   + サービスマネージドフリート`queueFleetAssociationsStatus`の は になります`ACTIVE`。
   + SMF `autoScalingStatus`は から `GROWING`に変更されます`STEADY`。

   ステータスは次のようになります。

   ```
   fleetId: fleet-2cc78e0dd3f04d1db427e7dc1d51ea44
   farmId: farm-63ee8d77cdab4a578b685be8c5561c4a
   displayName: DeveloperFarm SMF
   description: ''
   status: ACTIVE
   autoScalingStatus: STEADY
   targetWorkerCount: 0
   workerCount: 0
   minWorkerCount: 0
   maxWorkerCount: 5
   ```

1. 送信したジョブのログを表示します。このログは、CloudShell ファイルシステムではなく、Amazon CloudWatch Logs のログに保存されます。

   ```
    JOB_ID=$(deadline config get defaults.job_id)
    SESSION_ID=$(aws deadline list-sessions \
            --farm-id $DEV_FARM_ID \
            --queue-id $DEV_QUEUE_ID \
            --job-id $JOB_ID \
            --query "sessions[0].sessionId" \
            --output text)
    aws logs tail /aws/deadline/$DEV_FARM_ID/$DEV_QUEUE_ID \
        --log-stream-names $SESSION_ID
   ```

## 次の手順
<a name="service-managed-fleet-next"></a>

サービスマネージドフリートを作成してテストしたら、不要な料金が発生しないように、作成したリソースを削除する必要があります。
+ [Deadline Cloud でファームリソースをクリーンアップする](cleaning-up.md) このチュートリアルで使用したリソースをシャットダウンするには、 を使用します。