Auto Scaling 그룹 및 인스턴스에 태그 지정 - Amazon EC2 Auto Scaling

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Auto Scaling 그룹 및 인스턴스에 태그 지정

태그는 사용자가 할당하거나 리소스에 할당하는 사용자 지정 속성 레이블입니다. AWS AWS 각 태그에는 다음 두 가지 부분이 있습니다.

  • 태그 키(예: costcenter, environment 또는 project)

  • 태그 값(예: 111122223333 또는 production)으로 알려진 선택적 필드

태그는 다음을 지원합니다.

  • AWS 비용을 추적하세요. AWS Billing and Cost Management 대시보드에서 이러한 태그를 활성화합니다. AWS 태그를 사용하여 비용을 분류하고 월별 비용 할당 보고서를 제공합니다. 자세한 설명은 AWS Billing 사용자 가이드에서 비용 할당 태그 사용을 참조하세요.

  • 태그에 근거하여 Auto Scaling 그룹에 대한 액세스를 제어합니다. IAM 정책의 조건을 사용하여 해당 그룹의 태그에 근거하여 Auto Scaling 그룹에 대한 액세스를 제어할 수 있습니다. 자세한 설명은 보안을 위한 태그 섹션을 참조하세요.

  • 추가하는 태그를 기준으로 Auto Scaling 그룹을 필터링하고 검색합니다. 자세한 정보는 태그를 사용하여 Auto Scaling 그룹 필터링을 참조하세요.

  • AWS 리소스를 식별하고 구성하세요. 많은 서비스가 태그 지정을 AWS 서비스 지원하므로 서로 다른 서비스의 리소스에 동일한 태그를 할당하여 리소스가 관련되어 있음을 나타낼 수 있습니다.

신규 또는 기존 Auto Scaling 그룹에 태그를 지정할 수 있습니다. 또한 Auto Scaling 그룹의 태그를 해당 그룹이 시작한 EC2 인스턴스에 전파할 수 있습니다.

태그는 Amazon EBS 볼륨에는 전파되지 않습니다. Amazon EBS 볼륨에 태그를 추가하려면 출범 템플릿에서 태그를 지정합니다. 자세한 정보는 Auto Scaling 그룹에 대한 시작 템플릿 생성을 참조하세요.

AWS Management Console AWS CLI, 또는 SDK를 통해 태그를 만들고 관리할 수 있습니다.

태그 이름 지정 및 사용 제한

태그에 적용되는 기본 제한은 다음과 같습니다.

  • 리소스당 최대 태그 수는 50개입니다.

  • 단일 호출을 사용하여 추가하거나 제거할 수 있는 최대 태그 수는 25입니다.

  • 최대 키 길이는 유니코드 문자 128자입니다.

  • 최대 값 길이는 유니코드 문자 256자입니다.

  • 태그 키와 값은 대/소문자를 구분합니다. 태그를 대문자로 사용하는 전략을 세우고 이러한 전략을 모든 리소스 타입에 대해 일관되게 구현하는 것이 가장 좋습니다.

  • aws:접두사는 사용하도록 예약되어 있으므로 태그 이름이나 값에 사용하지 마십시오. AWS 이 접두사를 가진 태그 이름이나 값은 편집 또는 삭제할 수 없으며 리소스 할당량당 태그로도 계수되지 않습니다.

EC2 인스턴스 태크 지정 라이프사이클

EC2 인스턴스에 태그를 전파하기로 선택하면 태그가 다음과 같이 관리됩니다.

  • Auto Scaling 그룹에서 인스턴스를 출범하면 리소스를 생성한 후가 아니라 리소스를 생성하는 동안 인스턴스에 태그를 추가합니다.

  • Auto Scaling 그룹은 aws:autoscaling:groupName 키와 Auto Scaling 그룹 명칭 값을 사용하여 인스턴스에 태그를 자동으로 추가합니다.

  • 출범 템플릿에 인스턴스 태그를 지정하고 그룹의 태그를 해당 인스턴스로 전파하도록 선택한 경우, 모든 태그가 병합됩니다. 출범 템플릿의 태그와 Auto Scaling 그룹의 태그에 대해 동일한 태그 키가 지정된 경우, 그룹의 태그 값이 우선합니다.

  • 기존 인스턴스를 연결하면 Auto Scaling 그룹이 인스턴스에 태그를 추가하여 동일한 태그 키를 가진 기존 태그를 덮어씁니다. 또한 aws:autoscaling:groupName 키와 Auto Scaling 그룹 명칭 값을 사용하여 태그를 추가합니다.

  • Auto Scaling 그룹에서 인스턴스를 분리하면 aws:autoscaling:groupName 태그만 제거됩니다.

Auto Scaling 그룹에 태그 지정

Auto Scaling 그룹에 태그를 추가할 때 Auto Scaling 그룹에서 시작되는 인스턴스에 추가할지를 지정할 수 있습니다. 태그를 수정하면 변경 후 태그의 업데이트 버전이 Auto Scaling 그룹에서 시작되는 인스턴스에 추가됩니다. Auto Scaling 그룹의 태그를 생성하거나 수정하는 경우, 이러한 변경 사항은 Auto Scaling 그룹에서 이미 실행 중인 인스턴스에는 적용되지 않습니다.

태그 추가 또는 수정(콘솔)

생성 시 Auto Scaling 그룹에 태그를 지정하려면

Amazon EC2 콘솔을 사용하여 Auto Scaling 그룹을 생성할 때 Auto Scaling 그룹 생성 마법사의 태그 추가 페이지에서 태그 키와 값을 지정할 수 있습니다. Auto Scaling 그룹에서 시작된 인스턴스에 태그를 전파하려면 선택된 태그에 대한 새 인스턴스에 태그 지정(Tag new instances) 옵션을 유지해야 합니다. 그렇지 않은 경우, 선택을 취소할 수 있습니다.

기존 Auto Scaling 그룹의 태그를 추가하거나 수정하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

  2. Auto Scaling 그룹 옆의 확인란을 선택합니다.

    Auto Scaling 그룹(Auto Scaling groups) 페이지 하단에 분할 창이 열립니다.

  3. 세부 정보 탭에서 태그, 편집을 선택합니다.

  4. 기존의 태그를 수정하려면 KeyValue를 수정합니다.

  5. 새 태그를 추가하려면 Add tag를 선택하고 KeyValue를 편집합니다. Auto Scaling 그룹에서 시작된 인스턴스에 태그를 자동으로 추가하려면 새 인스턴스에 태그 지정(Tag new instances)을 선택한 채로 두고 그러지 않으려는 경우, 이 옵션을 선택 취소할 수 있습니다.

  6. 태그 추가를 마쳤으면 저장을 선택합니다.

태그 추가 또는 수정(AWS CLI)

다음 예제는 Auto Scaling 그룹을 생성할 때 를 사용하여 태그를 추가하고 기존 Auto Scaling 그룹에 태그를 추가 또는 수정하는 방법을 보여줍니다. AWS CLI

생성 시 Auto Scaling 그룹에 태그를 지정하려면

create-auto-scaling-group 명령을 사용하여 새 Auto Scaling 그룹을 생성하고 해당 Auto Scaling 그룹에 태그(예:environment=production)를 추가합니다. 태그는 Auto Scaling 그룹에서 시작되는 모든 인스턴스에도 추가됩니다.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config --min-size 1 --max-size 3 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --tags Key=environment,Value=production,PropagateAtLaunch=true
기존 Auto Scaling 그룹의 태그를 추가하거나 수정하려면

create-or-update-tags 명령을 사용하여 태그를 생성하거나 수정합니다. 예컨대, 다음 명령은 Name=my-asgcostcenter=cc123 태그를 추가합니다. 태그는 이 변경 후에 Auto Scaling 그룹에서 시작되는 모든 인스턴스에도 추가됩니다. 이 키를 가진 태그가 이미 있으면 기존 태그가 교체됩니다. Amazon EC2 콘솔은 각 인스턴스의 표시 이름을 Name 키에 지정된 이름(대소문자 구분)과 연결합니다.

aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Name,Value=my-asg,PropagateAtLaunch=true \ ResourceId=my-asg,ResourceType=auto-scaling-group,Key=costcenter,Value=cc123,PropagateAtLaunch=true

Auto Scaling 그룹의 태그 설명(AWS CLI)

특정 Auto Scaling 그룹에 적용된 태그를 보려는 경우, 다음 명령 중 하나를 사용할 수 있습니다:

  • describe-tags — Auto Scaling 그룹 이름을 입력하면 지정된 그룹의 태그 목록을 볼 수 있습니다.

    aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

    다음은 응답의 예입니다.

    { "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ] }
  • describe-auto-scaling-groups — Auto Scaling 그룹 이름을 입력하면 태그를 비롯한 지정된 그룹의 속성을 볼 수 있습니다.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    다음은 응답의 예입니다.

    { "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateId": "lt-0b97f1e282EXAMPLE", "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 1, ... "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ], ... } ] }

태그 삭제

Auto Scaling 그룹과 연결된 태그는 언제든지 삭제할 수 있습니다.

태그 삭제(콘솔)

태그를 삭제하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 열고 탐색 창에서 Auto Scaling 그룹(Auto Scaling Groups)을 선택합니다.

  2. 기존 그룹 옆의 확인란을 선택합니다.

    Auto Scaling 그룹(Auto Scaling groups) 페이지 하단에 분할 창이 열립니다.

  3. 세부 정보 탭에서 태그, 편집을 선택합니다.

  4. 태그 옆에 있는 제거를 선택합니다.

  5. 업데이트를 선택합니다.

태그 삭제(AWS CLI)

delete-tags 명령을 사용하여 태그를 삭제합니다. 예컨대, 다음 명령은 키가 environment인 태그를 삭제합니다.

aws autoscaling delete-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=environment"

태그 키는 지정해야 하지만 값은 지정하지 않아도 됩니다. 값을 지정했는데 해당 값이 잘못된 경우, 태그가 삭제되지 않습니다.

보안을 위한 태그

태그를 사용하여 요청자(예: IAM 사용자 또는 역할)에게 특정 Auto Scaling 그룹을 생성, 수정 또는 삭제할 수 있는 권한이 있는지 확인합니다. 다음 조건 키를 하나 이상 사용하여 IAM 정책의 조건 요소에 태그 정보를 제공합니다.

  • 특정 태그가 있는 Auto Scaling 그룹에 대한 사용자 작업을 허용(또는 거부)하려면 autoscaling:ResourceTag/tag-key: tag-value를 사용합니다.

  • 요청에 특정 태그가 존재하도록 (또는 존재하지 않도록) 요구하려면 aws:RequestTag/tag-key: tag-value를 사용합니다.

  • 요청에 특정 태그 키가 존재하도록 (또는 존재하지 않도록) 요구하려면 aws:TagKeys [tag-key, ...]를 사용합니다.

예컨대, 다음 예에 표시된 것처럼 키가 environment이고 값이 production인 태그가 포함된 모든 Auto Scaling 그룹에 대한 액세스를 거부할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": {"autoscaling:ResourceTag/environment": "production"} } } ] }

조건 키를 사용하여 Auto Scaling 그룹에 대한 액세스를 제어하는 방법에 대한 자세한 설명은 Amazon EC2 Auto Scaling에서 IAM을 사용하는 방식을(를) 참조하세요.

태그에 대한 액세스 통제

태그를 사용하여 요청자(예: IAM 사용자 또는 역할)에게 Auto Scaling 그룹에 대한 태그를 추가, 수정 또는 삭제할 수 있는 권한이 있는지 확인합니다.

다음 예 IAM 정책은 temporary 키가 있는 태그만 Auto Scaling 그룹에서 제거할 수 있는 권한을 주체에 부여합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "autoscaling:DeleteTags", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } } ] }

Auto Scaling 그룹에 지정된 태그에 제약 조건을 적용하는 IAM 정책의 자세한 예는 사용할 수 있는 태그 키 및 태그 값 제어을(를) 참조하세요.

참고

사용자가 Auto Scaling 그룹에서 태그 지정 또는 태그 해제 작업을 수행하지 못하도록 제한하는 정책을 설정해도 인스턴스를 출범한 후에 수동으로 인스턴스의 태그를 변경하는 것을 막을 수 없습니다. EC2 인스턴스의 태그에 대한 액세스를 제어하는 예는 Amazon EC2 사용 설명서의 예제: 리소스 태그 지정을 참조하십시오.

태그를 사용하여 Auto Scaling 그룹 필터링

다음 예에서는 describe-auto-scaling-groups 명령과 함께 필터를 사용하여 특정 태그로 Auto Scaling 그룹을 설명하는 방법을 보여줍니다. 태그별 필터링은 AWS CLI 또는 SDK로 제한되며 콘솔에서는 사용할 수 없습니다.

필터링 고려 사항

  • 단일 요청에서 여러 필터와 여러 필터 값을 지정할 수 있습니다.

  • 또한 필터 값과 함께 와일드카드를 사용할 수 없습니다.

  • 필터 값은 대/소문자를 구분합니다.

예: 특정 태그 키 및 값 페어로 Auto Scaling 그룹 설명

다음 명령은 environment=production의 태그 키 및 값 페어가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment Name=tag-value,Values=production

다음은 응답의 예입니다.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateId": "lt-0b97f1e282EXAMPLE", "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 1, ... "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ], ... }, ... additional groups ... ] }

또는 tag:<key> 필터를 사용하여 태그를 지정할 수 있습니다. 예컨대, 다음 명령은 environment=production의 태그 키 및 값 페어가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다. 이 필터의 형식은 Name=tag:<key>,Values=<value>이며 <key><value>는 태그 키 및 값 페어를 나타냅니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production

--query옵션을 사용하여 AWS CLI 출력을 필터링할 수도 있습니다. 다음 예에서는 이전 명령의 AWS CLI 출력을 그룹 이름, 최소 크기, 최대 크기 및 원하는 용량 속성으로만 제한하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production \ --query "AutoScalingGroups[].{AutoScalingGroupName: AutoScalingGroupName, MinSize: MinSize, MaxSize: MaxSize, DesiredCapacity: DesiredCapacity}"

다음은 응답의 예입니다.

[ { "AutoScalingGroupName": "my-asg", "MinSize": 0, "MaxSize": 10, "DesiredCapacity": 1 }, ... additional groups ... ]

필터링에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서의 AWS CLI 출력 필터링을 참조하십시오.

예: 지정된 태그 키와 일치하는 태그가 있는 Auto Scaling 그룹 설명

다음 명령은 태그 값에 관계없이 environment 태그가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment
예: 지정된 태그 키 집합과 일치하는 태그가 있는 Auto Scaling 그룹 설명

다음 명령은 태그 값에 관계없이 environmentproject에 대한 태그가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment Name=tag-key,Values=project
예: 지정된 태그 키 중 하나 이상과 일치하는 태그가 있는 Auto Scaling 그룹 설명

다음 명령은 태그 값에 관계없이 environment 또는 project에 대한 태그가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment,project
예: 지정된 태그 값이 있는 Auto Scaling 그룹 설명

다음 명령은 태그 키에 관계없이 production의 태그 값이 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production
예: 지정된 태그 값 집합이 있는 Auto Scaling 그룹 설명

다음 명령은 태그 키에 관계없이 태그 값 productiondevelopment가 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production Name=tag-value,Values=development
예: 지정된 태그 값 중 하나 이상과 일치하는 태그가 있는 Auto Scaling 그룹 설명

다음 명령은 태그 키에 관계없이 production 또는 development의 태그 값이 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production,development
예: 여러 태그 키 및 값과 일치하는 태그가 있는 Auto Scaling 그룹 설명

또한 필터를 결합하여 사용자 정의 AND 및 OR 로직을 생성하여 보다 복잡한 필터링을 수행할 수 있습니다.

다음 명령은 특정 태그 집합이 있는 Auto Scaling 그룹만 표시하도록 결과를 필터링하는 방법을 보여줍니다. 하나의 태그 키는 environment이고(AND) 태그 값은 (production OR development)이고(AND) 다른 태그 키는 costcenter이고(AND) 태그 값은 cc123입니다.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production,development Name=tag:costcenter,Values=cc123