

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在截止日期雲端中將服務受管機群新增至您的開發人員陣列
<a name="service-managed-fleet"></a>

AWS CloudShell 無法提供足夠的運算容量來測試更大的工作負載。它也不會設定為使用在多個工作者主機上分配任務的任務。

您可以新增 Auto Scaling 服務受管機群 (SMF) 到您的開發人員陣列，而不是使用 CloudShell。SMF 可為較大的工作負載提供足夠的運算容量，並可處理需要將任務分配到多個工作者主機的任務。

在新增 SMF 之前，您必須設定截止日期雲端陣列、佇列和機群。請參閱 [建立截止日期雲端陣列](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. 檢視您提交之任務的日誌。此日誌存放在 Amazon CloudWatch Logs 的日誌中，而不是 CloudShell 檔案系統。

   ```
    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>

在建立和測試服務受管機群之後，您應該移除您建立的資源，以避免不必要的費用。
+ [在截止日期雲端中清除您的陣列資源](cleaning-up.md) 關閉您用於本教學課程的資源。