Amazon ECS Express Mode 서비스 업데이트
Express Mode 서비스는 이러한 서비스 전반에서 네트워킹, 로드 밸런싱, Application Auto Scaling 및 오케스트레이션 변경을 위한 구성 가능한 옵션을 제공하여 서비스 업데이트 프로세스를 단순화합니다.
Express Mode 서비스를 업데이트하여 컨테이너 이미지를 수정하거나, 리소스 할당을 조정하거나, 구성 설정을 변경할 수 있습니다. 업데이트는 가용성을 유지 관리하기 위해 경보 기반 롤백 경보와 함께 카나리 배포를 사용하여 배포됩니다.
배포 동작
Express Mode 서비스는 기본적으로 카나리 배포를 사용하여 안전한 업데이트와 빠른 롤백을 보장합니다.
-
새 환경이 생성되고 변경 사항과 함께 작업이 배포됨
-
트래픽의 5%가 새 환경으로 이전됨
-
3분 이내에 2개의 데이터 포인트에서 4xx 및 5xx 오류 비율의 합계가 1을 초과하면 경보 기반 롤백이 트리거됨
-
상태 확인에서 새 태스크가 정상인지 확인함
-
베이크 소요 시간 3분 후 트래픽의 100%가 새 환경으로 이전됨
-
모니터링을 위한 베이크 소요 시간 3분이 지나면 이전 태스크가 점진적으로 중지되고 교체됨
자세한 내용은 Amazon ECS 카나리 배포를 참조하세요.
절차
https://console.aws.amazon.com/ecs/v2
에서 콘솔을 엽니다. -
탐색 창에서 클러스터를 선택합니다.
-
클러스터 페이지에서 Express Mode 서비스가 포함된 클러스터의 이름을 선택하세요.
-
클러스터 세부 정보 페이지에서 서비스 탭을 선택하세요.
-
Express Mode 서비스를 볼 수 있도록 필터를 구성하세요. 리소스 관리 유형 필터링에서 ECS를 선택하세요.
Express Mode 서비스에는 이름 옆에 Express 배지가 있습니다.
-
구성에서
-
애플리케이션에 사용할 이미지를 지정하세요. 이미지 URI에 이미지 URI를 입력하세요. Amazon ECR 이미지를 찾아보려면 ECR 이미지 찾아보기를 선택하고 다음을 수행하세요.
-
프라이빗 리포지토리에서 Amazon ECR 프라이빗 리포지토리를 선택하세요.
이미지에서 이미지를 선택하세요.
이미지를 식별하는 방법을 선택하세요. 다음으로 이미지 선택에서 다음 옵션 중 하나를 선택하세요.
-
AWS에서는 이미지 다이제스트를 선택할 것을 권장합니다.
-
태그를 사용하려면 이미지 태그를 선택한 다음 태그를 선택합니다.
-
-
-
프라이빗 레지스트리를 사용하려면 프라이빗 레지스트리를 선택하세요. 그런 다음 Secrets Manager ARN 또는 이름에 사전 조건에서 생성한 Secrets Manager ARN을 입력하세요.
-
태스크 실행 역할에서 역할을 선택하거나 새 역할을 생성하고 새로 고치세요. 추가 권한을 추가해야 할 경우 태스크 실행 역할을 업데이트할 수 있습니다.
-
-
추가 구성에서 서비스를 사용자 지정하세요.
-
컨테이너에서 다음을 수행하세요.
-
컨테이너 포트에 애플리케이션이 수신 대기하는 포트를 업데이트하세요(기본값은 80).
-
상태 확인 경로에 상태 확인 경로(예:
/health)를 업데이트하세요.
-
-
환경 변수에서 애플리케이션에 필요한 환경 변수에 대한 키 값 페어를 추가하세요.
-
키에 환경 변수의 이름을 입력하세요.
-
값 유형에서 환경 변수 또는 보안 암호를 선택하세요.
-
값 또는 시작 값에 값 또는 참조를 입력하세요.
-
필요한 경우 환경 변수를 더 추가하려면 환경 변수 추가를 선택하세요.
-
-
명령에 선택적으로 사용자 지정 명령을 입력하여 Docker CMD 명령을 재정의하세요.
-
태스크 역할에서는 컨테이너에서 실행 중인 애플리케이션에 권한을 부여하는 IAM 역할을 추가하세요. 그러면 애플리케이션이 AWS 서비스에 대한 API 직접 호출을 수행할 수 있습니다.
-
컴퓨팅에서 다음을 수행하세요.
-
CPU에서 태스크에 대한 vCPU 할당을 업데이트하세요(예: vCPU 1개).
-
메모리에서 태스크에 대한 메모리 할당을 업데이트하세요(예: 2GB).
-
-
오토 스케일링에서 다음을 수행하세요.
-
ECS 서비스 지표에서 조정할 지표(예: ECS 서비스 평균 메모리 사용률 또는 대상당 요청 수)를 선택하세요.
-
대상 값에 조정 대상을 입력하세요(예: 60 또는 1000).
-
최소 태스크 수 및 최대 태스크 수에서 조정 제한을 업데이트하세요.
-
-
로그에서 다음을 수행하세요.
-
Amazon CloudWatch 로그 그룹에서 애플리케이션 로그의 기본 로그 그룹 이름을 업데이트하세요. 이 경우 기존 로그가 이동되지 않지만 새 서비스 개정에서 로그 작성을 시작합니다.
-
Amazon CloudWatch 로그 스트림 접두사에 로그 스트림의 새 접두사를 입력하세요.
-
-
-
업데이트를 선택해 Express Mode 서비스를 업데이트하세요.
사용자 지정 작업 정의로 업데이트
taskDefinitionArn 파라미터를 지정하여 사용자 지정 작업 정의로 Express Mode 서비스를 업데이트할 수 있습니다. Express Mode는 작업 정의를 그대로 사용하고 나머지 인프라를 계속 관리합니다.
후속 업데이트에서 다음 중 하나를 수행할 수 있습니다.
작업 정의의 새 개정을 생성하고
taskDefinitionArn을 업데이트합니다. Express Mode는 다음 서비스 배포에 새 개정을 사용합니다.Express Mode 파라미터를 직접 업데이트합니다.
작업 정의와 관련이 없는 파라미터(예:
healthCheckPath,networkConfiguration, 또는scalingTarget)의 경우 Express Mode는 작업 정의를 수정하지 않고 변경 사항을 적용합니다.작업 정의와 관련된 파라미터(예:
primaryContainer또는cpu/memory을 사용하는 이미지, CPU 또는 메모리)의 경우 Express Mode는 다른 작업 수준 구성을 유지하면서 변경 사항이 포함된 새 관리형 작업 정의를 생성합니다.
사용자 지정 작업 정의로 업데이트(Amazon ECS 콘솔)
Amazon ECS 콘솔을 열고 Express Mode 서비스로 이동합니다.
서비스 업데이트 옆의 드롭다운 화살표를 선택한 다음 사용자 지정 작업 정의로 업데이트를 선택합니다.
작업 정의 패밀리에서 기존의 작업 정의 패밀리를 선택합니다. 작업 정의 링크를 선택하여 새 작업 정의를 생성합니다.
작업 정의 개정에서 사용할 개정을 선택하거나 최신 개정을 사용하기 위해 비워 둡니다.
(선택 사항) 추가 구성을 확장하여 상태 확인 경로, 네트워킹 또는 오토 스케일링 설정을 업데이트합니다.
업데이트를 선택합니다.
다음 AWS AWS CLI 명령은 사용자 지정 작업 정의로 Express Mode 서비스를 업데이트합니다.
aws ecs update-express-gateway-service \ --service-arn arn:aws:ecs:us-west-2:123456789012:service/default/my-service \ --task-definition-arn arn:aws:ecs:us-west-2:123456789012:task-definition/my-td:4
참고
CloudFormation를 사용하고 Express Mode 서비스에 taskDefinitionArn를 처음 추가하는 경우 먼저 스택을 재배포합니다. 이렇게 하면 롤백 호환성이 보장됩니다.