기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AMS Accelerate의 Resource Tagger 사용 사례
이 섹션에서는 Resource Tagger에서 일반적으로 수행되는 작업을 나열합니다.
Resource Tagger에서 적용한 태그 보기
Resource Tagger에서 적용하는 모든 태그에는 ams:rt:라는 키 접두사가 있습니다. 예를 들어 다음 태그 정의는 키 ams:rt:sampleKey 및 값 sampleValue가 있는 태그를 생성합니다. 이 접두사가 있는 모든 태그는 Resource Tagger의 일부로 취급됩니다.
{ "Key": "sampleKey", "Value": "sampleValue" }
중요
ams:rt: 접두사를 사용하여 자체 태그를 수동으로 생성하는 경우 Resource Tagger에서 관리하는 것으로 간주됩니다. 즉, Resource Tagger에서 리소스를 관리하지만 구성 프로필에 태그를 적용해야 한다고 표시되지 않는 경우 Resource Tagger는 수동으로 추가된 태그를 제거합니다. Resource Tagger에서 관리하는 리소스에 수동으로 태그를 지정하는 경우 태그 키에 ams:rt: 접두사를 사용하지 마십시오.
Resource Tagger를 사용하여 태그 생성
AMS Accelerate 리소스 태거는 AMS Accelerate 온보딩 중에 계정에 배포되는 구성 요소입니다. Resource Tagger에는 리소스에 태그를 지정하는 방법을 정의하는 구성 가능한 규칙 세트가 있습니다. 그런 다음 해당 규칙을 적용하여 리소스에 태그를 자동으로 추가 및 제거하여 규칙을 준수하는지 확인합니다.
Resource Tagger를 사용하여 리소스에 태그를 지정하려면 섹션을 참조하세요리소스 태거 가속화.
다음은 모든 Amazon EC2 인스턴스에 값이 true인 ams:rt:ams-managed 태그를 추가하는 Resource Tagger 구성 코드 조각의 예입니다. ams:rt:ams-managed 태그는 AMS Accelerate에서 리소스를 모니터링하도록 옵트인합니다.
{ "AWS::EC2::Instance": { "SampleConfigurationBlock": { "Enabled": true, "Filter": { "Platform": "*" }, "Tags": [ { "Key": "ams:rt:ams-managed", "Value": "true" } ] } } }
주의
새 구성의 이름(SampleConfigurationBlock제공된 예의 )을 지정할 때는 AMS 관리형 구성을 동일한 이름으로 실수로 재정의할 수 있으므로 주의해야 합니다.
Resource Tagger의 리소스 수정 방지
Resource Tagger는 리소스에 태그를 추가하거나 제거하지 못하도록 읽기 전용 모드로 설정할 수 있습니다. 이는 자체 태그 지정 메커니즘을 제공하려는 경우에 유용합니다.
읽기 전용 모드인 경우에도 Resource Tagger는 관리형 및 고객 구성 프로필에 지정된 태그 지정 규칙을 검사하고 이러한 태그 지정 규칙을 충족하지 않는 리소스를 검사합니다. 규정을 준수하지 않는 리소스는 모두 표시됩니다 AWS Config. 찾을 수 AWS Config 규칙 있는 에는 AMSResourceTagger- 접두사가 있습니다. 예를 들어 AMSResourceTagger-EC2Instance AWS Config 규칙은 구성 프로파일을 기반으로 AWS::EC2::Instance 리소스에 대한 적절한 태그가 생성되었는지 평가합니다.
Resource Tagger는이 시점에서 중지되며 리소스를 변경하지 않습니다(태그를 추가하거나 제거하지 않음).
옵션 블록에 ReadOnly 키를 포함하도록 고객 구성 프로필을 수정하여 읽기 전용 모드를 활성화할 수 있습니다. 예를 들어 다음 구성 프로파일 코드 조각은이 모양이 어떻게 보일 수 있는지 보여줍니다.
{ "Options": { "ReadOnly": true }, "AWS::EC2::Instance": { [... the rest of your configuration ...] } }
Resource Tagger는 배포가 완료되는 즉시이 새 구성에 반응하고 리소스에 대한 태그 추가 및 제거를 중지합니다.
참고
태그 수정을 다시 활성화하려면 기본값이 false이므로 ReadOnly 값을 false로 변경하거나 키를 모두 제거합니다.
옵션 설정에 대한 자세한 내용은 구문 및 구조다음 단원을 참조하십시오.
예제 구성 프로필
다음 예제 프로파일 문서는 스택-* CloudFormation 스택의 일부인 모든 Windows EC2 인스턴스를 AMS Accelerate에서 관리하도록 지정하지만 ID가 i-00000000000000001인 특정 EC2 인스턴스는 명시적으로 제외합니다.
{ "AWS::EC2::Instance": { "AMSMonitoringWindows": { "Enabled": true, "Filter": { "Fn::AND": [ { "Platform": "Windows" }, { "Tag": { "Key": "aws:cloudformation:stack-name", "Value": "stack-*" } }, { "Fn::NOT": { "InstanceId": "i-00000000000000001" } } ] }, "Tags": [ { "Key": "ams:rt:ams-managed", "Value": "true" } ] } } }
주의
새 구성의 이름(SampleConfigurationBlock제공된 예의 )을 지정할 때는 AMS 관리형 구성을 동일한 이름으로 실수로 재정의할 수 있으므로 주의해야 합니다.
기본 구성 병합
기본 구성 프로필은 계정 온보딩 시 AMS Accelerate에서 제공합니다. 이 프로필은 계정에 배포된 기본 규칙을 제공합니다.
기본 구성 프로필은 수정할 수 없지만 기본 구성 블록과 동일한 ConfigurationID를 사용하여 사용자 지정 구성 프로필에 구성 블록을 지정하여 기본값에 대한 재정의를 제공할 수 있습니다. 이렇게 하면 구성 블록이 기본 구성 블록을 덮어씁니다.
예를 들어 다음과 같은 기본 구성 문서를 고려합니다.
{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueA" }] } } }
여기에 적용된 태그 값을에서 SampleValueA로 변경SampleValueB하고 Windows 인스턴스뿐만 아니라 모든 인스턴스에 태그를 적용하려면 다음과 같은 사용자 지정 구성 프로파일을 제공합니다.
{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "*" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueB" }] } } }
중요
구성 변경 사항을 적용한 후에는 배포해야 합니다. 자세한 내용은 구성 변경 사항 배포 단원을 참조하십시오. SSM AppConfig에서는 구성을 생성한 후 새 버전의 구성을 배포해야 합니다.
기본 구성 비활성화
사용자 지정 구성 프로필에 동일한 ConfigurationID가 있는 구성 블록을 추가하고 값에 대해 활성화됨 필드를 false로 지정하여 기본 구성 규칙을 비활성화할 수 있습니다.
예를 들어 기본 구성 프로필에 다음 구성이 있는 경우:
{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "my-tag", "Value": "SampleValueA" }] } } }
사용자 지정 구성 프로필에 다음을 포함하여이 태그 지정 규칙을 비활성화할 수 있습니다.
{ "AWS::EC2::Instance": { "AMSManagedBlock1": { "Enabled": false } } }
중요
구성 변경 사항을 적용한 후에는 배포해야 합니다. 자세한 내용은 섹션을 참조하세요구성 변경 사항 배포. SSM AppConfig에서는 구성을 생성한 후 새 버전의 구성을 배포해야 합니다.
Resource Tagger에서 적용한 태그 제거
ams:rt 접두사가 붙은 태그가 구성 프로필에 없거나 태그가 있는 경우 필터가 일치하지 않는 경우 Resource Tagger에서 제거합니다. 즉, 다음 중 하나를 수행하여 Resource Tagger에서 적용한 태그를 제거할 수 있습니다.
태그를 정의하는 사용자 지정 구성 섹션 수정.
특정 리소스가 더 이상 필터와 일치하지 않도록 해당 리소스에 대한 예외를 추가합니다.
예: Linux 인스턴스에 다음 태그가 있는 경우:
"Tags": [{ "Key": "ams:rt:MyOwnTag", "Value": true },{ "Key": "myTag", "Value": true }]
그리고 다음 Resource Tagger 구성 프로파일을 배포합니다.
{ "AWS::EC2::Instance": { "AMSMonitoringWindows": { "Enabled": true, "Filter": { "Platform": "Windows" }, "Tags": [{ "Key": "ams:rt:ams-managed", "Value": "true" }] } } }
Resource Tagger는 새 구성 변경에 반응하며 인스턴스의 유일한 태그는 다음과 같습니다.
"Tags": [{ "Key": "myTag", "Value": true }]
주의
새 구성의 이름(SampleConfigurationBlock제공된 예의 )을 지정할 때는 AMS 관리형 구성을 동일한 이름으로 실수로 재정의할 수 있으므로 주의해야 합니다.
중요
구성 변경 사항을 적용한 후에는 배포해야 합니다. 자세한 내용은 섹션을 참조하세요구성 변경 사항 배포. SSM AppConfig에서는 구성을 생성한 후 새 버전의 구성을 배포해야 합니다.
Resource Tagger 구성 보기 또는 변경
AMSManagedTags 및 AMSInfrastructure 환경에서 온보딩 및 상주 시 AWS AppConfig의 계정에 배포된 두 가지 JSON 구성 프로파일인 AMSManagedTags 및 CustomerManagedTags는 AppConfig의 GetConfiguration API를 통해 검토할 수 있습니다. AMSResourceTagger
다음은이 GetConfiguration 호출의 예입니다.
aws appconfig get-configuration --application AMSResourceTagger --environment AMSInfrastructure --configuration AMSManagedTags --client-idANY_STRINGoutfile.json
애플리케이션: 기능을 제공하는 AppConfig 논리 단위입니다. Resource Tagger의 경우 AMSResourceTagger입니다.
환경: AMSInfrastructure.
구성: AMS Accelerate 기본 태그 정의를 보려면 값은 AMSManagedTags이고, 고객 태그 정의를 보려면 CustomerManagedTags입니다.
클라이언트 ID: 고유한 애플리케이션 인스턴스 식별자로, 모든 문자열일 수 있습니다.
그런 다음 지정된 출력 파일,이 경우 outfile.json에서 태그 정의를 볼 수 있습니다.
그런 다음 지정된 출력 파일,이 경우 outfile.json에서 경보 정의를 볼 수 있습니다.
AMSInfrastructure 환경에서 과거 배포를 확인하여 계정에 배포된 구성 버전을 확인할 수 있습니다.
태그 규칙을 재정의하려면:
AWS CloudFormation AWS CloudFormation for Accelerate를 사용하여 구성 프로파일 배포 또는를 사용하여 사용자 지정 프로필을 업데이트하거나 AppConfig의 CreateHostedConfigurationVersion API를 사용하여 직접 기존 태그 규칙을 재정의할 수 있습니다. 동일한 ConfigurationID를 기본 구성 태그 규칙으로 사용하면 기본 규칙이 재정의되고 사용자 지정 규칙이 대신 적용됩니다.
CustomerManagedTags 문서에 대한 변경 사항을 배포하려면
사용자 지정 구성 프로필을 변경한 후에는 변경 사항을 배포해야 합니다. 새 변경 사항을 배포하려면 AWS AppConfig 콘솔 또는 CLI를 사용하여 AppConfig의 StartDeployment API를 실행해야 합니다.
구성 변경 사항 배포
사용자 지정이 완료되면 이러한 변경 사항을 StartDeployment API를 AWS AppConfig 통해 배포해야 합니다. 다음 지침은를 사용하여를 배포하는 방법을 보여줍니다 AWS CLI. 또한 AWS Management Console 를 사용하여 이러한 변경을 수행할 수 있습니다. 자세한 내용은 5단계: 구성 배포를 참조하세요.
aws appconfig start-deployment --application-id <application_id> --environment-id <environment_id> --deployment-strategy-id <deployment_strategy_id> --configuration-profile-id <configuration_profile_id> --configuration-version 1
애플리케이션 ID: 애플리케이션 AMSResourceTagger의 애플리케이션 ID입니다. ListApplications API 호출을 통해 이를 가져옵니다.
환경 ID: 환경 ID입니다. ListEnvironments API 호출을 통해 이를 가져옵니다.
배포 전략 ID: 배포 전략 ID입니다. ListDeploymentStrategies API 호출을 통해 이를 가져옵니다.
구성 프로필 ID: CustomerManagedTags의 구성 프로필 ID입니다. ListConfigurationProfiles API 호출을 통해 이를 가져옵니다.
구성 버전: 배포하려는 구성 프로필의 버전입니다.
중요
Resource Tagger는 구성 프로필에 지정된 대로 태그를 적용합니다. 리소스 태그에 대한 모든 수동 수정 사항( AWS Management Console또는 CloudWatch CLI/SDK 사용)은 자동으로 되돌려지므로 Resource Tagger를 통해 변경 사항을 정의해야 합니다. Resource Tagger에서 생성되는 태그를 확인하려면 접두사가 붙은 태그 키를 찾습니다ams:rt:.
StartDeployment 및 StopDeployment API 작업을 사용하여 배포에 대한 액세스를 대상에 새 구성을 배포할 때의 책임과 결과를 이해하는 신뢰할 수 있는 사용자로 제한합니다.
AWS AppConfig 기능을 사용하여 구성을 생성하고 배포하는 방법에 대한 자세한 내용은 AWS AppConfig 작업의 설명서를 참조하세요.
Resource Tagger 태그를 무시하도록 Terraform 구성
Terraform을 사용하여 리소스를 프로비저닝하고 Resource Tagger를 사용하여 리소스에 태그를 지정하려는 경우 Resource Tagger 태그는 Terraform에 의해 드리프트로 식별될 수 있습니다.
수명 주기 구성 블록 또는 ignore_tags 글로벌 구성 블록을 사용하여 모든 Resource Tagger 태그를 무시하도록 Terraform을 구성할 수 있습니다. 자세한 내용은 리소스 태그 지정의 리소스 태그 지정에 대한 Terraform 설명서를 참조하세요
다음 예제에서는 Resource Tagger 태그 접두사 로 시작하는 모든 태그를 무시하도록 전역 구성을 생성하는 방법을 보여줍니다ams:rt:.
provider "aws" { # ... potentially other configuration ... ignore_tags { key_prefixes = ["ams:rt:"] } }
Resource Tagger에서 관리하는 리소스 수 보기
Resource Tagger는 매시간 AMS/ResourceTagger 네임스페이스의 Amazon CloudWatch로 지표를 전송합니다. 지표는 Resource Tagger에서 지원하는 리소스 유형에 대해서만 내보내집니다.
| 지표 이름 | 측정기준 | 설명 |
|---|---|---|
| ResourceCount | 구성 요소, ResourceType | 이 리전에 배포된 리소스 수(지정된 리소스 유형)입니다. 단위: 개 |
| ResourcesMissingManagedTags | 구성 요소, ResourceType | 구성 프로필에 따라 관리형 태그가 필요하지만 아직 Resource Tagger에서 태그를 지정하지 않은 리소스 수(지정된 리소스 유형)입니다. 단위: 개 |
| UnmanagedResources | 구성 요소, ResourceType | Resource Tagger에서 관리형 태그를 적용하지 않은 리소스 수(지정된 리소스 유형)입니다. 일반적으로 이러한 리소스는 Resource Tagger 구성 블록과 일치하지 않거나 구성 블록에서 명시적으로 제외됩니다. 단위: 개 |
| MatchingResourceCount | 구성 요소, ResourceType, ConfigClauseName | Resource Tagger 구성 블록과 일치하는 리소스 수(지정된 리소스 유형)입니다. 리소스가 구성 블록과 일치하려면 블록을 활성화하고 리소스가 블록의 필터와 일치해야 합니다. 단위: 개 |
이러한 지표는 AMS-Resource-Tagger-Reporting-Dashboard에서 그래프로도 볼 수 있습니다. 대시보드를 보려면 Amazon CloudWatch 관리 콘솔에서 AMS-Resource-Tagger-Reporting-Dashboard를 선택합니다. 기본적으로이 대시보드의 그래프에는 이전 12시간 동안의 데이터가 표시됩니다.
AMS Accelerate는 계정에 CloudWatch 경보를 배포하여 AMS Resource Tagger의 관리에서 제외된 리소스와 같은 비관리형 리소스 수의 상당한 증가를 감지합니다. AMS Operations는 동일한 유형의 리소스 3개를 초과하거나 동일한 유형의 모든 리소스에 대해 50% 증가를 초과하는 비관리형 리소스의 증가를 조사합니다. 변경 사항이 의도적으로 표시되지 않는 경우 AMS Operations에서 변경 사항을 검토하기 위해 사용자에게 연락할 수 있습니다.