在截止日期雲端中將服務受管機群新增至您的開發人員陣列 - 截止日期雲端

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

在截止日期雲端中將服務受管機群新增至您的開發人員陣列

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

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

在新增 SMF 之前,您必須設定截止日期雲端陣列、佇列和機群。請參閱 建立截止日期雲端陣列

將服務受管機群新增至您的開發人員陣列
  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
  2. 將 SMF 與您的佇列建立關聯。

    aws deadline create-queue-fleet-association \ --farm-id $DEV_FARM_ID \ --queue-id $DEV_QUEUE_ID \ --fleet-id $DEV_SMF_ID
  3. 提交simple_file_job至佇列。出現確認上傳的提示時,請輸入 y

    deadline bundle submit simple_file_job \ -p InFile=simple_job/template.yaml \ -p OutFile=hash-jobattachments.txt
  4. 確認 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
  5. 檢視您提交之任務的日誌。此日誌存放在 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

後續步驟

在建立和測試服務受管機群之後,您應該移除您建立的資源,以避免不必要的費用。