자습서: Fargate 리소스에 단일 노드 작업 정의 생성 - AWS Batch

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

자습서: Fargate 리소스에 단일 노드 작업 정의 생성

AWS Fargate 리소스에 단일 노드 작업 정의를 생성하려면 다음 단계를 완료합니다.

Fargate 리소스에서 새 작업 정의를 생성하려면
  1. https://console.aws.amazon.com/batch/에서 AWS Batch 콘솔을 엽니다.

  2. 탐색 표시줄에서 사용할 AWS 리전(을)를 선택합니다.

  3. 왼쪽 탐색 창에서 작업 정의를 선택합니다.

  4. 생성을 선택합니다.

  5. 오케스트레이션 유형에서 Fargate를 선택합니다. 자세한 내용은 Fargate 컴퓨팅 환경 단원을 참조하십시오.

  6. 이름(Name)에 고유한 작업 정의 이름을 입력합니다. 각 이름의 최대 길이는 128자입니다. 대문자 및 소문자, 숫자, 하이픈(-) 및 밑줄(_)을 포함할 수 있습니다.

  7. (선택 사항) 실행 제한 시간에 제한 시간 값(초)을 입력합니다. 실행 제한 시간은 완료되지 않은 작업이 종료되기까지의 시간입니다. 시도가 제한 시간을 초과하면 중지되고 상태가 FAILED(으)로 변경됩니다. 자세한 내용은 작업 제한 시간 단원을 참조하십시오. 최솟값은 60초입니다.

  8. (선택 사항) 예약 우선 순위를 켭니다. 0에서 100 사이의 예약 우선 순위 값을 입력합니다. 값이 높을수록 낮은 값보다 우선 순위가 높습니다.

  9. (선택 사항) 태그를 확장한 다음, 태그 추가를 선택하여 리소스에 태그를 추가합니다. 작업 및 작업 정의의 태그를 전파하려면 태그 전파 시작을 켭니다.

  10. Fargate 플랫폼 구성 섹션에서:

    1. 런타임 플랫폼에서 컴퓨팅 환경 아키텍처를 선택합니다.

    2. 운영 체제 제품군에서 컴퓨팅 환경의 운영 체제를 선택합니다.

    3. CPU 아키텍처에서 vCPU 아키텍처를 선택합니다.

    4. Fargate 플랫폼 버전에서 LATEST 또는 특정 런타임 환경 버전을 입력합니다.

    5. (선택 사항)퍼블릭 IP 할당을 켜서 Fargate 작업 네트워크 인터페이스에 퍼블릭 IP 주소를 할당합니다. 프라이빗 서브넷에서 실행 중인 작업의 경우 프라이빗 서브넷에 인터넷으로 아웃바운드 트래픽을 라우팅할 NAT 게이트웨이가 연결되어 있어야 합니다. 컨테이너 이미지를 가져올 수 있도록 이 작업을 수행하는 것이 좋습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서의 Amazon ECS 작업 네트워킹을 참조하세요.

    6. (선택 사항)임시 스토리지에 태스크에 할당할 임시 스토리지의 양을 입력합니다. 임시 스토리지의 용량은 21GiB에서 200GiB 사이여야 합니다. 값을 입력하지 않으면 기본적으로 20GiB의 임시 스토리지가 할당됩니다.

      참고

      임시 스토리지에는 Fargate 플랫폼 버전 1.4 이상이 필요합니다.

    7. 실행 역할의 경우, Amazon ECS 컨테이너 및 Fargate 에이전트 권한에 사용자를 대신하여 AWS API 호출을 수행할 권한을 부여하는 IAM 역할을 지정합니다. 이 기능은 작업 기능에 Amazon ECS IAM 역할을 사용합니다. 구성 사전 조건을 포함하여 자세한 내용을 알아보려면 Amazon Elastic Container Service 개발자 안내서Amazon ECS 작업 실행 IAM 역할을 참조하세요.

    8. 작업 시도에 AWS Batch이 작업을 RUNNABLE 상태로 전환하기 시도하는 횟수를 입력합니다. 1~10 사이의 숫자를 입력합니다.

    9. (선택 사항) 재시도 전략 조건의 경우 종료 시 평가 추가를 선택합니다. 파라미터 값을 하나 이상 입력한 다음 작업을 선택합니다. 각 조건 세트에 대해 작업재시도 또는 종료로 설정해야 합니다. 이러한 작업은 다음을 의미합니다.

      • 재시도 - AWS Batch가 지정한 작업 시도 횟수에 도달할 때까지 재시도합니다.

      • 종료 — AWS Batch(이)가 작업 재시도를 중지합니다.

      중요

      종료 시 평가 추가를 선택한 경우 하나 이상의 파라미터를 구성하고 작업을 선택하거나 종료 시 평가 제거를 선택해야 합니다.

  11. 다음 페이지를 선택합니다.

  12. 컨테이너 구성 섹션에서:

    1. 이미지에서 작업에 사용할 도커 이미지를 선택합니다. 기본적으로 Docker Hub 레지스트리 내 이미지는 사용 가능합니다. 또한 repository-url/image:tag(을)를 사용하여 다른 리포지토리를 지정할 수도 있습니다. 각 이름의 최대 길이는 225자입니다. 대문자와 소문자, 숫자, 하이픈(-), 밑줄(_), 콜론(:), 마침표(.), 슬래시(/) 및 숫자 기호(#)를 포함할 수 있습니다. 이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 Image(와)과 docker runIMAGE 파라미터로 매핑됩니다.

      참고

      Docker 이미지 아키텍처는 예정된 컴퓨팅 리소스의 프로세서 아키텍처와 일치해야 합니다. 예를 들어, Arm 기반 Docker 이미지는 Arm 기반 컴퓨팅 리소스에서만 실행될 수 있습니다.

      • Amazon ECR Public 리포지토리에 있는 이미지는 전체 registry/repository[:tag] 또는 registry/repository[@digest] 명명 규칙을 사용합니다(예: public.ecr.aws/registry_alias/my-web-app:latest).

      • Amazon ECR 리포지토리에 있는 이미지는 전체 registry/repository[:tag] 명명 규칙을 사용합니다 (예: aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest).

      • Docker Hub의 공식 리포지토리 안의 이미지는 단일 이름을 사용합니다(예: ubuntu 또는 mongo).

      • Docker Hub 다른 리포지토리에 저장된 이미지는 조직 이름으로 한정됩니다(예: amazon/amazon-ecs-agent).

      • 다른 온라인 리포지토리 안의 이미지는 도메인 이름을 사용하여 추가로 한정됩니다(예: quay.io/assemblyline/ubuntu).

    2. 명령 구문으로 Bash 또는 JSON을 선택합니다.

    3. 명령에서 컨테이너에 전달할 명령을 지정합니다. 간단한 명령의 경우 명령 프롬프트에서처럼 명령을 입력한 다음 JSON 결과가 올바른지 확인합니다. Docker 대몬(daemon)에 전달되었습니다. 특수 문자와 같이 더 복잡한 명령의 경우 JSON 구문을 사용합니다.

      작은 정보

      정보를 선택하여 Bash 및 JSON 코드 샘플을 확인합니다.

      이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 Cmddocker runCOMMAND 파라미터로 매핑됩니다. Docker CMD 파라미터에 대한 자세한 정보는 https://docs.docker.com/engine/reference/builder/#cmd를 참조하세요.

      참고

      사용자는 명령에 파라미터 대체 및 자리 표시자 기본값을 사용할 수 있습니다. 자세한 내용은 파라미터 단원을 참조하십시오.

    4. (선택 사항)작업 정의에 파라미터를 이름-값 매핑으로 추가하여 작업 정의 기본값을 재정의합니다. 파라미터를 추가하려면

      1. 파라미터에서 파라미터 추가를 선택하고 이름-값 쌍을 입력한 다음 파라미터 추가를 선택합니다.

        중요

        파라미터 추가를 선택한 경우 하나 이상의 파라미터를 구성하거나 파라미터 제거를 선택해야 합니다.

    5. 환경 구성 섹션에서:

      1. 작업 역할 구성에 AWS API에 대한 권한이 있는 IAM 역할을 선택합니다. 이 기능은 작업 기능에 Amazon ECS IAM 역할을 사용합니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서태스크에 대한 IAM 역할을 참조하세요.

        참고

        Amazon Elastic Container Service 태스크 역할 신뢰 관계를 보유한 역할만 여기 표시됩니다. AWS Batch 작업에 대한 IAM 역할을 생성하는 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 작업에 대한 IAM 역할 및 정책 생성 섹션을 참조하세요.

      2. vCPU에서 컨테이너에 예약할 vCPU 수를 지정합니다. 이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 CpuShares(와)과 docker run에 대한 --cpu-shares 옵션에 매핑됩니다. 각 vCPU는 1,024개의 CPU 공유와 동일합니다. vCPU를 최소 하나 이상 지정해야 합니다.

      3. 메모리에는 컨테이너에 사용할 수 있는 메모리 한도를 입력합니다. 컨테이너가 여기에 지정된 메모리를 초과하려 하면 해당 컨테이너가 중지됩니다. 이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 Memory(와)과 docker run에 대한 --memory 옵션에 매핑됩니다. 한 작업에 대해 메모리를 최소한 4MiB 지정해야 합니다.

        GuardDuty Runtime Monitoring을 사용하는 경우 GuardDuty 보안 에이전트에 약간의 메모리 오버헤드가 있습니다. 따라서 메모리 제한에 GuardDuty 보안 에이전트의 크기가 포함되어야 합니다. GuardDuty 보안 에이전트 메모리 제한에 대한 자세한 내용은 GuardDuty 사용 설명서의 CPU and memory limits를 참조하세요. 모범 사례에 대한 자세한 내용은 Amazon ECS 개발자 안내서의 런타임 모니터링을 활성화한 후 Fargate 작업에서 메모리 오류를 해결하는 방법을 참조하세요.

        참고

        리소스 사용률을 극대화하려면 특정 인스턴스 유형의 작업에 메모리 우선 순위를 지정하세요. 자세한 내용은 컴퓨팅 리소스 메모리 관리 단원을 참조하십시오.

    6. (선택 사항) 환경 변수의 경우 환경 변수 추가를 선택하여 환경 변수를 이름-값 쌍으로 추가합니다. 이러한 변수는 컨테이너로 전달됩니다.

    7. (선택 사항) 암호의 경우 암호 추가를 선택하여 암호를 이름-값 쌍으로 추가합니다. 이러한 보안 암호는 컨테이너에 노출됩니다. 자세한 내용은 LogConfiguration:secretOptions를 참조하세요.

    8. 다음 페이지를 선택합니다.

  13. (선택 사항) Linux 구성 섹션에서:

    1. 사용자에서 컨테이너 내부에서 사용할 사용자 이름을 입력합니다.

    2. 컨테이너 내에서 init 프로세스를 실행하려면 init 프로세스 활성화를 켭니다. 이 프로세스는 신호를 전달하고 결과를 받아들입니다.

    3. 읽기 전용 파일 시스템 활성화를 켜서 볼륨에 대한 쓰기 권한을 제거합니다.

    4. (선택 사항) 추가 구성을 확장합니다.

    5. 마운트 포인트 구성에서 마운트 포인트 구성 추가를 선택하여 데이터 볼륨의 마운트 포인트를 추가합니다. 소스 볼륨과 컨테이너 경로를 지정해야 합니다. 이러한 마운트 포인트는 컨테이너 인스턴스의 Docker daemon에 전달됩니다.

    6. 볼륨 구성에서 볼륨 추가를 선택하여 컨테이너에 전달할 볼륨 목록을 생성합니다. 볼륨의 이름소스 경로를 입력한 다음 볼륨 추가를 선택합니다.

    7. 로깅 구성 섹션에서:

      1. (선택 사항)로그 드라이버에서 사용할 로그 드라이버를 선택합니다. 사용 가능한 로그 드라이버에 대한 자세한 내용은 LogConfiguration:logDriver를 참조하세요.

        참고

        기본적으로 awslogs 로그 드라이버가 사용됩니다.

      2. (선택 사항)옵션에서 옵션 추가를 선택하여 옵션을 추가합니다. 이름-값 쌍을 입력한 다음 옵션 추가를 선택합니다.

      3. (선택 사항) 암호에서 암호 추가를 선택하여 암호를 추가합니다. 이름-값 쌍을 입력한 다음 암호 추가를 선택합니다.

        작은 정보

        자세한 내용은 LogConfiguration:secretOptions를 참조하세요.

  14. 다음 페이지를 선택합니다.

  15. 작업 정의 검토에서 구성 단계를 검토하십시오. 변경해야 하는 경우 편집을 선택합니다 작업을 마쳤으면 작업 정의 생성을 선택합니다.