

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 를 사용하여 Docker활성화 플릿 생성 AWS CLI
<a name="fleet-container-support-cli"></a>

대기열 역할에는 Amazon ECR에 인증하고 Docker 대기열 환경에서 선택한 이미지를 가져올 수 있는 권한이 필요합니다. 기본 대기열 환경에 대한 플릿 역할 권한은 선택 사항입니다. 호스트 구성 작업 또는 작업자 측 도구가 대기열 세션 외부에서 이미지를 가져올 때 추가합니다.

## 사전 조건
<a name="fleet-container-cli-prerequisites"></a>

시작하기 전에 Deadline Cloud 플릿을 생성하고 대기열 및 플릿 역할에 정책을 연결할 수 AWS CLI 있는 권한을 사용하여를 구성합니다. Amazon ECR 프라이빗 리포지토리에 기존 팜, 대기열, 대기열 역할, 플릿 역할 및 컨테이너 이미지도 필요합니다.

## 플릿 생성
<a name="fleet-container-cli-create"></a>

**Docker활성화 플릿을 생성하려면**

1. 팜, 대기열 및 역할 값을 설정합니다.

   ```
   FARM_ID={{farm-0123456789abcdef0123456789abcdef}}
   QUEUE_ID={{queue-0123456789abcdef0123456789abcdef}}
   FLEET_ROLE_ARN={{arn:aws:iam::123456789012:role/DeadlineFleetRole}}
   MAX_WORKERS={{10}}
   
   QUEUE_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
   ```

1. Amazon ECR 읽기 전용 정책을 대기열 역할에 연결합니다. 기본 Docker 대기열 환경은 대기열 자격 증명을 사용하여 이미지를 인증하고 가져옵니다.

   ```
   aws iam attach-role-policy \
       --role-name "$QUEUE_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. (선택 사항) 호스트 구성 작업 또는 작업자 측 도구가 대기열 세션 외부에서 이미지를 가져와야 하는 경우 동일한 정책을 플릿 역할에 연결합니다.

   ```
   aws iam attach-role-policy \
       --role-name "$FLEET_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. 다음 플릿 구성`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"
       }
     }
   }
   ```

1. 서비스 관리형 플릿을 생성하고 플릿 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"
   ```

1. 대기열을 플릿과 연결합니다.

   ```
   aws deadline create-queue-fleet-association \
       --farm-id "$FARM_ID" \
       --queue-id "$QUEUE_ID" \
       --fleet-id "$FLEET_ID"
   ```

## 플릿 및 역할 권한 확인
<a name="fleet-container-cli-verify"></a>

**컨테이너 지원을 확인하려면**

1. 플릿 구성에 Docker 소프트웨어 추가 기능이 포함되어 있는지 확인합니다.

   ```
   aws deadline get-fleet \
       --farm-id "$FARM_ID" \
       --fleet-id "$FLEET_ID" \
       --query 'configuration.serviceManagedEc2.instanceCapabilities.softwareAddOns'
   ```

   응답에가 포함되어 있는지 확인합니다`"name": "docker"`.

1. 대기열 역할에 Amazon ECR 읽기 전용 정책이 있는지 확인합니다.

   ```
   aws iam list-attached-role-policies \
       --role-name "$QUEUE_ROLE_NAME" \
       --query 'AttachedPolicies[?PolicyName==`AmazonEC2ContainerRegistryReadOnly`]'
   ```

1. 정책을 플릿 역할에 연결한 경우를 사용하여 명령을 반복합니다`--role-name "$FLEET_ROLE_NAME"`.

플릿은 루트 없는를 제공Docker하지만 대기열에는 여전히 이미지를 식별하는 Docker 대기열 환경이 필요합니다. 대기열 구성 세부 정보는 섹션을 참조하세요[서비스 관리형 플릿에 대한 컨테이너 지원](fleet-container-support.md).