태그로 리소스 정리하기

AWSBeginner
지금 연습하기

소개

보고서 팀은 이름이 서로 달라도 팀과 환경으로 테스트 설정을 찾고 싶어 합니다. 소유자 태그를 추가하고 잘못된 환경 레이블을 찾아 저장된 설정을 변경하지 않고 수정합니다.

먼저 작업 공간, 리전 리소스, CLI 조회 실습을 완료하세요. 새 환경에 도구와 리소스 네 개가 준비되어 있습니다. Terminal에서 작업하고 옆의 AWS View에서 같은 태그와 필터링 결과를 관찰하세요.

인증 시험 관련 주제

이 실습은 다음 시험 주제에 대한 실습 경험을 제공합니다.

재무팀 내보내기 설정에 레이블 붙이기

이 단계에서는 재무팀 내보내기 파라미터에 팀과 환경 레이블을 붙입니다.

지난 실습에서는 공통 이름 접두사로 리소스를 찾았습니다. 이름이 항상 팀이나 환경을 설명하지는 않습니다. 태그는 owner=finance나 environment=staging처럼 리소스에 별도의 키와 값을 추가합니다. 이 레이블을 사용하면 이름을 바꾸지 않고 관련 리소스를 찾을 수 있습니다.

리소스 이름, 저장된 값, 분류 태그는 서로 다른 용도로 사용됩니다

개념도: 태그는 리소스를 설명합니다. 저장된 값을 다시 쓰거나 리소스를 이동하거나 접근 권한을 부여하지 않습니다.

작업 공간에서 시작하세요. 이전 실습처럼 기본 리전은 us-east-1로 준비되어 있습니다.

cd /home/labex/project

파라미터를 나열하세요.

aws ssm describe-parameters

설명을 읽으세요. /labex/tagging/export-format과 /labex/tagging/archive-format은 테스트에 사용되는 재무팀 스테이징 설정입니다. /labex/reference/ 리소스 두 개는 다른 팀의 것이므로 변경하지 마세요.

태그 작업은 리소스 종류와 이름을 지정합니다. 파라미터에는 --resource-type Parameter를 유지하고 전체 이름을 --resource-id로 사용하세요. 내보내기 설정의 태그를 확인하세요.

aws ssm list-tags-for-resource --resource-type Parameter --resource-id /labex/tagging/export-format

TagList는 []입니다. 이 리소스에는 아직 태그가 없습니다. 레이블 두 개를 추가하세요. 각 Key=...,Value=...는 태그 하나를 제공하며 공백으로 구분합니다.

aws ssm add-tags-to-resource --resource-type Parameter --resource-id /labex/tagging/export-format --tags Key=owner,Value=finance Key=environment,Value=staging

태그는 대소문자를 구분하므로 표시된 소문자 키를 그대로 사용하세요. 쓰기에 성공하면 보통 아무것도 출력되지 않습니다. 다시 읽으세요.

aws ssm list-tags-for-resource --resource-type Parameter --resource-id /labex/tagging/export-format

두 레이블이 나타납니다. Terminal 옆의 AWS View를 클릭하세요. 내보내기 설정이 재무팀 스테이징 선택 결과에 포함됩니다. 저장된 값은 csv로 유지됩니다.

소유자로 리소스 찾기

이 단계에서는 보관 설정의 소유자를 추가하고 태그 필터로 재무팀 리소스 두 개를 찾습니다.

보관 설정도 재무팀에 배정되어 있습니다. 다른 태그는 변경하지 않고 소유자 레이블을 추가하세요.

aws ssm add-tags-to-resource --resource-type Parameter --resource-id /labex/tagging/archive-format --tags Key=owner,Value=finance

전체 태그 목록을 읽으세요.

aws ssm list-tags-for-resource --resource-type Parameter --resource-id /labex/tagging/archive-format

owner=finance와 기존 environment=production 태그가 보여야 합니다. 설명에는 스테이징 설정이라고 되어 있었습니다. 다음 단계에서 살펴볼 수 있도록 이 불일치를 기억하세요.

이전 실습의 필터링 패턴을 사용하되 이번에는 태그를 비교합니다. Key=tag:owner는 소유자 태그를 선택하고 Option=Equals는 값이 정확히 일치해야 한다는 뜻입니다.

aws ssm describe-parameters --parameter-filters Key=tag:owner,Option=Equals,Values=finance --query 'Parameters[].Name'

재무팀 이름 두 개가 모두 나타납니다. HR과 플랫폼은 이 선택에서 제외됩니다. 레이블은 자신이 제공한 사실을 설명합니다. 서비스가 팀의 소유자나 환경을 대신 판단해 주지는 않습니다.

환경 레이블 수정하기

이 단계에서는 보관 설정의 잘못된 환경 레이블을 수정하고 재무팀 스테이징 선택 결과를 완전하게 복구합니다.

팀으로만 선택한 목록에는 재무팀 리소스 두 개가 모두 포함됩니다. 테스트 설정을 찾으려면 owner=finance와 environment=staging 두 태그 모두를 요구하세요. 공백으로 구분한 필터 두 개를 제공합니다.

aws ssm describe-parameters --parameter-filters Key=tag:owner,Option=Equals,Values=finance Key=tag:environment,Option=Equals,Values=staging --query 'Parameters[].Name'

내보내기 설정만 나타납니다. 보관 설정도 존재하지만 잘못된 production 태그 때문에 이 뷰에서 제외됩니다.

소유자와 환경이 모두 일치하는 리소스만 선택된 목록에 포함됩니다

개념도: 일치하지 않는 리소스는 결과에서 제외될 뿐 삭제되지 않습니다.

레이블을 수정하기 전에 보관 설정에 저장된 데이터를 확인하세요.

aws ssm get-parameter --name /labex/tagging/archive-format

값은 json이고 Version은 1입니다. 인벤토리의 설명은 이 리소스를 재무팀 스테이징 보관 설정으로 명시합니다. 같은 추가 작업으로 환경 태그를 수정하세요. 기존 키를 제공하면 그 값이 교체되고 다른 태그는 그대로 유지됩니다.

aws ssm add-tags-to-resource --resource-type Parameter --resource-id /labex/tagging/archive-format --tags Key=environment,Value=staging

기존 테스트 리소스에 맞게 레이블을 수정하는 것이며 프로덕션 애플리케이션을 스테이징으로 이동하는 것은 아닙니다. 레이블을 다시 읽으세요.

aws ssm list-tags-for-resource --resource-type Parameter --resource-id /labex/tagging/archive-format

이제 소유자와 환경이 모두 과제에 맞습니다. 선택을 다시 실행하세요.

aws ssm describe-parameters --parameter-filters Key=tag:owner,Option=Equals,Values=finance Key=tag:environment,Option=Equals,Values=staging --query 'Parameters[].Name'

재무팀 이름 두 개가 모두 나타납니다. 저장된 데이터를 다시 읽으세요.

aws ssm get-parameter --name /labex/tagging/archive-format

이름, ARN, 값 json, Version 1은 그대로입니다. AWS View에서는 이제 두 리소스 모두 재무팀 스테이징에 나타나고 다른 팀의 리소스도 온전히 유지됩니다.

재무팀 설정 두 개가 올바르게 스테이징으로 분류되었습니다

결과 예시: 레이블을 변경하면 두 설정 중 어느 것도 다시 쓰지 않고 선택 결과를 복구할 수 있습니다.

연습용 리소스만 삭제하기

이 단계에서는 배정된 재무팀 파라미터 두 개를 삭제하고 참조 리소스가 남아 있는지 확인합니다.

태그는 리소스를 찾는 데 도움이 되지만 수정할 수 있습니다. 정리에는 이 연습에 배정된 정확한 이름 두 개를 사용하세요.

aws ssm delete-parameters --names /labex/tagging/export-format /labex/tagging/archive-format

두 이름이 모두 DeletedParameters에 나타나고 InvalidParameters는 비어 있어야 합니다.

태그와 무관하게 이름으로 리소스가 없는지 확인하세요.

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/tagging/ --query 'Parameters[].Name'

성공한 응답은 []입니다. 실패한 요청은 삭제의 증거가 아닙니다. 남은 인벤토리를 읽으세요.

aws ssm describe-parameters --query 'Parameters[].Name'

/labex/reference/hr-format과 /labex/reference/platform-team만 남아 있습니다. AWS View에도 같은 참조 리소스가 표시되고 재무팀 스테이징에 일치하는 리소스는 없습니다. 완료 검사는 변경되지 않은 값과 태그도 읽습니다.

다음 과제인 인벤토리에서 누락된 리소스에서는 이 과정에서 배운 리전, 쿼리, 태그 역량으로 비슷한 선택 문제를 독립적으로 진단합니다.

요약

소유자와 환경 태그를 추가하고 팀별로 리소스를 선택한 뒤 두 조건을 조합하여 테스트 설정을 찾았습니다. 잘못된 환경 태그 때문에 기존 리소스가 필터링된 뷰에서 숨겨졌지만 태그를 수정하자 저장된 데이터를 변경하지 않고 선택 결과가 복구되었습니다.

그런 다음 연습용 리소스 두 개만 삭제했습니다. 인벤토리에서 누락된 리소스로 이어가며 독립적인 복구 과제에서 이 역량을 활용하세요.