翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した Docker対応フリートの作成 AWS CLI
キューロールには、Amazon ECR に対して認証し、Dockerキュー環境によって選択されたイメージをプルするアクセス許可が必要です。フリートロールのアクセス許可は、デフォルトのキュー環境ではオプションです。ホスト設定アクションまたはワーカー側のツールがキューセッションの外部でイメージをプルするときに追加します。
前提条件
開始する前に、Deadline Cloud フリートを作成し、キューとフリートロールにポリシーをアタッチするアクセス許可 AWS CLI を持つ を設定します。Amazon ECR プライベートリポジトリには、既存のファーム、キュー、キューロール、フリートロール、コンテナイメージも必要です。
フリートを作成する
Dockerが有効なフリートを作成するには
-
ファーム、キュー、ロールの値を設定します。
FARM_ID=farm-0123456789abcdef0123456789abcdefQUEUE_ID=queue-0123456789abcdef0123456789abcdefFLEET_ROLE_ARN=arn:aws:iam::123456789012:role/DeadlineFleetRoleMAX_WORKERS=10QUEUE_ROLE_ARN=$(aws deadline get-queue \ --farm-id "$FARM_ID" \ --queue-id "$QUEUE_ID" \ --query roleArn \ --output text) QUEUE_ROLE_NAME=${QUEUE_ROLE_ARN##*/} FLEET_ROLE_NAME=${FLEET_ROLE_ARN##*/} ECR_READ_ONLY_POLICY=arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly -
Amazon ECR 読み取り専用ポリシーをキューロールにアタッチします。デフォルトのDockerキュー環境では、キュー認証情報を使用してイメージを認証およびプルします。
aws iam attach-role-policy \ --role-name "$QUEUE_ROLE_NAME" \ --policy-arn "$ECR_READ_ONLY_POLICY" -
(オプション) ホスト設定アクションまたはワーカー側のツールがキューセッションの外部でイメージをプルする必要がある場合、フリートロールに同じポリシーをアタッチします。
aws iam attach-role-policy \ --role-name "$FLEET_ROLE_NAME" \ --policy-arn "$ECR_READ_ONLY_POLICY" -
次のフリート設定
docker-fleet-configuration.jsonで という名前のファイルを作成します。{ "serviceManagedEc2": { "instanceCapabilities": { "vCpuCount": { "min": 4, "max": 16 }, "memoryMiB": { "min": 8192, "max": 65536 }, "osFamily": "linux", "cpuArchitectureType": "x86_64", "softwareAddOns": [ { "name": "docker" } ] }, "instanceMarketOptions": { "type": "spot" } } } -
サービスマネージドフリートを作成し、フリート ID を保存します。
FLEET_ID=$(aws deadline create-fleet \ --farm-id "$FARM_ID" \ --display-name "Docker fleet" \ --role-arn "$FLEET_ROLE_ARN" \ --min-worker-count 0 \ --max-worker-count "$MAX_WORKERS" \ --configuration file://docker-fleet-configuration.json \ --query fleetId \ --output text) echo "$FLEET_ID" -
キューをフリートに関連付けます。
aws deadline create-queue-fleet-association \ --farm-id "$FARM_ID" \ --queue-id "$QUEUE_ID" \ --fleet-id "$FLEET_ID"
フリートとロールのアクセス許可を確認する
コンテナのサポートを確認するには
-
フリート設定にDockerソフトウェアアドオンが含まれていることを確認します。
aws deadline get-fleet \ --farm-id "$FARM_ID" \ --fleet-id "$FLEET_ID" \ --query 'configuration.serviceManagedEc2.instanceCapabilities.softwareAddOns'レスポンスに が含まれていることを確認します
"name": "docker"。 -
キューロールに Amazon ECR 読み取り専用ポリシーがあることを確認します。
aws iam list-attached-role-policies \ --role-name "$QUEUE_ROLE_NAME" \ --query 'AttachedPolicies[?PolicyName==`AmazonEC2ContainerRegistryReadOnly`]' -
ポリシーをフリートロールにアタッチした場合は、 を使用して コマンドを繰り返します
--role-name "$FLEET_ROLE_NAME"。
フリートはルートレス を提供しますがDocker、キューにはイメージを識別するDockerキュー環境が必要です。キュー設定の詳細については、「」を参照してくださいサービスマネージドフリートのコンテナサポート。