콘솔을 사용하여 Amazon ECS 작업 정의 생성 - Amazon Elastic Container Service

콘솔을 사용하여 Amazon ECS 작업 정의 생성

콘솔을 사용하거나 JSON 파일을 편집하여 작업 정의를 생성할 수 있습니다.

JSON 검사기

Amazon ECS 콘솔 JSON 편집기는 JSON 파일에서 다음 사항을 검사합니다.

  • 파일은 유효한 JSON 파일입니다.

  • 파일에 관련 없는 키는 없습니다.

  • 파일에 familyName 파라미터가 있습니다.

  • containerDefinitions 아래 하나 이상의 항목이 있습니다.

AWS CloudFormation 스택

다음 동작은 2023년 1월 12일 이전에 새 Amazon ECS 콘솔에서 생성된 작업 정의에 적용됩니다.

작업 정의를 생성하면 Amazon ECS 콘솔은 이름이 ECS-Console-V2-TaskDefinition-으로 시작하는 CloudFormation 스택을 자동으로 생성합니다. AWS CLI 또는 AWS SDK를 사용하여 작업 정의를 등록 취소한 경우 작업 정의 스택을 수동으로 삭제해야 합니다. 자세한 정보는 AWS CloudFormation 사용 설명서스택 삭제를 참조하세요.

2023년 1월 12일 이후에 생성된 작업 정의에서는 CloudFormation 스택이 자동으로 생성되지 않습니다.

절차

Amazon ECS console
  1. https://console.aws.amazon.com/ecs/v2에서 콘솔을 엽니다.

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

  3. 새 작업 정의 생성 메뉴에서 새 작업 정의 생성을 선택합니다.

  4. 태스크 정의 패밀리(Task definition family)에서 태스크 정의에 대해 고유한 이름을 지정합니다.

  5. 시작 유형에서 애플리케이션 환경을 선택합니다. 콘솔 기본값은 AWS Fargate(서버리스)입니다. Amazon ECS는 이 값으로 작업 정의 파라미터가 인프라 유형에 유효한지 검증을 수행합니다.

  6. 운영 체제/아키텍처(Operating system/Architecture)에서 태스크에 사용할 운영 체제와 CPU 아키텍처를 선택합니다.

    64비트 ARM 아키텍처에서 작업을 실행하려면 Linux/ARM64를 선택합니다. 자세한 내용은 런타임 플랫폼 단원을 참조하십시오.

    Windows 컨테이너에서 AWS Fargate 작업을 실행하려면 지원되는 Windows 운영 체제를 선택합니다. 자세한 내용은 운영 체제 및 아키텍처 단원을 참조하십시오.

  7. 태스크 크기(Task size)에서 태스크용으로 예약할 CPU 및 메모리 값을 선정합니다. CPU 값은 vCPU로 지정되고 메모리는 GB로 지정됩니다.

    다음 표에서는 Fargate에서 호스팅되는 태스크에 대해 유효한 CPU와 메모리 조합을 보여줍니다.

    CPU 값

    메모리 값

    AWS Fargate에 지원되는 운영 체제

    256(.25 vCPU)

    512MiB, 1GB, 2GB

    Linux

    512(.5 vCPU)

    1GB, 2GB, 3GB, 4GB

    Linux

    1024(1 vCPU)

    2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB

    Linux, Windows

    2048(2 vCPU)

    4~16GB(1GB 증분)

    Linux, Windows

    4096(4 vCPU)

    8~30GB(1GB 증분)

    Linux, Windows

    8192 (8 vCPU)

    참고

    이 옵션은 Linux 플랫폼 1.4.0 이상이 필요합니다.

    16~60GB(4GB 증분)

    Linux

    16384 (16vCPU)

    참고

    이 옵션은 Linux 플랫폼 1.4.0 이상이 필요합니다.

    32~120GB(8GB 증분)

    Linux

    Amazon EC2에서 호스팅되는 태스크의 경우 지원되는 태스크 CPU 값은 128 CPU 단위(0.125 vCPU)에서 10240 CPU 단위(10 vCPU) 사이입니다. 메모리 값을 GB 단위로 지정하려면 값 뒤에 GB를 입력합니다. 예를 들어 메모리 값을 3GB로 설정하려면 3GB를 입력합니다.

    참고

    Windows 컨테이너에 대해서는 태스크 레벨 CPU와 메모리 파라미터가 무시됩니다.

  8. 네트워크 모드(Network mode)에서 사용할 네트워크 모드를 선택합니다. 기본값은 awsvpc 모드입니다. 자세한 내용은 Amazon ECS 작업 배치를 참조하세요.

    브리지를 선택하는 경우 포트 매핑 아래 호스트 포트에 컨테이너용으로 예약할 컨테이너 인스턴스의 포트 번호를 입력합니다.

  9. (선택 사항) 작업 역할 섹션을 확장하여 작업에 대한 AWS Identity and Access Management(IAM) 역할을 구성합니다.

    1. 태스크 역할(Task role)에서 태스크에 할당할 IAM 역할을 선택합니다. 작업 IAM 역할은 작업의 컨테이너에서 AWS API 작업을 직접 호출할 수 있는 권한을 제공합니다.

    2. 작업 실행 역할에서 역할을 선택합니다.

      작업 실행 역할을 사용하는 경우에 대한 자세한 정보는 Amazon ECS 태스크 실행 IAM 역할을 참조하세요. 역할이 필요하지 않은 경우 없음을 선택합니다.

  10. 태스크 정의에서 정의할 각 컨테이너에 대해 다음 단계를 수행합니다.

    1. 이름(Name)에 컨테이너 이름을 입력합니다.

    2. 이미지 URI(Image URI)에서 컨테이너를 시작하는 데 사용할 이미지를 지정합니다. Amazon ECR 퍼블릭 갤러리 레지스트리의 이미지는 Amazon ECR 퍼블릭 레지스트리 이름만 사용하여 지정할 수 있습니다. 예를 들어 public.ecr.aws/ecs/amazon-ecs-agent:latest가 지정되면 Amazon ECR 퍼블릭 갤러리에 호스팅되는 Amazon Linux 컨테이너가 사용됩니다. 다른 모든 리포지토리의 경우 repository-url/image:tag 또는 repository-url/image@digest 형식을 사용하여 리포지토리를 지정합니다.

    3. 이미지가 Amazon ECR 외부의 프라이빗 레지스트리에 있는 경우 프라이빗 레지스트리에서 에서 프라이빗 레지스트리 인증을 켭니다. 그런 다음 Secrets Manager ARN 또는 이름에 보안 암호의 Amazon 리소스 이름(ARN)을 입력합니다.

    4. 필수 컨테이너에서 작업 정의에 두 개 이상의 컨테이너가 정의되어 있으면 해당 컨테이너를 필수로 간주할지를 지정할 수 있습니다. 컨테이너가 필수로 표시된 경우 해당 컨테이너가 중지되면 작업도 중지됩니다. 각 태스크 정의에는 하나 이상의 필수 컨테이너가 포함되어야 합니다.

    5. 포트 매핑을 통해 컨테이너는 호스트의 포트에 액세스하여 트래픽을 송수신할 수 있습니다. 포트 매핑(Port mappings)에서 다음 중 하나를 수행합니다.

      • awsvpc 네트워크 모드를 사용하는 경우 컨테이너 포트(Container port)프로토콜(Protocol)에서 컨테이너에 사용할 포트 매핑을 선택합니다.

      • bridge 네트워크 모드를 사용하는 경우 컨테이너 포트(Container port)프로토콜(Protocol)에서 컨테이너에 사용할 포트 매핑을 선택합니다.

      포트 매핑 추가(Add more port mappings)를 선택하여 추가 컨테이너 포트 매핑을 더 지정합니다.

    6. 컨테이너에 루트 파일 시스템에 대한 읽기 전용 액세스를 부여하려면 읽기 전용 루트 파일 시스템에서 읽기 전용을 선택합니다.

    7. (선택 사항) 리소스 할당 제한의 작업 수준 값과 다른 컨테이너 수준 CPU, GPU 및 메모리 제한을 정의하려면 다음을 수행합니다.

      • CPU에 Amazon ECS 컨테이너 에이전트가 컨테이너에 대해 예약하는 CPU 단위 수를 입력합니다.

      • GPU에 컨테이너 인스턴스의 GPU 단위 수를 입력합니다.

        GPU를 지원하는 Amazon EC2 인스턴스에는 GPU당 1개의 GPU 단위가 있습니다. 자세한 내용은 GPU 워크로드에 대한 Amazon ECS 작업 정의 단원을 참조하십시오.

      • 메모리 하드 제한에 컨테이너에 표시할 메모리 크기를 GB 단위로 입력합니다. 컨테이너가 하드 제한 을 초과하려 하면 해당 컨테이너는 중지됩니다.

      • Docker 20.10.0 이상의 대몬은 컨테이너용으로 최소 6MiB의 메모리를 예약합니다. 그러므로 컨테이너에 대해 6MiB 미만의 메모리를 지정하지 마세요.

        Docker 19.03.13-ce 이하의 대몬은 컨테이너용으로 최소 4MiB의 메모리를 예약합니다. 그러므로 컨테이너에 대해 4MiB 미만의 메모리를 지정하지 마세요.

      • 메모리 소프트 제한에 컨테이너용으로 예약할 메모리의 소프트 제한(GB)을 입력합니다.

        시스템 메모리가 경합하는 경우 Docker는 컨테이너 메모리를 이 소프트 제한으로 유지하려고 합니다. 작업 수준 메모리를 지정하지 않은 경우, 메모리 하드 제한메모리 소프트 제한 중 하나 또는 모두에 0이 아닌 정수를 지정해야 합니다. 둘 다 지정하는 경우 메모리 하드 제한 메모리 소프트 제한보다 커야 합니다.

        이 기능은 Windows 컨테이너에서 지원되지 않습니다.

    8. (선택 사항)환경 변수 섹션을 확장하여 컨테이너에 삽입할 환경 변수를 지정합니다. 키-값 페어를 사용하여 개별적으로 환경 변수를 지정하거나 Amazon S3 버킷에서 호스팅되는 환경 변수 파일을 지정하여 배치 단위로 환경 변수를 지정할 수 있습니다. 환경 변수 파일의 형식을 지정하는 방법에 대한 자세한 내용은 개별 환경 변수를 Amazon ECS 컨테이너로 전달 섹션을 참조하세요.

      비밀 스토리지에 대한 환경 변수를 지정할 때 에 보안 암호 이름을 입력합니다. 그런 다음 ValueFrom에 Systems Manager Parameter Store 보안 암호 또는 Secrets Manager 보안 암호의 전체 ARN을 입력합니다.

    9. (선택 사항) 로그 수집 사용(Use log collection) 옵션을 선택하여 로그 구성을 지정합니다. 사용 가능한 로그 드라이버마다 지정할 로그 드라이버 옵션이 있습니다. 기본 옵션에서는 Amazon CloudWatch Logs로 컨테이너 로그를 전송합니다. 다른 로그 드라이버 옵션은 AWS FireLens를 사용하여 구성됩니다. 자세한 내용은 Amazon ECS 로그를 AWS 서비스 또는 AWS Partner로 전송 단원을 참조하십시오.

      다음은 각 컨테이너 로그 대상에 대한 자세한 설명입니다.

      • Amazon CloudWatch - CloudWatch Logs로 컨테이너 로그를 전송하도록 작업을 구성합니다. 사용자를 대신하여 CloudWatch 로그 그룹을 생성하는 기본 로그 드라이버 옵션이 제공됩니다. 다른 로그 그룹 이름을 지정하려면 드라이버 옵션 값을 변경합니다.

      • Splunk로 로그 내보내기 - 컨테이너 로그를 원격 서비스로 보내는 Splunk 드라이버로 전송하도록 작업을 구성합니다. Splunk 웹 서비스에 대한 URL을 입력해야 합니다. Splunk 토큰은 민감한 데이터로 취급될 수 있으므로 보안 암호 옵션으로 지정됩니다.

      • Amazon Data Firehose로 로그 내보내기 - Firehose로 컨테이너 로그를 전송하도록 작업을 구성합니다. Firehose 전송 스트림으로 로그를 전송하는 기본 로그 드라이버 옵션이 제공됩니다. 다른 전송 스트림 이름을 지정하려면 드라이버 옵션 값을 변경합니다.

      • Amazon Kinesis Data Streams로 로그 내보내기 - Kinesis Data Streams로 컨테이너 로그를 전송하도록 작업을 구성합니다. Kinesis Data Streams 스트림으로 로그를 전송하는 기본 로그 드라이버 옵션이 제공됩니다. 다른 스트림 이름을 지정하려면 드라이버 옵션 값을 변경합니다.

      • Amazon OpenSearch Service로 로그 내보내기 - OpenSearch Service 도메인으로 컨테이너 로그를 전송하도록 작업을 구성합니다. 로그 드라이버 옵션이 제공되어야 합니다.

      • Amazon S3로 로그 내보내기 - Amazon S3 버킷으로 컨테이너 로그를 전송하도록 작업을 구성합니다. 기본 로그 드라이버 옵션이 제공되지만 유효한 Amazon S3 버킷 이름을 지정해야 합니다.

    10. (선택 사항) 추가 컨테이너 파라미터를 구성합니다.

      이 옵션을 구성하는 방법 조치

      재시작 정책

      이 옵션은 컨테이너가 종료될 때 컨테이너를 다시 시작하는 재시작 정책을 정의합니다.

      재시작 정책을 확장하고 다음 항목을 구성합니다.
      • 컨테이너에 대한 재시작 정책을 활성화하려면 재시작 정책 활성화를 켜십시오.

      • 무시된 종료 코드의 경우 쉼표로 구분된 정수 컨테이너 종료 코드 목록을 지정하십시오. 컨테이너가 지정된 종료 코드 중 하나라도 있는 상태로 종료되는 경우 Amazon ECS는 컨테이너 재시작을 시도하지 않습니다. 아무것도 지정하지 않으면 Amazon ECS는 종료 코드를 무시하지 않습니다.

      • 재설정 시도 기간의 경우 종료 시 재시작을 시도하기 전에 컨테이너를 실행해야 하는 정수 기간(초)을 지정합니다. Amazon ECS는 재설정 시도 기간(초) 마다 한 번만 컨테이너 재시작을 시도할 수 있습니다. 아무것도 지정하지 않은 경우 컨테이너를 300초 동안 실행해야 재시작을 시도할 수 있습니다.

      HealthCheck

      다음은 컨테이너의 정상 상태를 결정하는 명령입니다. 자세한 내용은 컨테이너 상태 확인을 사용하여 Amazon ECS 작업 상태 확인 단원을 참조하십시오.

      HealthCheck를 확장한 후 다음 항목을 구성합니다.
      • Command(명령)에 쉼표로 구분된 명령 목록을 입력합니다. CMD에서 명령을 시작하여 명령 인수를 직접 실행하거나 CMD-SHELL에서 명령을 시작하여 컨테이너의 기본 쉘에서 명령을 실행할 수 있습니다. 둘 다 지정하지 않으면 CMD가 사용됩니다.

      • Interval(간격)에 각 상태 확인 사이의 시간(초)을 입력합니다. 유효한 값은 5~30입니다.

      • Timeout(제한 시간)에 실패로 간주되기 전에 상태 확인이 성공하기까지의 대기 시간(초)입니다. 유효한 값은 2~60입니다.

      • Start period(시작 기간)에 상태 확인 명령이 실행되기 전에 컨테이너가 부트스트랩하기까지의 대기 시간(초)을 입력합니다. 유효한 값은 0~300입니다.

      • Retries(재시도)에 실패 발생 시 상태 확인 명령을 재시도할 횟수를 입력합니다. 유효한 값은 1~10입니다.

      시작 종속성 순서

      이 옵션은 컨테이너 시작 및 종료에 대한 종속성을 정의합니다. 컨테이너는 여러 종속성을 포함할 수 있습니다.

      시작 종속성 순서를 확장한 후 다음을 구성합니다.
      1. 컨테이너 종속성 추가를 선택합니다.

      2. 컨테이너에서 컨테이너를 선택합니다.

      3. 조건에서 시작 종속성 조건을 선택합니다.

      종속성을 더 추가하려면 컨테이너 종속성 추가를 선택합니다.
      컨테이너 제한 시간

      이 옵션은 컨테이너 시작 및 중지 시기를 결정합니다.

      컨테이너 시간 제한을 확장한 후 다음을 구성합니다.
      • 컨테이너에 대한 종속성 해결을 포기하기 전에 대기할 시간을 구성하려면 시작 제한 시간에 시간(초)을 입력합니다.

      • 컨테이너가 자체적으로 정상 종료하지 않을 경우 중지될 때까지 대기할 시간을 구성하려면 중지 제한 시간에 시간(초)을 입력합니다.

      컨테이너 네트워크 설정

      이 옵션은 컨테이너 내에서 네트워킹을 사용할지 여부를 결정합니다.

      컨테이너 네트워크 설정을 확장한 후 다음을 구성합니다.
      • 컨테이너 네트워킹을 비활성화하려면 네트워킹 끄기를 선택합니다.

      • 컨테이너에 표시되는 DNS 서버 IP 주소를 구성하려면 DNS 서버에서 각 서버의 IP 주소를 별도의 줄에 입력합니다.

      • 컨테이너에 제공된 정규화되지 않은 호스트 이름을 검색하도록 DNS 도메인을 구성하려면 DNS 검색 도메인에서 각 도메인을 별도의 줄에 입력합니다.

        패턴은 ^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$입니다.

      • 컨테이너 호스트 이름을 구성하려면 호스트 이름에 컨테이너 goat 이름을 입력합니다.

      • 컨테이너의 /etc/hosts 파일에 추가된 호스트 이름 및 IP 주소 매핑을 추가하려면 호스트 추가를 선택한 다음 호스트 이름IP 주소에 호스트 이름과 IP 주소를 입력합니다.

      Docker 구성

      이는 Dockerfile의 값을 재정의합니다.

      Docker 구성을 확장하고 다음 항목을 구성합니다.

      • 명령에 컨테이너에 대한 실행 가능한 명령을 입력합니다.

        이 파라미터는 Docker 원격 API의 컨테이너 생성 섹션에 있는 Cmd에 매핑되며 COMMAND 옵션은 docker run에 매핑됩니다. 이 파라미터는 DockerfileCMD 명령을 재정의합니다.

      • 진입점에 컨테이너로 전달되는 Docker 진입점을 입력합니다.

        이 파라미터는 Docker 원격 API의 컨테이너 생성 섹션에 있는 Entrypoint에 매핑되며 --entrypoint 옵션은 docker run에 매핑됩니다. 이 파라미터는 DockerfileENTRYPOINT 명령을 재정의합니다.

      • Working Directory(작업 디렉터리)에 컨테이너가 실행할 디렉터리와 제공된 진입점 및 명령 지침을 입력합니다.

        이 파라미터는 Docker 원격 API의 컨테이너 생성 섹션에 있는 WorkingDir에 매핑되며 --workdir 옵션은 docker run에 매핑됩니다. 이 파라미터는 DockerfileWORKDIR 명령을 재정의합니다.

      리소스 제한 (Ulimits)

      이 값은 운영 체제에 설정된 기본 리소스 할당량 설정을 재정의합니다.

      이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 Ulimits(와)과 docker run에 대한 --ulimit 옵션에 매핑됩니다.

      리소스 제한(ulimits)을 확장한 하고 ulimit 추가를 선택합니다. 제한 이름에서 제한을 선택합니다. 그런 다음 소프트 제한하드 제한에 값을 입력합니다.

      ulimits를 더 추가하려면 ulimit 추가를 선택합니다.

      Docker 레이블

      이 옵션은 컨테이너에 메타데이터를 추가합니다.

      이 파라미터는 Docker 원격 API(Docker Remote API)컨테이너 생성(Create a container) 섹션에 있는 Labels(와)과 docker run에 대한 --label 옵션에 매핑됩니다.

      Docker 레이블을 확장하고 키 값 쌍 추가를 선택한 다음, 을 입력합니다.

      Docker 레이블을 더 추가하려면 키 값 쌍 추가를 선택합니다.

    11. (선택 사항) 컨테이너 추가(Add more containers)를 선택하여 컨테이너를 태스크 정의에 더 추가합니다.

  11. (선택 사항) 스토리지(Storage) 섹션은 Fargate에 호스팅되는 작업에 대한 임시 스토리지 크기를 확장하는 데 사용됩니다. 이 섹션을 사용하여 작업에 대한 데이터 볼륨 구성을 추가할 수도 있습니다.

    1. Fargate 태스크에대한 20 gibibytes (GiB)의 기본값인 이상으로 사용 가능한 임시 스토리지를 확장하려면 양(Amount)에서 값을 최대 200 GiB으로 지정합니다.

  12. (선택 사항) 작업 정의에 대한 데이터 볼륨 구성을 추가하려면 볼륨 추가를 선택하고 다음 단계를 수행합니다.

    1. 볼륨 이름(Volume name)에서 데이터 볼륨의 이름을 입력합니다. 데이터 볼륨 이름은 컨테이너 탑재 지점을 생성할 때 사용됩니다.

    2. 볼륨 구성의 경우 작업 정의를 생성할 때 볼륨을 구성할지 또는 배포 중에 볼륨을 구성할지 여부를 선택합니다.

      참고

      작업 정의를 생성할 때 구성할 수 있는 볼륨으로, 바인드 탑재, Docker, Amazon EFS 및 Amazon FSx for Windows File Server가 있습니다. 배포 시, 작업을 실행할 때 또는 서비스를 생성하거나 업데이트할 때 구성할 수 있는 볼륨으로, Amazon EBS가 있습니다.

    3. 볼륨 유형에서 선택한 구성 유형과 호환되는 볼륨 유형을 선택하고 볼륨 유형을 구성합니다.

    볼륨 유형 단계

    바인드 탑재

    1. Add mount point(탑재 지점 추가)를 선택하고 다음을 구성합니다.

      • 컨테이너(Container)에서 탑재 지점의 컨테이너를 선택합니다.

      • 소스 볼륨(Source volume)에서 컨테이너에 탑재할 데이터 볼륨을 선택합니다.

      • 컨테이너 경로(Container path)에 볼륨을 탑재할 컨테이너 경로를 입력합니다.

      • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

    2. 탑재 지점을 추가하려면 Add mount point(탑재 지점 추가)를 선택합니다.

    EFS
    1. File system ID(파일 시스템 ID)에서 Amazon EFS 파일 시스템 ID를 선택합니다.

    2. (선택 사항) Root directory(루트 디렉터리)에 호스트 내의 루트 디렉터리로 탑재할 Amazon EFS 파일 시스템 내 디렉터리입니다. 이 파라미터가 생략되면 Amazon EFS 볼륨의 루트가 사용됩니다.

      EFS 액세스 포인트를 사용할 계획이면 이 필드를 비워 둡니다.

    3. (선택 사항) Access point(액세스 포인트)에서 사용할 액세스 포인트 ID를 선택합니다.

    4. (선택 사항) Amazon EFS 파일 시스템과 Amazon ECS 호스트 간의 데이터를 암호화하거나 볼륨을 탑재할 때 작업 실행 역할을 사용하려면 Advanced configurations(고급 구성)를 선택하고 다음을 구성합니다.

      • Amazon EFS 파일 시스템과 Amazon ECS 호스트 간에 데이터를 암호화하려면 Transit encryption(전송 암호화)을 선택한 후 Port(포트)에 Amazon ECS 호스트와 Amazon EFS 서버 간에 암호화된 데이터를 전송할 때 사용할 포트를 입력합니다. 전송 중 데이터 암호화 포트를 지정하지 않으면 Amazon EFS 탑재 헬퍼가 사용하는 포트 선택 전략이 사용됩니다. 자세한 정보는 Amazon Elastic File System 사용 설명서EFS 탑재 헬퍼를 참조하세요.

      • Amazon EFS 파일 시스템을 탑재할 때 작업 정의에 정의된 Amazon ECS 작업 IAM 역할을 사용하려면 IAM authorization(IAM 권한 부여)을 선택합니다.

    5. Add mount point(탑재 지점 추가)를 선택하고 다음을 구성합니다.

      • 컨테이너(Container)에서 탑재 지점의 컨테이너를 선택합니다.

      • 소스 볼륨(Source volume)에서 컨테이너에 탑재할 데이터 볼륨을 선택합니다.

      • 컨테이너 경로(Container path)에 볼륨을 탑재할 컨테이너 경로를 입력합니다.

      • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

    6. 탑재 지점을 추가하려면 Add mount point(탑재 지점 추가)를 선택합니다.

    Docker

    1. 드라이버에 Docker 볼륨 구성을 입력합니다. Windows 컨테이너는 로컬 드라이버의 사용만 지원합니다. 바인드 탑재를 사용하려면 host를 지정합니다.

    2. Scope(범위)에서 볼륨 수명 주기를 선택합니다.

      • 작업이 시작되고 중지될 때 수명 주기가 지속되도록 하려면 Task(작업)를 선택합니다.

      • 작업이 중지된 후에도 볼륨이 유지되게 하려면 Shared(공유)를 선택합니다.

    3. Add mount point(탑재 지점 추가)를 선택하고 다음을 구성합니다.

      • 컨테이너(Container)에서 탑재 지점의 컨테이너를 선택합니다.

      • 소스 볼륨(Source volume)에서 컨테이너에 탑재할 데이터 볼륨을 선택합니다.

      • 컨테이너 경로(Container path)에 볼륨을 탑재할 컨테이너 경로를 입력합니다.

      • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

    4. 탑재 지점을 추가하려면 Add mount point(탑재 지점 추가)를 선택합니다.

    FSx for Windows File Server
    1. 파일 시스템 ID에서 FSx for Windows File Server 파일 시스템 ID를 선택합니다.

    2. 루트 디렉터리에 호스트 내 루트 디렉터리로 탑재할 FSx for Windows File Server 파일 시스템 내 디렉터리를 입력합니다.

    3. Credential parameter(보안 인증 파라미터)에서 자격 증명 저장 방법을 선택합니다.

      • AWS Secrets Manager를 사용하려면 Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)을 입력합니다.

      • AWS Systems Manager를 사용하려면 Systems Manager 파라미터의 Amazon 리소스 이름(ARN)을 입력합니다.

    4. 도메인에 셀프 호스팅된 EC2 Active Directory 또는 AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD) 디렉터리에서 호스팅하는 정규화된 도메인 이름을 입력합니다.

    5. Add mount point(탑재 지점 추가)를 선택하고 다음을 구성합니다.

      • 컨테이너(Container)에서 탑재 지점의 컨테이너를 선택합니다.

      • 소스 볼륨(Source volume)에서 컨테이너에 탑재할 데이터 볼륨을 선택합니다.

      • 컨테이너 경로(Container path)에 볼륨을 탑재할 컨테이너 경로를 입력합니다.

      • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

    6. 탑재 지점을 추가하려면 Add mount point(탑재 지점 추가)를 선택합니다.

    Amazon EBS

    1. Add mount point(탑재 지점 추가)를 선택하고 다음을 구성합니다.

      • 컨테이너(Container)에서 탑재 지점의 컨테이너를 선택합니다.

      • 소스 볼륨(Source volume)에서 컨테이너에 탑재할 데이터 볼륨을 선택합니다.

      • 컨테이너 경로(Container path)에 볼륨을 탑재할 컨테이너 경로를 입력합니다.

      • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

    2. 탑재 지점을 추가하려면 Add mount point(탑재 지점 추가)를 선택합니다.

  13. 다른 컨테이너의 볼륨을 추가하려면 다음 위치에서 볼륨 추가를 선택하고 다음을 구성합니다.

    • 컨테이너에서 컨테이너를 선택합니다.

    • 소스에서 마운트하려는 볼륨이 있는 컨테이너를 선택합니다.

    • 읽기 전용에서 컨테이너에 볼륨에 대한 읽기 전용 액세스가 부여되는지 선택합니다.

  14. (선택 사항) AWS Distro for OpenTelemetry 통합을 사용하여 애플리케이션 추적 및 지표 수집 설정을 구성하려면 모니터링을 확장하고 지표 수집 사용을 선택하여 작업에 대한 지표를 수집하고 Amazon CloudWatch 또는 Amazon Managed Service for Prometheus로 전송합니다. 이 옵션을 선택하면 Amazon ECS는 애플리케이션 지표를 전송하도록 미리 구성된 AWS Distro for OpenTelemetry 컨테이너 사이드카를 생성합니다. 자세한 내용은 애플리케이션 지표를 사용하여 Amazon ECS 애플리케이션 성능 상호 연관 단원을 참조하십시오.

    1. Amazon CloudWatch를 선택하면 사용자 정의 애플리케이션 지표가 CloudWatch에 사용자 정의 지표로 라우팅됩니다. 자세한 정보는 Amazon CloudWatch로 애플리케이션 지표 내보내기을 참조하세요.

      중요

      Amazon CloudWatch로 애플리케이션 지표를 내보낼 때 필요한 권한이 있는 태스크 IAM 역할이 태스크 정의에 필요합니다. 자세한 정보는 AWS Distro for OpenTelemetry와 Amazon CloudWatch 통합에 필요한 IAM 권한을 참조하세요.

    2. Amazon Managed Service for Prometheus(Prometheus 라이브러리 계측)(Amazon Managed Service for Prometheus (Prometheus libraries instrumentation))를 선택하면 태스크 수준 CPU, 메모리, 네트워크 및 스토리지 지표와 사용자 정의 애플리케이션 지표가 Amazon Managed Service for Prometheus로 라우팅됩니다. 작업 공간 원격 쓰기 엔드포인트에서 Prometheus 작업 영역에 대한 원격 쓰기 엔드포인트 URL을 입력합니다. 스크레이핑 대상에서 AWS Distro for OpenTelemetry 수집기가 지표 데이터를 스크레이핑하는 데 사용할 수 있는 호스트와 포트를 입력합니다. 자세한 내용은 Amazon Managed Service for Prometheus로 애플리케이션 지표 내보내기 단원을 참조하십시오.

      중요

      Amazon Managed Service for Prometheus로 애플리케이션 지표를 내보낼 때 필요한 권한이 있는 태스크 IAM 역할이 태스크 정의에 필요합니다. 자세한 내용은 AWS Distro for OpenTelemetry와 Amazon Managed Service for Prometheus 통합에 필요한 IAM 권한 단원을 참조하십시오.

    3. Amazon Managed Service for Prometheus(OpenTelemetry 계측)를 선택하면 작업 수준 CPU, 메모리, 네트워크 및 스토리지 지표와 사용자 정의 애플리케이션 지표가 Amazon Managed Service for Prometheus로 라우팅됩니다. 작업 공간 원격 쓰기 엔드포인트에서 Prometheus 작업 영역에 대한 원격 쓰기 엔드포인트 URL을 입력합니다. 자세한 내용은 Amazon Managed Service for Prometheus로 애플리케이션 지표 내보내기 단원을 참조하십시오.

      중요

      Amazon Managed Service for Prometheus로 애플리케이션 지표를 내보낼 때 필요한 권한이 있는 태스크 IAM 역할이 태스크 정의에 필요합니다. 자세한 정보는 AWS Distro for OpenTelemetry와 Amazon Managed Service for Prometheus 통합에 필요한 IAM 권한을 참조하세요.

  15. (선택 사항) 태그(Tags) 섹션을 확장하여 태그를 키-값 페어로 태스크 정의에 추가합니다.

    • [태그 추가] 태그 추가를 선택하고 다음을 수행합니다.

      • 에서 키 이름을 입력합니다.

      • 에 키 값을 입력합니다.

    • [태그 제거] 태그 옆에 있는 태그 제거를 선택합니다.

  16. 생성을 선택하여 작업 정의를 등록합니다.

Amazon ECS console JSON editor
  1. https://console.aws.amazon.com/ecs/v2에서 콘솔을 엽니다.

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

  3. 새 작업 정의 생성 메뉴에서 JSON으로 새 작업 정의 생성을 선택합니다.

  4. JSON 편집기 상자에서 JSON 파일을 편집합니다.

    JSON은 에 지정된 유효성 검사를 통과해야JSON 검사기 합니다.

  5. 생성(Create)을 선택합니다.