계정 설정으로 Amazon ECS 기능에 액세스하기

계정 설정으로 Amazon ECS 기능에 액세스하기

Amazon ECS 계정 설정으로 이동해 특정 기능을 옵트인(opt in) 또는 옵트아웃(opt out)할 수 있어요. 각 AWS Region에 대해 계정 수준 또는 특정 사용자나 역할에 대해 각 계정 설정을 옵트인하거나 옵트아웃할 수 있어요.

출처: 문서

본문

다음 중 하나가 관련된다면 특정 기능을 옵트인하거나 옵트아웃하고 싶을 수 있어요.

  • 사용자나 역할은 개별 계정에 대해 특정 계정 설정을 옵트인하거나 옵트아웃할 수 있어요.
  • 사용자나 역할은 계정의 모든 사용자에 대한 기본 옵트인 또는 옵트아웃 설정을 지정할 수 있어요.
  • 루트 사용자 또는 관리자 권한이 있는 사용자는 계정의 특정 역할이나 사용자에 대해 옵트인하거나 옵트아웃할 수 있어요. 루트 사용자에 대한 계정 설정이 변경되면 개별 계정 설정이 선택되지 않은 모든 사용자와 역할에 대한 기본값이 설정돼요.

참고 연합(federated) 사용자는 루트 사용자의 계정 설정을 가정하며 별도로 명시적 계정 설정을 지정할 수 없어요.

다음 계정 설정을 사용할 수 있어요. 각 계정 설정에 대해 별도로 옵트인하고 옵트아웃해야 해요.

리소스 이름(Resource name) 자세히 알아보기(Learn more)
containerInsights Container Insights
serviceLongArnFormat, taskLongArnFormat, containerInstanceLongArnFormat Amazon Resource Names (ARNs) and IDs
tagResourceAuthorization Tagging authorization
fargateFIPSMode AWS Fargate Federal Information Processing Standard (FIPS-140) compliance
fargateTaskRetirementWaitPeriod AWS Fargate task retirement wait time
fargateEventWindows AWS Fargate task retirements using EC2 event windows
guardDutyActivate Runtime Monitoring (Amazon GuardDuty integration)
dualStackIPv6 Dual stack IPv6 VPC
awsvpcTrunking Increase Linux container instance network interfaces
defaultLogDriverMode Default log driver mode

Amazon Resource Names(ARN) 및 ID Amazon ECS 리소스가 생성되면 각 리소스에 고유한 Amazon Resource Name(ARN)과 리소스 식별자(ID)가 할당돼요. 커맨드 라인 도구나 Amazon ECS API를 사용해 Amazon ECS를 작업한다면 특정 명령에 리소스 ARN 또는 ID가 필요해요. 예를 들어 stop-task AWS CLI 명령으로 태스크를 중지하려면 명령에 태스크 ARN 또는 ID를 지정해야 해요.

Amazon ECS는 Amazon ECS 서비스, 태스크 및 컨테이너 인스턴스에 대한 Amazon Resource Name(ARN) 및 리소스 ID의 새 형식을 도입했어요. 각 리소스 유형의 옵트인 상태가 리소스가 사용하는 Amazon Resource Name(ARN) 형식을 결정해요. 해당 리소스 유형에 대한 리소스 태깅 같은 기능을 사용하려면 새 ARN 형식에 옵트인해야 해요.

새 Amazon Resource Name(ARN) 및 리소스 ID 형식에 Region별로 옵트인하고 옵트아웃할 수 있어요. 현재 새로 생성되는 계정은 기본적으로 옵트인되어 있어요. 언제든지 새 Amazon Resource Name(ARN) 및 리소스 ID 형식에 옵트인하거나 옵트아웃할 수 있어요. 옵트인한 후 만드는 모든 새 리소스는 새 형식을 사용해요.

참고 리소스 ID는 생성된 후 변경되지 않아요. 따라서 새 형식에 옵트인하거나 옵트아웃해도 기존 리소스 ID에는 영향을 주지 않아요.

다음 섹션에서는 ARN 및 리소스 ID 형식이 어떻게 변경되는지 설명해요. 새 형식으로의 전환에 대한 자세한 내용은 Amazon Elastic Container Service FAQ 를 참고해 주세요.

Amazon Resource Name(ARN) 형식 일부 리소스에는 production 이라는 서비스 같은 사용자 친화적인 이름이 있어요. 다른 경우에는 Amazon Resource Name(ARN) 형식으로 리소스를 지정해야 해요. Amazon ECS 태스크, 서비스 및 컨테이너 인스턴스의 새 ARN 형식에는 클러스터 이름이 포함돼요. 새 ARN 형식에 옵트인하는 방법은 Modifying Amazon ECS account settings 를 참고해 주세요.

다음 표는 각 리소스 유형에 대한 현재 형식과 새 형식을 보여 줘요.

리소스 유형 ARN
컨테이너 인스턴스 현재: arn:aws:ecs: region : aws_account_id :container-instance/ container-instance-id
새로운: arn:aws:ecs: region : aws_account_id :container-instance/ cluster-name / container-instance-id
Amazon ECS 서비스 현재: arn:aws:ecs: region : aws_account_id :service/ service-name
새로운: arn:aws:ecs: region : aws_account_id :service/ cluster-name / service-name
Amazon ECS 태스크 현재: arn:aws:ecs: region : aws_account_id :task/ task-id
새로운: arn:aws:ecs: region : aws_account_id :task/ cluster-name / task-id

리소스 ID 길이 리소스 ID는 문자와 숫자의 고유한 조합 형태를 취해요. 새 리소스 ID 형식에는 Amazon ECS 태스크와 컨테이너 인스턴스에 대한 더 짧은 ID가 포함돼요. 현재 리소스 ID 형식은 36자 길이예요. 새 ID는 하이픈이 포함되지 않은 32자 형식이에요. 새 리소스 ID 형식에 옵트인하는 방법은 Modifying Amazon ECS account settings 를 참고해 주세요.

기본값은 enabled 입니다. 옵트인 후 시작된 리소스만 새 ARN 및 리소스 ID 형식을 받아요. 모든 기존 리소스는 영향을 받지 않아요. Amazon ECS 서비스와 태스크가 새 ARN 및 리소스 ID 형식으로 전환되려면 서비스 또는 태스크를 다시 만들어야 해요. 컨테이너 인스턴스를 새 ARN 및 리소스 ID 형식으로 전환하려면 컨테이너 인스턴스를 드레이닝하고 새 컨테이너 인스턴스를 시작해 클러스터에 등록해야 해요.

참고 Amazon ECS 서비스가 시작한 태스크는 서비스가 2018년 11월 16일 이후에 생성되고 서비스를 만든 사용자가 태스크에 대한 새 형식에 옵트인한 경우에만 새 ARN 및 리소스 ID 형식을 받을 수 있어요.

ARN 및 리소스 ID 형식 타임라인 Amazon ECS 리소스의 새 Amazon Resource Name(ARN) 및 리소스 ID 형식에 대한 옵트인 및 옵트아웃 기간은 2021년 4월 1일에 종료됐어요. 기본적으로 모든 계정은 새 형식에 옵트인되어 있어요. 생성된 모든 새 리소스는 새 형식을 받으며 더 이상 옵트아웃할 수 없어요.

Container Insights 2024년 12월 2일 AWS는 Amazon ECS용 Container Insights with enhanced observability를 출시했어요. 이 버전은 Fargate Amazon ECS Managed Instances 및 EC2를 사용하는 Amazon ECS 클러스터에 대한 향상된 관측성을 지원해요. Amazon ECS에서 Container Insights with enhanced observability를 구성한 후 Container Insights는 클러스터 수준에서 컨테이너 수준까지 환경의 세부 인프라 텔레메트리를 자동 수집하고 다양한 메트릭과 차원을 보여 주는 대시보드에 데이터를 표시해요. 그런 다음 Container Insights 콘솔의 기본 제공 대시보드를 사용해 컨테이너 상태와 성능을 더 잘 이해하고, 이상 징후를 식별해 문제를 더 빨리 완화할 수 있어요.

Container Insights 대신 Container Insights with enhanced observability를 사용할 것을 권장해요. 이는 컨테이너 환경에 대한 세부 가시성을 제공해 해결 평균 시간을 줄여 주기 때문이에요. 자세한 내용은 Amazon CloudWatch User Guide 의 Amazon ECS Container Insights with enhanced observability metrics 를 참고해 주세요.

containerInsights 계정 설정의 기본값은 disabled 입니다.

Container Insights with enhanced observability 다음 명령을 사용해 Container Insights with enhanced observability를 켜요. containerInsights 계정 설정을 enhanced 로 설정해 주세요.

aws ecs put-account-setting --name containerInsights --value enhanced

예제 출력

{
    "setting": {
        "name": "containerInsights",
        "value": "enhanced",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}

이 계정 설정을 설정한 후 모든 새 클러스터는 자동으로 Container Insights with enhanced observability를 사용해요. update-cluster-settings 명령을 사용해 기존 클러스터에 Container Insights with enhanced observability를 추가하거나 클러스터를 Container Insights에서 Container Insights with enhanced observability로 업그레이드해 주세요.

aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enhanced

콘솔을 사용해 Container Insights with enhanced observability를 구성할 수도 있어요. 자세한 내용은 Modifying Amazon ECS account settings 를 참고해 주세요.

Container Insights containerInsights 계정 설정을 enabled 로 설정하면 모든 새 클러스터에 기본적으로 Container Insights가 활성화돼요. update-cluster-settings 를 사용해 기존 클러스터를 수정할 수 있어요. Container Insights를 사용하려면 containerInsights 계정 설정을 enabled 로 설정해 주세요. 다음 명령을 사용해 Container Insights를 켜요.

aws ecs put-account-setting --name containerInsights --value enabled

예제 출력

{
    "setting": {
        "name": "containerInsights",
        "value": "enabled",
        "principalArn": "arn:aws:iam::123456789012:johndoe",
         "type": user
    }
}

containerInsights 계정 설정을 enabled 로 설정하면 모든 새 클러스터에 기본적으로 Container Insights가 활성화돼요. update-cluster-settings 명령을 사용해 기존 클러스터에 Container Insights를 추가해 주세요.

aws ecs update-cluster-settings --cluster cluster-name --settings name=containerInsights,value=enabled

콘솔을 사용해 Container Insights를 구성할 수도 있어요. 자세한 내용은 Modifying Amazon ECS account settings 를 참고해 주세요.

AWS Fargate FIPS-140 규정 준수 Fargate는 민감한 정보를 보호하는 암호화 모듈에 대한 보안 요구 사항을 지정하는 FIPS-140(Federal Information Processing Standard)을 지원해요. 이는 현재 미국 및 캐나다 정부 표준이며, FISMA(Federal Information Security Management Act) 또는 FedRAMP(Federal Risk and Authorization Management Program)를 준수해야 하는 시스템에 적용돼요.

리소스 이름은 fargateFIPSMode 입니다. 기본값은 disabled 입니다. Fargate에서 FIPS-140 규정 준수를 켜야 해요. 자세한 내용은 AWS Fargate Federal Information Processing Standard (FIPS-140) 을 참고해 주세요.

중요 fargateFIPSMode 계정 설정은 Amazon ECS API 또는 AWS CLI를 통해서만 변경할 수 있어요. 자세한 내용은 Modifying Amazon ECS account settings 를 참고해 주세요. fargateFIPSMode 옵션을 enabled 로 설정해 put-account-setting-default 를 실행해 주세요. 자세한 내용은 Amazon Elastic Container Service API Reference 의 put-account-setting-default 를 참고해 주세요.

다음 명령을 사용해 FIPS-140 규정 준수를 켤 수 있어요.

aws ecs put-account-setting-default --name fargateFIPSMode --value enabled

예제 출력

{
    "setting": {
        "name": "fargateFIPSMode",
        "value": "enabled",
        "principalArn": "arn:aws:iam::123456789012:root",
         "type": user
    }
}

list-account-settings 를 실행해 현재 FIPS-140 규정 준수 상태를 볼 수 있어요. 계정 수준 설정을 보려면 effective-settings 옵션을 사용해 주세요.

aws ecs list-account-settings --effective-settings

태깅 권한 부여 Amazon ECS는 리소스 생성을 위한 태깅 권한 부여(tagging authorization)를 도입하고 있어요. 사용자는 ecsCreateCluster 같은 리소스를 만드는 작업에 대한 태깅 권한이 있어야 해요. 리소스를 만들고 해당 리소스에 태그를 지정하면 AWS는 태그를 만드는 권한이 있는지 확인하기 위해 추가 권한 부여를 수행해요. 따라서 ecs:TagResource 작업을 사용할 명시적 권한을 부여해야 해요. 자세한 내용은 Grant permission to tag resources on creation 을 참고해 주세요.

태깅 권한 부여를 옵트인하려면 tagResourceAuthorization 옵션을 on 으로 설정해 put-account-setting-default 를 실행해 주세요. 자세한 내용은 Amazon Elastic Container Service API Reference 의 put-account-setting-default 를 참고해 주세요. list-account-settings 를 실행해 현재 태깅 권한 부여 상태를 볼 수 있어요.

다음 명령을 사용해 태깅 권한 부여를 활성화할 수 있어요.

aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region region

예제 출력

{
    "setting": {
        "name": "tagResourceAuthorization",
        "value": "on",
        "principalArn": "arn:aws:iam::123456789012:root",
        "type": user
    }
}

태깅 권한 부여를 활성화한 후 사용자가 리소스를 만들 때 태그를 지정할 수 있는 적절한 권한을 구성해야 해요. 자세한 내용은 Grant permission to tag resources on creation 을 참고해 주세요. list-account-settings 를 실행해 현재 태깅 권한 부여 상태를 볼 수 있어요. 계정 수준 설정을 보려면 effective-settings 옵션을 사용해 주세요.

aws ecs list-account-settings --effective-settings

태깅 권한 부여 타임라인 list-account-settings 를 실행해 tagResourceAuthorization 값을 보면 태깅 권한 부여가 활성화되어 있는지 확인할 수 있어요. 값이 on 이면 태깅 권한 부여가 사용 중이라는 뜻이에요. 자세한 내용은 Amazon Elastic Container Service API Reference 의 list-account-settings 를 참고해 주세요.

다음은 태깅 권한 부여와 관련된 중요한 날짜예요.

  • 2023년 4월 18일 – 태깅 권한 부여가 도입됨. 모든 새 및 기존 계정은 이 기능을 사용하려면 옵트인해야 해요. 옵트인해 태깅 권한 부여 사용을 시작할 수 있어요. 옵트인하면 적절한 권한을 부여해야 해요.
  • 2024년 2월 9일 - 2024년 3월 6일 – 모든 새 계정과 영향받지 않은 기존 계정은 기본적으로 태깅 권한 부여가 켜져 있어요. tagResourceAuthorization 계정 설정을 활성화하거나 비활성화해 IAM 정책을 확인할 수 있어요. AWS는 영향받는 계정에 알렸어요. 기능을 비활성화하려면 tagResourceAuthorization 옵션을 off 로 설정해 put-account-setting-default 를 실행해 주세요.
  • 2024년 3월 7일 – 태깅 권한 부여를 활성화했다면 더 이상 계정 설정을 비활성화할 수 없어요. 이 날짜 전에 IAM 정책 테스트를 완료할 것을 권장해요.
  • 2024년 3월 29일 – 모든 계정이 태깅 권한 부여를 사용해요. 계정 수준 설정은 더 이상 Amazon ECS 콘솔 또는 AWS CLI에서 사용할 수 없어요.

AWS Fargate 태스크 퇴역 대기 시간 퇴역 대상으로 표시된 플랫폼 버전 개정에서 실행되는 Fargate 태스크가 있으면 AWS가 알림을 보내요. 자세한 내용은 Task retirement and maintenance for AWS Fargate on Amazon ECS 를 참고해 주세요.

AWS는 AWS Fargate의 기반 인프라를 패치하고 유지 관리할 책임이 있어요. AWS가 Fargate에서 호스팅되는 Amazon ECS 태스크에 보안 또는 인프라 업데이트가 필요하다고 판단하면 태스크를 중지하고 교체할 새 태스크를 시작해야 해요. 패치를 위해 태스크가 퇴역되기 전 대기 기간을 구성할 수 있어요. 태스크를 즉시 퇴역하거나, 7일을 기다리거나, 14일을 기다리는 옵션이 있어요.

이 설정은 계정 수준이에요. Fargate가 태스크 퇴역을 시작하는 시간을 구성할 수 있어요. 기본 대기 기간은 7일입니다. 업데이트를 즉시 적용해야 하는 워크로드에는 immediate 설정( 0 )을 선택해 주세요. 더 많은 시간이 필요하면 7 또는 14 일 옵션을 구성해 주세요. 더 짧은 대기 기간을 선택해 더 최신의 플랫폼 버전 개정을 더 빨리 적용할 것을 권장해요.

루트 사용자 또는 관리 사용자로 put-account-setting-default 또는 put-account-setting 을 실행해 대기 기간을 구성해 주세요. 이름에 fargateTaskRetirementWaitPeriod 옵션을 사용하고 값 옵션을 다음 값 중 하나로 설정해 주세요.

  • 0 - AWS가 알림을 보내고 즉시 영향받는 태스크를 퇴역시키기 시작해요.
  • 7 - AWS가 알림을 보내고 영향받는 태스크를 퇴역시키기 시작하기 전에 7일을 기다려요. 이것이 기본값이에요.
  • 14 - AWS가 알림을 보내고 영향받는 태스크를 퇴역시키기 시작하기 전에 14일을 기다려요.

자세한 내용은 Amazon Elastic Container Service API Reference 의 put-account-setting-default 및 put-account-setting 을 참고해 주세요. 다음 명령을 실행해 대기 기간을 14일로 설정할 수 있어요.

aws ecs put-account-setting-default --name fargateTaskRetirementWaitPeriod --value 14

예제 출력

{
    "setting": {
        "name": "fargateTaskRetirementWaitPeriod",
        "value": "14",
        "principalArn": "arn:aws:iam::123456789012:root",
        "type: user"
    }
}

list-account-settings 를 실행해 현재 Fargate 태스크 퇴역 대기 시간을 볼 수 있어요. effective-settings 옵션을 사용해 주세요.

aws ecs list-account-settings --effective-settings

EC2 이벤트 윈도우를 사용한 AWS Fargate 태스크 퇴역 AWS는 AWS Fargate의 기반 인프라를 패치하고 유지 관리할 책임이 있어요. AWS가 Fargate에서 호스팅되는 Amazon ECS 태스크에 보안 또는 인프라 업데이트가 필요하다고 판단하면 태스크를 중지하고 교체할 새 태스크를 시작해야 해요. 이 계정 설정을 활성화하면 AWS Fargate는 EC2 이벤트 윈도우를 사용해 태스크가 퇴역될 시간과 요일을 결정해요. 이는 계정에 대해 일회성 활성화임을 유의해 주세요.

Fargate 태스크 퇴역용 EC2 이벤트 윈도우 사용을 활성화하려면 다음 CLI 명령을 사용할 수 있어요.

aws ecs put-account-setting-default --name fargateEventWindows --value enabled

이것은 계정 수준 설정이에요. 다음 인스턴스 태그를 사용해 EC2 이벤트 윈도우를 계정, 클러스터 및 서비스 수준에서 Fargate 태스크와 연결할 수 있어요.

  • aws:ecs:serviceArn : 서비스 태스크용
  • aws:ecs:clusterArn : 클러스터에 속한 태스크용
  • aws:ecs:fargateTask : 계정의 모든 Fargate 태스크를 대상으로 하려면 true 로 설정

Fargate에서 실행되는 Amazon ECS 태스크에 Amazon EC2 이벤트 윈도우가 어떻게 작동하는지 자세히 알아보려면 Step 1: Set the task wait time or use Amazon EC2 event windows 를 참고해 주세요.

Linux 컨테이너 인스턴스 네트워크 인터페이스 늘리기 awsvpc 네트워크 모드를 사용하는 각 Amazon ECS 태스크는 이를 호스팅하는 컨테이너 인스턴스에 연결되는 자체 탄력적 네트워크 인터페이스(ENI)를 받아요. Amazon EC2 인스턴스에 연결할 수 있는 네트워크 인터페이스 수에는 기본 제한이 있으며, 기본 네트워크 인터페이스가 하나로 계산돼요. 예를 들어 기본적으로 c5.large 인스턴스에는 최대 3개의 ENI가 연결될 수 있어요. 인스턴스의 기본 네트워크 인터페이스가 하나로 계산되므로 인스턴스에 추가로 2개의 ENI를 연결할 수 있어요. awsvpc 네트워크 모드를 사용하는 각 태스크는 ENI를 요구하므로 이 인스턴스 유형에서는 그러한 태스크를 2개만 실행할 수 있어요.

Amazon ECS는 지원되는 Amazon EC2 인스턴스 유형을 사용해 ENI 밀도를 높인 컨테이너 인스턴스 시작을 지원해요. 이러한 인스턴스 유형을 사용하고 awsvpcTrunking 계정 설정을 켜면 새로 시작된 컨테이너 인스턴스에서 추가 ENI를 사용할 수 있어요. 이 구성은 각 컨테이너 인스턴스에 더 많은 태스크를 배치할 수 있게 해 줘요.

예를 들어 awsvpcTrunking 이 있는 c5.large 인스턴스는 ENI 제한이 12로 증가해요. 컨테이너 인스턴스에는 기본 네트워크 인터페이스가 있으며 Amazon ECS는 "트렁크" 네트워크 인터페이스를 만들어 컨테이너 인스턴스에 연결해요. 따라서 이 구성으로 컨테이너 인스턴스에서 기존 2개 대신 10개의 태스크를 시작할 수 있어요.

Runtime Monitoring(Amazon GuardDuty 통합) Runtime Monitoring은 AWS 로그 및 네트워킹 활동을 지속적으로 모니터링해 악의적이거나 무단된 동작을 식별함으로써 Fargate 및 EC2 컨테이너 인스턴스에서 실행되는 워크로드를 보호하는 지능형 위협 탐지 서비스예요. guardDutyActivate 파라미터는 Amazon ECS에서 읽기 전용이며, 보안 관리자가 Amazon ECS 계정에서 Runtime Monitoring을 켰는지 껐는지를 나타내요. GuardDuty가 이 계정 설정을 대신 제어해요. 자세한 내용은 Protecting Amazon ECS workloads with Runtime Monitoring 을 참고해 주세요.

list-account-settings 를 실행해 현재 GuardDuty 통합 설정을 볼 수 있어요.

aws ecs list-account-settings 

예제 출력

{
    "setting": {
        "name": "guardDutyActivate",
        "value": "on",
        "principalArn": "arn:aws:iam::123456789012:doej",
        "type": aws-managed"
    }
}

듀얼 스택 IPv6 VPC Amazon ECS는 기본 프라이빗 IPv4 주소 외에 태스크에 IPv6 주소를 제공하는 것을 지원해요. 태스크가 IPv6 주소를 받으려면 태스크가 awsvpc 네트워크 모드를 사용하고, 듀얼 스택 모드로 구성된 VPC에서 시작되어야 하며, dualStackIPv6 계정 설정이 활성화되어야 해요. 다른 요구 사항에 대한 자세한 내용은 Using a VPC in dual-stack mode for EC2 capacity, Using a VPC in dual-stack mode for Amazon ECS Managed Instances capacity, Using a VPC in dual-stack mode for Fargate capacity 를 참고해 주세요.

중요 dualStackIPv6 계정 설정은 Amazon ECS API 또는 AWS CLI를 통해서만 변경할 수 있어요. 자세한 내용은 Modifying Amazon ECS account settings 를 참고해 주세요. 2020년 10월 1일과 2020년 11월 2일 사이에 IPv6 사용 서브넷에서 awsvpc 네트워크 모드를 사용하는 실행 중인 태스크가 있었다면 태스크가 실행 중이던 Region의 기본 dualStackIPv6 계정 설정은 disabled 입니다. 그 조건이 충족되지 않으면 해당 Region의 기본 dualStackIPv6 설정은 enabled 입니다. 기본값은 disabled 입니다.

기본 로그 드라이버 모드 Amazon ECS는 컨테이너에서 선택한 로그 드라이버로의 로그 메시지 기본 전달 모드를 설정하는 것을 지원해요. 전달 모드는 컨테이너에서 로그 드라이버로의 로그 흐름이 중단될 때 애플리케이션 안정성에 영향을 줘요. defaultLogDriverMode 설정은 blocking 과 non-blocking 의 두 가지 값을 지원해요.

더 알아보기 (Learn more)