콘솔을 사용한 Amazon ECS 태스크 정의 생성
콘솔을 사용한 Amazon ECS 태스크 정의 생성
태스크 정의는 태스크나 서비스로 실행하는 애플리케이션을 정의하기 위해 만들어요. 외부 실행 유형의 태스크 정의를 만들 때는 JSON 편집기를 사용해 태스크 정의를 만들고 requiresCompatibilities 파라미터를 EXTERNAL로 설정해야 해요. 콘솔 경험을 사용하거나 JSON 파일을 지정해 태스크 정의를 만들 수 있어요. JSON 편집기를 사용할 때 Amazon Q가 권장 사항을 제공하게 할 수 있어요. 자세한 내용은 Using Amazon Q Developer to provide task definition recommendations in the Amazon ECS console을 참고하세요.
출처: 문서
본문
JSON 검증 (JSON validation)
Amazon ECS 콘솔 JSON 편집기는 JSON 파일에서 다음을 검증해요.
- 파일이 유효한 JSON 파일이에요.
- 파일에 불필요한 키가 없어요.
- 파일에
familyName파라미터가 있어요. containerDefinitions아래에 항목이 하나 이상 있어요.
CloudFormation 스택 (CloudFormation stacks)
다음 동작은 2023년 1월 12일 이전에 새 Amazon ECS 콘솔에서 생성된 태스크 정의에 적용돼요. 태스크 정의를 만들 때 Amazon ECS 콘솔은 ECS-Console-V2-TaskDefinition-로 시작하는 이름의 CloudFormation 스택을 자동으로 만들어요. AWS CLI 또는 AWS SDK로 태스크 정의를 등록 해제했다면 태스크 정의 스택을 수동으로 삭제해야 해요. 자세한 내용은 CloudFormation User Guide의 Deleting a stack을 참고하세요. 2023년 1월 12일 이후에 생성된 태스크 정의는 CloudFormation 스택이 자동으로 생성되지 않아요.
절차 (Procedure)
Amazon ECS 콘솔
- 콘솔을 https://console.aws.amazon.com/ecs/v2 에서 엽니다.
- 탐색 창에서 Task definitions를 선택합니다.
- Create new task definition 메뉴에서 Create new task definition을 선택합니다.
- Task definition family에 태스크 정의의 고유한 이름을 지정합니다.
- Launch type에서 애플리케이션 환경을 선택합니다. 콘솔 기본값은 AWS Fargate(서버리스)예요. Amazon ECS는 이 값을 사용해 태스크 정의 파라미터가 인프라 유형에 유효한지 검증해요.
- Operating system/Architecture에서 태스크의 운영 체제와 CPU 아키텍처를 선택합니다.
- 태스크를 64비트 ARM 아키텍처에서 실행하려면
Linux/ARM64를 선택합니다. 자세한 내용은Runtime platform을 참고하세요. - AWS Fargate 태스크를 Windows 컨테이너에서 실행하려면 지원되는 Windows 운영 체제를 선택합니다. 자세한 내용은
Operating Systems and architectures를 참고하세요.
- 태스크를 64비트 ARM 아키텍처에서 실행하려면
- Task size에서 태스크에 예약할 CPU와 메모리 값을 선택합니다. CPU 값은 vCPU로, 메모리는 GB로 지정됩니다.
Fargate에서 호스팅되는 태스크의 경우 다음 표는 유효한 CPU와 메모리 조합을 보여 줘요.
| CPU 값 | 메모리 값 | AWS Fargate 지원 운영 체제 |
|---|---|---|
| 256 (.25 vCPU) | 512 MiB, 1 GB, 2 GB | Linux |
| 512 (.5 vCPU) | 1 GB, 2 GB, 3 GB, 4 GB | Linux |
| 1024 (1 vCPU) | 2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB | Linux, Windows |
| 2048 (2 vCPU) | 4 GB에서 16 GB 사이 (1 GB 단위) | Linux, Windows |
| 4096 (4 vCPU) | 8 GB에서 30 GB 사이 (1 GB 단위) | Linux, Windows |
| 8192 (8 vCPU) 참고: 이 옵션은 Linux 플랫폼 1.4.0 이상이 필요해요. | 16 GB에서 60 GB 사이 (4 GB 단위) | Linux |
| 16384 (16 vCPU) 참고: 이 옵션은 Linux 플랫폼 1.4.0 이상이 필요해요. | 32 GB에서 120 GB 사이 (8 GB 단위) | Linux |
| 32768 (32 vCPU) 참고: 이 옵션은 Linux 플랫폼 1.4.0 이상이 필요해요. | 60 GB, 120 GB, 244 GB | Linux |
EC2 인스턴스나 외부 인스턴스를 사용하는 태스크의 경우 지원되는 태스크 CPU 값은 128 CPU units(0.125 vCPU)에서 196608 CPU units(192 vCPU) 사이예요. 메모리 값을 GB로 지정하려면 값 뒤에 GB를 입력하세요. 예를 들어 Memory 값을 3GB로 설정하려면 3GB를 입력합니다. 참고: 태스크 수준 CPU와 메모리 파라미터는 Windows 컨테이너에서 무시돼요.
- Network mode에서 사용할 네트워크 모드를 선택합니다. 기본값은
awsvpc모드예요. 자세한 내용은Amazon ECS task networking을 참고하세요.bridge를 선택하면 Port mappings 아래의 Host port에 컨테이너를 위해 예약할 컨테이너 인스턴스의 포트 번호를 입력합니다. - (선택 사항) Task roles 섹션을 펼쳐 태스크의 AWS Identity and Access Management(IAM) 역할을 구성합니다.
- Task role에서 태스크에 할당할 IAM 역할을 선택합니다. 태스크 IAM 역할은 태스크의 컨테이너가 AWS API 작업을 호출할 수 있는 권한을 제공해요.
- Task execution role에서 역할을 선택합니다. 태스크 실행 역할을 사용할 시기에 대한 정보는
Amazon ECS task execution IAM role을 참고하세요. 역할이 필요 없다면None을 선택합니다.
- (선택 사항) Task placement 섹션을 펼쳐 배치 제약을 추가합니다. 태스크 배치 제약을 사용하면 내장 또는 사용자 지정 속성을 사용해 태스크 배치에 사용되는 컨테이너 인스턴스를 필터링할 수 있어요.
- (선택 사항) Fault injection 섹션을 펼쳐 장애 주입을 활성화합니다. 장애 주입을 사용하면 특정 손상 시나리오에 애플리케이션이 어떻게 반응하는지 테스트할 수 있어요.
- 태스크 정의에서 정의할 각 컨테이너에 대해 다음 단계를 완료합니다.
- Name에 컨테이너 이름을 입력합니다.
- Image URI에 컨테이너를 시작하는 데 사용할 이미지를 입력합니다. Amazon ECR Public Gallery 레지스트리의 이미지는 Amazon ECR Public 레지스트리 이름만 사용해 지정할 수 있어요. 예를 들어
public.ecr.aws/ecs/amazon-ecs-agent:latest가 지정되면 Amazon ECR Public Gallery에 호스팅된 Amazon Linux 컨테이너가 사용돼요. 다른 모든 저장소의 경우repository-url/image:tag또는repository-url/image@digest형식으로 저장소를 지정하세요. - 이미지가 Amazon ECR 외부의 프라이빗 레지스트리에 있다면 Private registry 아래에서 Private registry authentication을 켜고 Secrets Manager ARN or name에 시크릿의 Amazon Resource Name(ARN)을 입력합니다.
- Essential container에서 태스크 정의에 두 개 이상의 컨테이너가 정의되어 있다면 컨테이너를 필수로 간주할지 지정할 수 있어요. 컨테이너가
Essential로 표시되면 컨테이너가 중지될 때 태스크가 중지돼요. 각 태스크 정의에는 필수 컨테이너가 하나 이상 있어야 해요. - 포트 매핑은 컨테이너가 호스트의 포트에 접근해 트래픽을 보내거나 받을 수 있게 해 줘요. Port mappings 아래에서 다음 중 하나를 수행합니다.
awsvpc네트워크 모드를 사용할 때 Container port와 Protocol에서 컨테이너에 사용할 포트 매핑을 선택합니다.bridge네트워크 모드를 사용할 때 Container port와 Protocol에서 컨테이너에 사용할 포트 매핑을 선택합니다.- 추가 컨테이너 포트 매핑을 지정하려면 Add more port mappings을 선택합니다.
- 컨테이너에 루트 파일 시스템에 대한 읽기 전용 접근을 주려면 Read only root file system에서
Read only를 선택합니다. - (선택 사항) 태스크 수준 값과 다른 컨테이너 수준 CPU, GPU, 메모리 한도를 정의하려면 Resource allocation limits 아래에서 다음을 수행합니다.
- CPU에 Amazon ECS 컨테이너 에이전트가 컨테이너에 예약하는 CPU units 수를 입력합니다.
- GPU에 컨테이너 인스턴스의 GPU units 수를 입력합니다. GPU 지원 Amazon EC2 인스턴스는 GPU마다 1개의 GPU unit을 가져요. 자세한 내용은
Amazon ECS task definitions for GPU workloads를 참고하세요. - Memory hard limit에 컨테이너에 제공할 메모리 양(GB)을 입력합니다. 컨테이너가 하드 한도를 초과하려고 하면 컨테이너가 중지돼요. Docker 20.10.0 이상 데몬은 컨테이너에 최소 6 MiB의 메모리를 예약하므로 컨테이너에 6 MiB 미만의 메모리를 지정하지 마세요. Docker 19.03.13-ce 이하 데몬은 컨테이너에 최소 4 MiB의 메모리를 예약하므로 컨테이너에 4 MiB 미만의 메모리를 지정하지 마세요.
- Memory soft limit에 컨테이너에 예약할 메모리의 소프트 한도(GB)를 입력합니다. 시스템 메모리가 경합 중일 때 Docker는 컨테이너 메모리를 이 소프트 한도로 유지하려고 시도해요. 태스크 수준 메모리를 지정하지 않았다면 Memory hard limit과 Memory soft limit 중 하나 또는 둘 다에 0이 아닌 정수를 지정해야 해요. 둘 다 지정하면 Memory hard limit이 Memory soft limit보다 커야 해요. 이 기능은 Windows 컨테이너에서 지원되지 않아요.
- (선택 사항) Environment variables 섹션을 펼쳐 컨테이너에 주입할 환경 변수를 지정합니다. 키-값 쌍으로 개별적으로 지정하거나 Amazon S3 버킷에 호스팅된 환경 변수 파일을 지정해 일괄적으로 지정할 수 있어요. 환경 변수 파일 형식에 대한 정보는
Pass an individual environment variable to an Amazon ECS container을 참고하세요. 시크릿 저장용 환경 변수를 지정할 때 Key에 시크릿 이름을 입력하고 ValueFrom에 Systems Manager Parameter Store 시크릿 또는 Secrets Manager 시크릿의 전체 ARN을 입력합니다. - (선택 사항) 로그 구성을 지정하려면 Use log collection 옵션을 선택합니다. 사용 가능한 각 로그 드라이버마다 지정할 로그 드라이버 옵션이 있어요. 기본 옵션은 컨테이너 로그를 Amazon CloudWatch Logs로 보내요. 다른 로그 드라이버 옵션은 AWS FireLens를 사용해 구성돼요. 자세한 내용은
Send Amazon ECS logs to an AWS service or AWS Partner를 참고하세요. 다음은 각 컨테이너 로그 대상을 자세히 설명해요.- Amazon CloudWatch – 태스크가 컨테이너 로그를 CloudWatch Logs로 보내도록 구성합니다. 사용자를 대신해 CloudWatch 로그 그룹을 만드는 기본 로그 드라이버 옵션이 제공돼요. 다른 로그 그룹 이름을 지정하려면 드라이버 옵션 값을 변경합니다.
- Export logs to Splunk – 태스크가 원격 서비스로 로그를 보내는 Splunk 드라이버로 컨테이너 로그를 보내도록 구성합니다. Splunk 웹 서비스의 URL을 입력해야 해요. Splunk 토큰은 민감한 데이터로 취급될 수 있으므로 시크릿 옵션으로 지정돼요.
- Export logs to Amazon Data Firehose – 태스크가 컨테이너 로그를 Firehose로 보내도록 구성합니다. 로그를 Firehose 전달 스트림으로 보내는 기본 로그 드라이버 옵션이 제공돼요. 다른 전달 스트림 이름을 지정하려면 드라이버 옵션 값을 변경합니다.
- Export logs to Amazon Kinesis Data Streams – 태스크가 컨테이너 로그를 Kinesis Data Streams로 보내도록 구성합니다. 로그를 Kinesis Data Streams 스트림으로 보내는 기본 로그 드라이버 옵션이 제공돼요. 다른 스트림 이름을 지정하려면 드라이버 옵션 값을 변경합니다.
- Export logs to Amazon OpenSearch Service – 태스크가 컨테이너 로그를 OpenSearch Service 도메인으로 보내도록 구성합니다. 로그 드라이버 옵션을 제공해야 해요.
- Export logs to Amazon S3 – 태스크가 컨테이너 로그를 Amazon S3 버킷으로 보내도록 구성합니다. 기본 로그 드라이버 옵션이 제공되지만 유효한 Amazon S3 버킷 이름을 지정해야 해요.
- (선택 사항) 추가 컨테이너 파라미터를 구성합니다.
| 이 옵션을 구성하려면 | 이렇게 하세요 |
|---|---|
| 재시작 정책 (Restart policy) | 이 옵션은 컨테이너가 종료될 때 다시 시작하도록 재시작 정책을 정의해요. Restart policy를 펼치고 다음 항목을 구성합니다. 컨테이너에 재시작 정책을 활성화하려면 Enable Restart policy를 켭니다. Ignored exit codes에 쉼표로 구분된 정수 컨테이너 종료 코드 목록을 지정합니다. 컨테이너가 지정된 종료 코드 중 하나로 종료되면 Amazon ECS는 컨테이너를 다시 시작하려고 시도하지 않아요. 아무것도 지정하지 않으면 Amazon ECS는 종료 코드를 무시하지 않아요. Attempt reset period에 종료 발생 시 재시작을 시도할 수 있기 전에 컨테이너가 실행되어야 하는 시간(초)인 정수 기간을 지정합니다. Amazon ECS는 Attempt reset period 초마다 한 번만 컨테이너 재시작을 시도할 수 있어요. 아무것도 지정하지 않으면 재시작을 시도할 수 있기 전에 컨테이너가 300초 동안 실행되어야 해요. |
| HealthCheck | 이 옵션은 컨테이너가 정상인지 판단하는 명령이에요. 자세한 내용은 Determine Amazon ECS task health using container health checks을 참고하세요. HealthCheck를 펼치고 다음 항목을 구성합니다. Command에 쉼표로 구분된 명령 목록을 입력합니다. CMD로 시작하면 명령 인수를 직접 실행하고, CMD-SHELL로 시작하면 컨테이너의 기본 셸로 명령을 실행할 수 있어요. 둘 다 지정하지 않으면 CMD가 사용돼요. Interval에 각 상태 검사 사이의 초 수를 입력합니다. 유효한 값은 5에서 30 사이예요. Timeout에 상태 검사가 실패로 간주되기 전에 성공을 기다리는 시간(초)을 입력합니다. 유효한 값은 2에서 60 사이예요. Start period에 상태 검사 명령이 실행되기 전에 컨테이너가 부트스트랩될 때까지 기다리는 시간(초)을 입력합니다. 유효한 값은 0에서 300 사이예요. Retries에 실패 시 상태 검사 명령을 재시도할 횟수를 입력합니다. 유효한 값은 1에서 10 사이예요. |
| 시작 의존성 순서 (Startup dependency ordering) | 이 옵션은 컨테이너 시작과 종료의 의존성을 정의해요. 컨테이너는 여러 의존성을 가질 수 있어요. Startup dependency ordering을 펼치고 다음을 구성합니다. Add container dependency를 선택합니다. Container에서 컨테이너를 선택합니다. Condition에서 시작 의존성 조건을 선택합니다. 추가 의존성을 추가하려면 Add container dependency를 선택합니다. |
| 컨테이너 시간 초과 (Container timeouts) | 이 옵션은 컨테이너를 언제 시작하고 중지할지 결정해요. Container timeouts를 펼치고 다음을 구성합니다. 컨테이너의 의존성 해결을 포기하기 전에 기다리는 시간을 구성하려면 Start timeout에 초 수를 입력합니다. 컨테이너가 스스로 정상 종료되지 않으면 중지되기 전에 기다리는 시간을 구성하려면 Stop timeout에 초 수를 입력합니다. |
| 컨테이너 네트워크 설정 (Container network settings) | 이 옵션은 컨테이너 내에서 네트워킹을 사용할지 결정해요. Container network settings를 펼치고 다음을 구성합니다. 컨테이너 네트워킹을 비활성화하려면 Turn off networking을 선택합니다. 컨테이너에 제공되는 DNS 서버 IP 주소를 구성하려면 DNS servers에 각 서버의 IP 주소를 별도 줄에 입력합니다. 컨테이너에 제공되는 정규화되지 않은 호스트 이름을 검색할 DNS 도메인을 구성하려면 DNS search domains에 각 도메인을 별도 줄에 입력합니다. 패턴은 ^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$예요. 컨테이너 호스트 이름을 구성하려면 Host name에 컨테이너 호스트 이름을 입력합니다. 컨테이너의 /etc/hosts 파일에 추가될 호스트 이름과 IP 주소 매핑을 추가하려면 Add extra host를 선택한 다음 Hostname과 IP address에 호스트 이름과 IP 주소를 입력합니다. |
| Docker 구성 (Docker configuration) | 이 옵션은 Dockerfile의 값을 재정의해요. Docker configuration을 펼치고 다음 항목을 구성합니다. Command에 컨테이너의 실행 가능한 명령을 입력합니다. 이 파라미터는 Docker Remote API의 Create a container 섹션의 Cmd와 docker run의 COMMAND 옵션에 매핑돼요. 이 파라미터는 Dockerfile의 CMD 지시문을 재정의해요. Entry point에 컨테이너에 전달되는 Docker ENTRYPOINT를 입력합니다. 이 파라미터는 Docker Remote API의 Create a container 섹션의 Entrypoint와 docker run의 --entrypoint 옵션에 매핑돼요. 이 파라미터는 Dockerfile의 ENTRYPOINT 지시문을 재정의해요. Working directory에 컨테이너가 제공된 엔트리 포인트와 명령 지시문을 실행할 디렉터리를 입력합니다. 이 파라미터는 Docker Remote API의 Create a container 섹션의 WorkingDir와 docker run의 --workdir 옵션에 매핑돼요. 이 파라미터는 Dockerfile의 WORKDIR 지시문을 재정의해요. |
| 리소스 한도 (Resource limits, Ulimits) | 이 값은 운영 체제의 기본 리소스 할당량 설정을 덮어써요. 이 파라미터는 Docker Remote API의 Create a container 섹션의 Ulimits와 docker run의 --ulimit 옵션에 매핑돼요. **Resource limits (ulimits)**를 펼치고 Add ulimit을 선택합니다. Limit name에서 한도를 선택합니다. 그런 다음 Soft limit과 Hard limit에 값을 입력합니다. 추가 ulimit을 추가하려면 Add ulimit을 선택합니다. |
| Docker 라벨 (Docker labels) | 이 옵션은 컨테이너에 메타데이터를 추가해요. 이 파라미터는 Docker Remote API의 Create a container 섹션의 Labels와 docker run의 --label 옵션에 매핑돼요. Docker labels를 펼치고 Add key value pair를 선택한 다음 Key와 Value를 입력합니다. 추가 Docker 라벨을 추가하려면 Add key value pair를 선택합니다. |
- (선택 사항) 태스크 정의에 추가 컨테이너를 추가하려면 Add more containers를 선택합니다.
- (선택 사항) Storage 섹션은 Fargate에서 호스팅되는 태스크의 임시 스토리지 양을 늘리는 데 사용돼요. 이 섹션을 태스크의 데이터 볼륨 구성을 추가하는 데도 사용할 수 있어요.
- Fargate 태스크의 기본값인 20 GiB를 넘어 사용 가능한 임시 스토리지를 확장하려면 Amount에 최대 200 GiB의 값을 입력합니다.
- (선택 사항) 태스크 정의에 데이터 볼륨 구성을 추가하려면 Add volume을 선택하고 다음 단계를 따릅니다.
- Volume name에 데이터 볼륨 이름을 입력합니다. 데이터 볼륨 이름은 컨테이너 마운트 지점을 만들 때 사용돼요.
- Volume configuration에서 태스크 정의를 만들 때 볼륨을 구성할지 배포 중에 구성할지 선택합니다. 참고: 태스크 정의를 만들 때 구성할 수 있는 볼륨은 Bind mount, Docker, Amazon EFS, Amazon FSx for Windows File Server예요. 태스크를 실행하거나 서비스를 만들거나 업데이트할 때 배포에서 구성할 수 있는 볼륨은 Amazon EBS예요.
- Volume type에서 선택한 구성 유형과 호환되는 볼륨 유형을 선택한 다음 볼륨 유형을 구성합니다.
| 볼륨 유형 | 단계 |
|---|---|
| Bind mount | Add mount point를 선택하고 다음을 구성합니다. Container에서 마운트 지점의 컨테이너를 선택합니다. Source volume에서 컨테이너에 마운트할 데이터 볼륨을 선택합니다. Container path에 볼륨을 마운트할 컨테이너의 경로를 입력합니다. Read only에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다. 추가 마운트 지점을 추가하려면 Add mount point를 선택합니다. |
| EFS | File system ID에서 Amazon EFS 파일 시스템 ID를 선택합니다. (선택 사항) Root directory에 호스트 내부의 루트 디렉터리로 마운트할 Amazon EFS 파일 시스템 내의 디렉터리를 입력합니다. 이 파라미터를 생략하면 Amazon EFS 볼륨의 루트가 사용돼요. EFS 액세스 포인트를 사용할 계획이라면 이 필드를 비워 두세요. (선택 사항) Access point에서 사용할 액세스 포인트 ID를 선택합니다. (선택 사항) Amazon EFS 파일 시스템과 Amazon ECS 호스트 사이의 데이터를 암호화하거나 볼륨을 마운트할 때 태스크 실행 역할을 사용하려면 Advanced configurations를 선택하고 다음을 구성합니다. Amazon EFS 파일 시스템과 Amazon ECS 호스트 사이의 데이터를 암호화하려면 Transit encryption을 선택하고 Port에 Amazon ECS 호스트와 Amazon EFS 서버 사이에서 암호화된 데이터를 보낼 때 사용할 포트를 입력합니다. 전송 암호화 포트를 지정하지 않으면 Amazon EFS 마운트 헬퍼가 사용하는 포트 선택 전략을 사용해요. 자세한 내용은 Amazon Elastic File System User Guide의 EFS Mount Helper를 참고하세요. Amazon EFS 파일 시스템을 마운트할 때 태스크 정의에 정의된 Amazon ECS 태스크 IAM 역할을 사용하려면 IAM authorization을 선택합니다. Add mount point를 선택하고 다음을 구성합니다. Container에서 마운트 지점의 컨테이너를 선택합니다. Source volume에서 컨테이너에 마운트할 데이터 볼륨을 선택합니다. Container path에 볼륨을 마운트할 컨테이너의 경로를 입력합니다. Read only에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다. 추가 마운트 지점을 추가하려면 Add mount point를 선택합니다. |
| Docker | Driver에 Docker 볼륨 구성을 입력합니다. Windows 컨테이너는 local 드라이버 사용만 지원해요. 바인드 마운트를 사용하려면 host를 지정합니다. Scope에서 볼륨 수명 주기를 선택합니다. 태스크가 시작되고 중지될 때 수명 주기가 끝나게 하려면 Task를 선택합니다. 태스크가 중지된 후 볼륨이 유지되게 하려면 Shared를 선택합니다. Add mount point를 선택하고 다음을 구성합니다. Container에서 마운트 지점의 컨테이너를 선택합니다. Source volume에서 컨테이너에 마운트할 데이터 볼륨을 선택합니다. Container path에 볼륨을 마운트할 컨테이너의 경로를 입력합니다. Read only에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다. 추가 마운트 지점을 추가하려면 Add mount point를 선택합니다. |
| FSx for Windows File Server | File system ID에서 FSx for Windows File Server 파일 시스템 ID를 선택합니다. Root directory에 호스트 내부의 루트 디렉터리로 마운트할 FSx for Windows File Server 파일 시스템 내의 디렉터리를 입력합니다. Credential parameter에서 자격 증명이 저장되는 방식을 선택합니다. AWS Secrets Manager를 사용하려면 Secrets Manager 시크릿의 Amazon Resource Name(ARN)을 입력합니다. AWS Systems Manager를 사용하려면 Systems Manager 파라미터의 Amazon Resource Name(ARN)을 입력합니다. Domain에 AWS Directory Service for Microsoft Active Directory(AWS Managed Microsoft AD) 디렉터리 또는 자체 호스팅 EC2 Active Directory가 호스팅하는 정규화된 도메인 이름을 입력합니다. Add mount point를 선택하고 다음을 구성합니다. Container에서 마운트 지점의 컨테이너를 선택합니다. Source volume에서 컨테이너에 마운트할 데이터 볼륨을 선택합니다. Container path에 볼륨을 마운트할 컨테이너의 경로를 입력합니다. Read only에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다. 추가 마운트 지점을 추가하려면 Add mount point를 선택합니다. |
| Amazon EBS | Add mount point를 선택하고 다음을 구성합니다. Container에서 마운트 지점의 컨테이너를 선택합니다. Source volume에서 컨테이너에 마운트할 데이터 볼륨을 선택합니다. Container path에 볼륨을 마운트할 컨테이너의 경로를 입력합니다. Read only에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다. 추가 마운트 지점을 추가하려면 Add mount point를 선택합니다. |
- 다른 컨테이너에서 볼륨을 추가하려면 **Add volume from**을 선택하고 다음을 구성합니다. **Container**에서 컨테이너를 선택합니다. **Source**에서 마운트하려는 볼륨이 있는 컨테이너를 선택합니다. **Read only**에서 컨테이너에 볼륨에 대한 읽기 전용 접근이 있는지 선택합니다.
- (선택 사항) AWS Distro for OpenTelemetry 통합을 사용해 애플리케이션 추적 및 메트릭 수집 설정을 구성하려면 Monitoring을 펼친 다음 Use metric collection을 선택해 태스크의 메트릭을 수집하고 Amazon CloudWatch 또는 Amazon Managed Service for Prometheus로 보냅니다. 이 옵션을 선택하면 Amazon ECS가 애플리케이션 메트릭을 보내도록 사전 구성된 AWS Distro for OpenTelemetry 컨테이너 사이드카를 만들어요. 자세한 내용은
Correlate Amazon ECS application performance using application metrics을 참고하세요.- Amazon CloudWatch를 선택하면 사용자 지정 애플리케이션 메트릭이 사용자 지정 메트릭으로 CloudWatch에 라우팅돼요. 자세한 내용은
Exporting application metrics to Amazon CloudWatch를 참고하세요. 중요: 애플리케이션 메트릭을 Amazon CloudWatch로 내보낼 때 태스크 정의에는 필요한 권한이 있는 태스크 IAM 역할이 필요해요. 자세한 내용은Required IAM permissions for AWS Distro for OpenTelemetry integration with Amazon CloudWatch를 참고하세요. - Amazon Managed Service for Prometheus(Prometheus 라이브러리 계측)를 선택하면 태스크 수준 CPU, 메모리, 네트워크, 스토리지 메트릭과 사용자 지정 애플리케이션 메트릭이 Amazon Managed Service for Prometheus로 라우팅돼요. Workspace remote write endpoint에 Prometheus 워크스페이스의 remote write 엔드포인트 URL을 입력합니다. Scraping target에 AWS Distro for OpenTelemetry 수집기가 메트릭 데이터를 스크래핑하는 데 사용할 수 있는 호스트와 포트를 입력합니다. 자세한 내용은
Exporting application metrics to Amazon Managed Service for Prometheus를 참고하세요. 중요: 애플리케이션 메트릭을 Amazon Managed Service for Prometheus로 내보낼 때 태스크 정의에는 필요한 권한이 있는 태스크 IAM 역할이 필요해요. 자세한 내용은Required IAM permissions for AWS Distro for OpenTelemetry integration with Amazon Managed Service for Prometheus를 참고하세요. - Amazon Managed Service for Prometheus(OpenTelemetry 계측)를 선택하면 태스크 수준 CPU, 메모리, 네트워크, 스토리지 메트릭과 사용자 지정 애플리케이션 메트릭이 Amazon Managed Service for Prometheus로 라우팅돼요. Workspace remote write endpoint에 Prometheus 워크스페이스의 remote write 엔드포인트 URL을 입력합니다. 자세한 내용은
Exporting application metrics to Amazon Managed Service for Prometheus를 참고하세요. 중요: 애플리케이션 메트릭을 Amazon Managed Service for Prometheus로 내보낼 때 태스크 정의에는 필요한 권한이 있는 태스크 IAM 역할이 필요해요. 자세한 내용은Required IAM permissions for AWS Distro for OpenTelemetry integration with Amazon Managed Service for Prometheus를 참고하세요.
- Amazon CloudWatch를 선택하면 사용자 지정 애플리케이션 메트릭이 사용자 지정 메트릭으로 CloudWatch에 라우팅돼요. 자세한 내용은
- (선택 사항) Tags 섹션을 펼쳐 태스크 정의에 키-값 쌍으로 태그를 추가합니다.
- [태그 추가] Add tag를 선택하고 다음을 수행합니다. Key에 키 이름을 입력합니다. Value에 키 값을 입력합니다.
- [태그 제거] 태그 옆에서 Remove tag를 선택합니다.
- 태스크 정의를 등록하려면 Create를 선택합니다.
Amazon ECS 콘솔 JSON 편집기
- 콘솔을 https://console.aws.amazon.com/ecs/v2 에서 엽니다.
- 탐색 창에서 Task definitions를 선택합니다.
- Create new task definition 메뉴에서 Create new task definition with JSON을 선택합니다.
- JSON 편집기 상자에서 JSON 파일을 편집합니다. JSON은 JSON 검증 섹션에 지정된 검증 검사를 통과해야 해요.
- Create를 선택합니다.