서비스 자동 조정 - Amazon Elastic Container Service

서비스 자동 조정

자동 조정은 Amazon ECS 서비스에서 원하는 작업 수를 자동으로 늘리거나 줄이는 기능입니다. Amazon ECS는 Application Auto Scaling 서비스를 활용하여 이 기능을 제공합니다. 자세한 내용은 Application Auto Scaling 사용 설명서를 참조하십시오.

Amazon ECS는 서비스의 평균 CPU 및 메모리 사용량과 함께 CloudWatch 지표를 게시합니다. 자세한 내용은 서비스 사용률 단원을 참조하십시오. 이와 함께 다른 CloudWatch 지표를 사용하여 피크 시간에는 서비스를 확장(더 많은 작업을 추가)하여 높은 수요를 처리하고 사용률이 낮은 기간에는 서비스를 축소(더 적은 작업을 실행)하여 비용을 절감할 수 있습니다.

Amazon ECS 서비스 자동 조정은 다음과 같은 자동 조정 유형을 지원합니다.

  • 대상 추적 조정 정책 - 특정 지표에 대한 대상 값에 따라 서비스가 실행하는 작업의 수를 늘리거나 줄입니다. 이 과정은 온도 조절기를 사용하여 집안 온도를 유지하는 방법과 비슷합니다. 사용자가 온도를 선택하면 나머지는 모두 온도 조절기에서 자동으로 수행됩니다.

  • 단계 조정 정책 - 일련의 조정 조절(경보 위반의 크기에 따라 달라지는 단계 조절)에 따라 서비스가 실행하는 작업의 수를 늘리거나 줄입니다.

  • 예약된 조정 - 날짜 및 시간을 기준으로 서비스가 실행하는 작업 수를 늘리거나 줄입니다.

서비스 자동 조정에 필요한IAM 권한

서비스 자동 조정는 Amazon ECS, CloudWatch 및 Application Auto Scaling API의 조합으로 가능합니다. 서비스는 Amazon ECS를 사용하여 생성 및 업데이트되고, 경보는 CloudWatch를 사용하여 생성되며, 조정 정책은 Application Auto Scaling을 사용하여 생성됩니다.

서비스 생성 및 업데이트에 대한 표준 IAM 권한 및 외에도 서비스 자동 조정 설정에 액세스하는 IAM 사용자는 동적 조정을 지원하는 서비스에 대한 적절한 권한이 있어야 합니다. IAM 사용자는 다음 정책 예시에 표시된 작업을 사용할 수 있는 권한이 있어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:*", "ecs:DescribeServices", "ecs:UpdateService", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "cloudwatch:DeleteAlarms", "cloudwatch:DescribeAlarmHistory", "cloudwatch:DescribeAlarms", "cloudwatch:DescribeAlarmsForMetric", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "cloudwatch:PutMetricAlarm", "cloudwatch:DisableAlarmActions", "cloudwatch:EnableAlarmActions", "iam:CreateServiceLinkedRole", "sns:CreateTopic", "sns:Subscribe", "sns:Get*", "sns:List*" ], "Resource": [ "*" ] } ] }

서비스 생성 예제서비스 업데이트 예제 IAM 정책 예제는 IAM 사용자가 AWS Management 콘솔에서 서비스 자동 조정를 사용하는 데 필요한 권한을 보여 줍니다.

Application Auto Scaling 서비스에는 Amazon ECS 서비스 및 CloudWatch 경보를 설명할 권한과 사용자 대신 원하는 서비스 수를 수정할 권한이 필요합니다. ECS 서비스에 대해 자동 조정을 활성화하면 AWSServiceRoleForApplicationAutoScaling_ECSService라는 서비스 연결 역할이 생성됩니다. 이 서비스 연결 역할은 정책에 대한 경보를 설명하고, 서비스의 현재 실행 중인 작업 수를 모니터링하고, 원하는 서비스 수를 수정할 수 있는 Application Auto Scaling 권한을 부여합니다. Application Auto Scaling에 대한 원래의 관리형 Amazon ECS 역할은 ecsAutoscaleRole이지만 더 이상 필요하지 않습니다. 서비스 연결 역할은 Application Auto Scaling의 기본 역할입니다. 자세한 내용은 Application Auto Scaling 사용 설명서서비스 연결 역할 단원을 참조하십시오.

Amazon ECS에서 CloudWatch 지표를 활성화하기 전에 Amazon ECS 컨테이너 인스턴스 역할을 생성한 경우 ecs:StartTelemetrySession 권한을 추가해야 할 수 있습니다. 자세한 내용은 CloudWatch 지표 활성화 단원을 참조하십시오.