본문 바로가기
클라우드

AWS 태그 설계 가이드: 비용, 보안, 운영을 연결하는 가장 기본적인 거버넌스

by gasbugs 2026. 6. 10.
반응형

AWS를 운영하다 보면 EC2, S3, RDS, Lambda, EKS, CloudFront, VPC, EBS 같은 리소스가 빠르게 늘어납니다. 처음에는 리소스가 몇 개 되지 않기 때문에 이름만 보고도 구분할 수 있지만, 계정이 여러 개로 늘어나고 개발·검증·운영 환경이 분리되기 시작하면 단순한 이름만으로는 관리가 어려워집니다.

 

이때 가장 기본이 되는 관리 체계가 바로 태그입니다.

 

 

AWS 태그는 리소스에 붙이는 key-value 형태의 메타데이터입니다. 예를 들어 EC2 인스턴스에 다음과 같은 태그를 붙일 수 있습니다.

Name = web-prod-ec2-01
Environment = prod
Owner = security-team
Service = homepage
CostCenter = edu-platform
ManagedBy = terraform
 

 

이렇게 태그를 붙여두면 단순히 보기 좋은 수준을 넘어 비용 분석, 소유자 추적, 자동화, 보안 통제, 장애 대응, 권한 제어까지 연결할 수 있습니다.


1. 태그를 왜 관리해야 할까?

AWS 태그는 단순한 라벨이 아닙니다. 운영 관점에서는 리소스의 신분증에 가깝습니다.

태그가 없으면 다음과 같은 문제가 생깁니다.

문제 설명
비용 추적 어려움  어떤 팀, 서비스, 프로젝트에서 비용이 발생했는지 알기 어려움
리소스 소유자 불명확 장애 발생 시 담당자를 찾기 어려움
보안 예외 관리 어려움 어떤 리소스가 운영계인지 개발계인지 구분하기 어려움
자동화 어려움 특정 환경 리소스만 백업, 종료, 스캔하기 어려움
정리 대상 식별 어려움 오래된 리소스, 테스트 리소스, 미사용 리소스 구분이 어려움
권한 제어 한계 태그 기반 접근 제어, 즉 ABAC 설계가 어려움

 

AWS 환경이 커질수록 태그는 선택 사항이 아니라 기본 운영 데이터가 됩니다.

특히 다음과 같은 조직에서는 태그 체계가 반드시 필요합니다.

  • 여러 AWS 계정을 사용하는 조직
  • 개발, 검증, 운영 환경이 분리된 조직
  • 프로젝트별 비용 청구가 필요한 조직
  • ISMS-P, 금융보안, 내부감사 대응이 필요한 조직
  • Terraform, CloudFormation, CDK 같은 IaC를 사용하는 조직
  • AWS Organizations, Control Tower 기반 멀티 계정 환경을 운영하는 조직

2. 태그 설계의 핵심 원칙

태그를 잘 쓰려면 “많이 붙이는 것”보다 “일관되게 붙이는 것”이 중요합니다.

예를 들어 아래처럼 사람마다 다르게 태그를 붙이면 문제가 생깁니다.

env = prod
Env = production
environment = prd
Environment = Prod
ENV = PROD
 

 

사람은 대충 알아볼 수 있지만, 비용 리포트, 자동화 스크립트, IAM 정책, AWS Config 규칙은 이것을 서로 다른 값으로 볼 수 있습니다.

 

그래서 태그 설계에서는 다음 원칙이 중요합니다.

원칙 설명
표준화 태그 키와 값을 조직 기준으로 통일
최소화 너무 많은 태그를 강제하지 않음
자동화 사람이 수동으로 입력하지 않도록 IaC와 연계
비용 연계 Cost Allocation Tag로 활성화할 태그를 미리 선정
보안 연계 ABAC, SCP, IAM Condition, AWS Config와 연결
예외 관리 태그를 붙일 수 없는 리소스나 예외 리소스 처리 기준 마련

3. 권장 태그 키 설계

AWS 태그는 조직마다 다를 수 있지만, 일반적으로 다음 정도는 기본 태그로 권장할 수 있습니다.

태그 키 예시 값 목적
Name web-prod-ec2-01 사람이 식별하기 쉬운 이름
Environment dev, stg, prod 개발/검증/운영 환경 구분
Service homepage, payment, lms 서비스 또는 업무 시스템 구분
Owner cloud-team, security-team 담당 조직 또는 담당자
CostCenter edu-platform, corp-it 비용 배부 기준
Project ai-class, cloud-migration 프로젝트 구분
ManagedBy terraform, cloudformation, manual 생성/관리 방식 구분
DataClass public, internal, confidential 데이터 민감도 구분
Backup true, false 백업 대상 여부
ExpireDate 2026-12-31 임시 리소스 만료일

 

처음부터 너무 많은 태그를 필수로 만들면 운영자가 지키기 어렵습니다. 최소 필수 태그와 선택 태그를 구분하는 것이 좋습니다.

기본 필수 태그는 다음 정도로 시작할 수 있습니다.

Environment
Service
Owner
CostCenter
ManagedBy
 

 

보안이나 운영 자동화가 필요한 경우 다음 태그를 추가할 수 있습니다.

DataClass
Backup
PatchGroup
ExpireDate
Compliance
 

4. 태그 키 이름은 어떻게 정하는 것이 좋을까?

태그 키는 대소문자까지 포함해 일관되게 정해야 합니다.

권장 방식은 PascalCase 또는 kebab-case 중 하나를 정해서 끝까지 유지하는 것입니다.

 

PascalCase 예시는 다음과 같습니다.

Environment
CostCenter
ManagedBy
DataClass
PatchGroup
 

 

kebab-case 예시는 다음과 같습니다.

environment
cost-center
managed-by
data-class
patch-group
 

 

기업 운영 기준에서는 PascalCase가 문서화와 콘솔 가독성 측면에서 무난합니다.

중요한 것은 어떤 스타일을 쓰느냐보다 조직 전체가 같은 방식을 쓰는 것입니다.

피해야 할 방식은 다음과 같습니다.

Env
env
ENV
environment
Environment
 

 

이런 식으로 섞이면 Cost Explorer, Cost and Usage Report, 자동화 스크립트, IAM 조건문, Tag Policy에서 관리가 복잡해집니다.


5. 환경 태그는 특히 중요하다

AWS 태그 중 가장 중요한 태그를 하나만 고르라면 Environment입니다.

 

운영 환경인지, 개발 환경인지에 따라 보안 기준, 백업 기준, 모니터링 기준, 비용 관리 기준이 달라지기 때문입니다.

예시는 다음과 같습니다.

Environment = dev
Environment = stg
Environment = prod
 

또는 조직에 따라 다음처럼 쓸 수 있습니다.

Environment = development
Environment = staging
Environment = production
 

 

여기서도 중요한 것은 혼용하지 않는 것입니다.

나쁜 예시는 다음과 같습니다.

prod
prd
production
Production
PROD
 

 

운영 자동화를 생각하면 값은 짧고 명확한 것이 좋습니다.

권장 예시는 다음과 같습니다.

dev
stg
prod
 

6. 비용 관리를 위한 태그

AWS 비용 분석에서 태그는 매우 중요합니다.

예를 들어 같은 AWS 계정 안에 여러 교육 과정, 프로젝트, 고객사, 서비스가 섞여 있다면 단순히 EC2 비용이 얼마인지 보는 것만으로는 부족합니다.

 

다음과 같이 태그를 붙여야 합니다.

Project = aws-security-class
Service = eks-lab
CostCenter = training
Owner = cloudsecuritylab
 

 

이후 Billing and Cost Management에서 Cost Allocation Tag로 활성화하면 Cost Explorer나 Cost and Usage Report에서 태그 기준 비용 분석이 가능해집니다.

 

비용 분석용으로 자주 쓰는 태그는 다음과 같습니다.

태그 키 목적
CostCenter 비용 배부 단위
Project 프로젝트별 비용 분석
Service 서비스별 비용 분석
Environment 개발/운영 비용 분리
Owner 담당 팀별 비용 추적
Customer 고객사별 비용 분석
Course 교육 과정별 비용 분석

 

주의할 점은 태그를 리소스에 붙였다고 해서 바로 비용 리포트에 나타나는 것은 아니라는 점입니다. 비용 분석에 사용할 사용자 정의 태그는 Billing 콘솔에서 Cost Allocation Tag로 별도 활성화해야 합니다.


7. 보안을 위한 태그

태그는 비용뿐 아니라 보안 통제에도 사용할 수 있습니다.

예를 들어 다음과 같은 태그를 사용할 수 있습니다.

DataClass = public
DataClass = internal
DataClass = confidential
 

 

이 태그를 기준으로 보안 정책을 다르게 적용할 수 있습니다.

DataClass=confidential인 S3 버킷에는 다음과 같은 보안 기준을 적용할 수 있습니다.

  • 퍼블릭 액세스 차단 필수
  • SSE-KMS 암호화 필수
  • CloudTrail 데이터 이벤트 로깅 활성화
  • 접근 가능한 IAM Role 제한
  • 외부 계정 공유 금지

또 다른 예로 Environment=prod인 리소스에는 다음 기준을 적용할 수 있습니다.

  • 상세 모니터링 활성화
  • 백업 필수
  • 변경 시 승인 필요
  • IMDSv2 강제
  • 보안 그룹 인바운드 제한
  • 종료 방지 또는 삭제 보호 적용

태그는 보안 정책을 적용할 대상을 식별하는 기준이 됩니다.


8. ABAC와 태그 기반 권한 제어

ABAC는 Attribute-Based Access Control의 약자입니다. AWS에서는 태그를 속성으로 사용해 권한을 제어할 수 있습니다.

예를 들어 사용자의 IAM Role에 다음 태그가 있다고 가정합니다.

Team = security
 

 

그리고 EC2 인스턴스에도 다음 태그가 있다고 가정합니다.

Team = security
 

 

이 경우 “사용자의 Team 태그와 리소스의 Team 태그가 같을 때만 작업을 허용한다”는 정책을 만들 수 있습니다.

예시 IAM 정책은 다음과 같습니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "StartStopOwnTeamInstances",
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Team": "${aws:PrincipalTag/Team}"
        }
      }
    }
  ]
}
 

 

이 방식의 장점은 사용자나 팀이 늘어날 때마다 IAM 정책을 계속 새로 만들 필요가 줄어든다는 것입니다.

다만 ABAC를 쓰려면 태그 값이 정확해야 합니다. 태그 표준이 무너지면 권한 체계도 같이 흔들릴 수 있습니다.

그래서 ABAC는 반드시 Tag Policy, SCP, IAM Condition, IaC 자동화와 함께 설계하는 것이 좋습니다.


9. AWS Organizations Tag Policy

AWS Organizations를 사용한다면 Tag Policy를 통해 조직 전체 태그 표준을 관리할 수 있습니다.

Tag Policy는 다음과 같은 것을 정의할 수 있습니다.

  • 허용되는 태그 키
  • 태그 키의 대소문자 표준
  • 허용되는 태그 값
  • 특정 리소스 유형에 대한 태그 정책 적용
  • 태그 준수 여부 리포팅

예를 들어 Environment 태그 값으로 dev, stg, prod만 허용하려면 다음과 같은 정책을 만들 수 있습니다.

{
  "tags": {
    "Environment": {
      "tag_key": {
        "@@assign": "Environment"
      },
      "tag_value": {
        "@@assign": [
          "dev",
          "stg",
          "prod"
        ]
      },
      "enforced_for": {
        "@@assign": [
          "ec2:instance"
        ]
      }
    }
  }
}
 

 

Tag Policy는 조직 전체에 태그 표준을 적용하는 데 유용하지만, 이것만으로 모든 태그 문제가 해결되는 것은 아닙니다.

주의사항 설명
기존 리소스 자동 수정 아님 이미 잘못 붙은 태그를 자동으로 고쳐주지는 않음
모든 서비스 강제 지원 아님 리소스 유형별 지원 범위를 확인해야 함
필수 태그 강제는 별도 검토 필요 SCP, IAM 조건, IaC 정책과 함께 설계하는 것이 좋음
예외 관리 필요 일부 AWS 관리형 리소스나 자동 생성 리소스는 예외가 필요할 수 있음

10. SCP로 필수 태그 강제하기

태그 정책은 표준화에 좋지만, 리소스 생성 자체를 강하게 막으려면 SCP나 IAM 조건을 함께 사용할 수 있습니다.

예를 들어 EC2 인스턴스를 생성할 때 Environment 태그가 없으면 생성하지 못하도록 막는 SCP 예시는 다음과 같습니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "DenyRunInstancesWithoutEnvironmentTag",
      "Effect": "Deny",
      "Action": [
        "ec2:RunInstances"
      ],
      "Resource": "arn:aws:ec2:*:*:instance/*",
      "Condition": {
        "Null": {
          "aws:RequestTag/Environment": "true"
        }
      }
    }
  ]
}
 

 

SCP는 강력한 통제 수단이기 때문에 바로 운영 OU에 적용하면 장애를 만들 수 있습니다.

권장 적용 순서는 다음과 같습니다.

  1. 먼저 태그 표준 문서 작성
  2. 개발 계정에서 테스트
  3. Tag Policy로 리포팅 모드 적용
  4. 비준수 리소스 정리
  5. 신규 리소스부터 SCP 또는 IAM 조건으로 강제
  6. 운영 OU에는 예외 절차와 함께 단계적 적용

11. AWS Config로 태그 준수 여부 점검

AWS Config를 사용하면 리소스가 필수 태그를 가지고 있는지 점검할 수 있습니다.

예를 들어 required-tags 관리형 규칙을 사용하면 특정 리소스에 필요한 태그가 있는지 확인할 수 있습니다.

 

점검 대상 태그 예시는 다음과 같습니다.

Environment
Owner
Service
CostCenter
ManagedBy
 

 

AWS Config를 활용하면 다음과 같은 흐름을 만들 수 있습니다.

리소스 생성
→ AWS Config 평가
→ 필수 태그 누락 확인
→ NON_COMPLIANT 표시
→ EventBridge 감지
→ Lambda 또는 Systems Manager Automation으로 알림/수정
 

 

자동 수정까지 연결할 수도 있지만, 모든 태그를 자동으로 채우는 것은 위험할 수 있습니다.

예를 들어 Owner나 CostCenter는 잘못 자동 입력하면 비용 배부와 감사 결과가 틀어질 수 있습니다. 따라서 자동 수정이 가능한 태그와 사람이 확인해야 하는 태그를 구분해야 합니다.


12. Terraform에서 태그 표준화하기

Terraform을 사용한다면 Provider의 default_tags를 활용해 공통 태그를 자동으로 넣을 수 있습니다.

예시는 다음과 같습니다.

provider "aws" {
  region  = "us-east-1"
  profile = "my-sso"

  default_tags {
    tags = {
      Environment = "dev"
      Owner       = "cloud-team"
      Project     = "aws-lab"
      ManagedBy   = "terraform"
    }
  }
}
 

 

이렇게 하면 Terraform으로 생성되는 대부분의 리소스에 공통 태그가 자동으로 붙습니다.

개별 리소스에는 서비스별 태그를 추가할 수 있습니다.

resource "aws_instance" "web" {
  ami           = "ami-xxxxxxxxxxxxxxxxx"
  instance_type = "t3.micro"

  tags = {
    Name    = "web-dev-ec2-01"
    Service = "homepage"
  }
}
 

 

Terraform 태그 설계 시 주의할 점은 다음과 같습니다.

항목 설명
default_tags 사용 공통 태그 자동 적용
리소스별 tags 병행 Name, Service 등 개별 태그 추가
태그 값 변수화 환경별로 dev, stg, prod 분리
수동 변경 금지 콘솔에서 태그를 임의 수정하면 drift 발생
모듈 표준화 모든 모듈에 공통 태그 변수를 전달

 

예를 들어 환경별 변수는 다음처럼 관리할 수 있습니다.

variable "common_tags" {
  type = map(string)
  default = {
    Environment = "dev"
    Owner       = "cloud-team"
    CostCenter  = "training"
    ManagedBy   = "terraform"
  }
}
 

 

그리고 리소스에서는 다음처럼 병합할 수 있습니다.

tags = merge(
  var.common_tags,
  {
    Name    = "web-dev-ec2-01"
    Service = "homepage"
  }
)
 

13. 태그를 이용한 운영 자동화 예시

태그를 잘 설계하면 운영 자동화를 쉽게 만들 수 있습니다.

예를 들어 개발 환경 EC2를 야간에 자동 중지하고 싶다면 다음 태그를 사용할 수 있습니다.

Environment = dev
AutoStop = true
 

 

이후 Lambda나 Systems Manager Automation에서 해당 태그를 가진 인스턴스만 찾아 중지할 수 있습니다.

CLI 예시는 다음과 같습니다.

aws ec2 describe-instances \
  --filters \
    "Name=tag:Environment,Values=dev" \
    "Name=tag:AutoStop,Values=true" \
    "Name=instance-state-name,Values=running" \
  --query "Reservations[].Instances[].InstanceId" \
  --output text
 

 

백업 대상도 태그로 구분할 수 있습니다.

Backup = true
BackupPlan = daily
 

 

패치 그룹도 태그로 구분할 수 있습니다.

PatchGroup = linux-prod
PatchWindow = sunday-02
 

 

이런 방식으로 태그는 운영 자동화의 조건문 역할을 합니다.


14. EC2에서 태그를 특히 잘 관리해야 하는 이유

EC2는 AWS에서 가장 많이 쓰는 리소스 중 하나이고, 관련 리소스도 함께 생성됩니다.

EC2 하나를 만들면 다음 리소스들이 함께 얽힐 수 있습니다.

  • EC2 Instance
  • EBS Volume
  • EBS Snapshot
  • ENI
  • Security Group
  • Elastic IP
  • Auto Scaling Group
  • Launch Template
  • Load Balancer Target Group
  • CloudWatch Alarm

 

문제는 EC2 인스턴스에만 태그를 붙이고 EBS 볼륨이나 스냅샷에는 태그가 누락되는 경우가 많다는 것입니다.

운영에서는 다음 리소스에도 태그가 전파되도록 관리해야 합니다.

리소스 태그 관리 포인트
EC2 Instance 기본 태그 필수
EBS Volume 인스턴스와 동일한 Owner, Service, Environment 필요
Snapshot 백업 비용 분석을 위해 태그 필요
ENI 미사용 ENI 정리와 소유자 추적에 필요
AMI 이미지 생성 목적과 만료일 필요
ASG 인스턴스 생성 시 태그 전파 설정 필요

 

Auto Scaling Group을 사용할 때는 태그의 PropagateAtLaunch 설정을 확인해야 합니다. 이 값이 활성화되어야 ASG가 생성하는 EC2 인스턴스에 태그가 전파됩니다.


15. 좋은 태그 설계 예시

아래는 실무에서 사용할 수 있는 기본 태그 표준 예시입니다.

태그 키 필수 여부 예시 값 설명
Name 필수 web-prod-ec2-01 리소스 이름
Environment 필수 dev, stg, prod 환경 구분
Service 필수 homepage, payment 서비스명
Owner 필수 cloud-team 담당 조직
CostCenter 필수 corp-it 비용 배부
ManagedBy 필수 terraform, manual 관리 방식
Project 선택 cloud-migration 프로젝트명
DataClass 선택 public, internal, confidential 데이터 등급
Backup 선택 true, false 백업 여부
ExpireDate 선택 2026-12-31 만료일
Compliance 선택 pci, isms-p, none 규제/감사 기준

 

실제 태그 예시는 다음과 같습니다.

Name = api-prod-ec2-01
Environment = prod
Service = payment
Owner = platform-team
CostCenter = fintech-service
ManagedBy = terraform
DataClass = confidential
Backup = true
Compliance = isms-p
 

16. 피해야 할 태그 설계

태그를 사용할 때 다음과 같은 방식은 피하는 것이 좋습니다.

1) 사람 이름을 직접 넣는 방식

Owner = ilsun
 

작은 조직에서는 편할 수 있지만, 담당자가 바뀌면 관리가 어려워집니다.

가능하면 개인보다 팀이나 메일 그룹을 쓰는 것이 좋습니다.

Owner = cloud-team
Contact = cloud-team@example.com
 

2) 태그 값에 너무 많은 의미를 넣는 방식

Name = prod-web-seoul-important-do-not-delete-costcenter123
 

이런 방식은 자동화에 적합하지 않습니다.

의미는 태그 키별로 나누는 것이 좋습니다.

Environment = prod
Service = web
Region = ap-northeast-2
DeleteProtection = true
CostCenter = costcenter123
 

3) 임시 리소스에 만료일이 없는 방식

교육, 테스트, PoC 리소스는 반드시 만료일 태그를 붙이는 것이 좋습니다.

ExpireDate = 2026-07-31
 

이 태그가 없으면 테스트 리소스가 몇 달씩 남아서 비용을 만들 수 있습니다.

4) 민감정보를 태그에 넣는 방식

태그에는 비밀번호, 토큰, 개인정보, 고객 식별정보 같은 민감정보를 넣으면 안 됩니다.

나쁜 예시는 다음과 같습니다.

Password = P@ssw0rd123
Token = eyJhbGciOi...
CustomerEmail = user@example.com
 

태그는 여러 관리 도구, 비용 리포트, 로그, API 응답에 노출될 수 있으므로 민감정보를 넣지 않는 것이 원칙입니다.


17. 태그 운영 프로세스

태그는 한 번 정하고 끝나는 것이 아니라 계속 관리해야 합니다.

권장 운영 프로세스는 다음과 같습니다.

1. 태그 표준 정의
2. 필수 태그와 선택 태그 분리
3. 태그 값 목록 정의
4. Terraform/CloudFormation/CDK에 반영
5. AWS Organizations Tag Policy 적용
6. AWS Config로 비준수 리소스 탐지
7. Cost Allocation Tag 활성화
8. Cost Explorer에서 비용 검증
9. 예외 리소스 승인 절차 운영
10. 월 1회 태그 품질 리뷰
 

 

조직 규모가 작다면 처음부터 복잡하게 시작할 필요는 없습니다.

최소한 다음 5개 태그만이라도 일관되게 붙이면 운영 품질이 크게 좋아집니다.

Environment
Service
Owner
CostCenter
ManagedBy
 

18. 태그 점검용 CLI 예시

특정 EC2 인스턴스의 태그를 확인하려면 다음 명령을 사용할 수 있습니다.

aws ec2 describe-instances \
  --query "Reservations[].Instances[].{
    InstanceId:InstanceId,
    State:State.Name,
    Name:Tags[?Key=='Name']|[0].Value,
    Environment:Tags[?Key=='Environment']|[0].Value,
    Owner:Tags[?Key=='Owner']|[0].Value,
    Service:Tags[?Key=='Service']|[0].Value
  }" \
  --output table
 

 

Environment 태그가 없는 EC2 인스턴스를 찾는 예시는 다음과 같습니다.

aws ec2 describe-instances \
  --query "Reservations[].Instances[?!not_null(Tags[?Key=='Environment'].Value)].{
    InstanceId:InstanceId,
    State:State.Name,
    Name:Tags[?Key=='Name']|[0].Value
  }" \
  --output table
 

 

특정 태그를 가진 EC2만 조회하려면 다음처럼 필터를 사용할 수 있습니다.

aws ec2 describe-instances \
  --filters "Name=tag:Environment,Values=prod" \
  --query "Reservations[].Instances[].{
    InstanceId:InstanceId,
    Name:Tags[?Key=='Name']|[0].Value,
    Service:Tags[?Key=='Service']|[0].Value
  }" \
  --output table
 

 

ASG 태그 전파 여부는 다음과 같이 볼 수 있습니다.

aws autoscaling describe-auto-scaling-groups \
  --query "AutoScalingGroups[].{
    ASG:AutoScalingGroupName,
    Tags:Tags[].{
      Key:Key,
      Value:Value,
      PropagateAtLaunch:PropagateAtLaunch
    }
  }" \
  --output json
 

19. 태그 정책을 도입할 때의 현실적인 순서

태그 정책은 처음부터 강제하면 반발이 생기거나 배포가 실패할 수 있습니다.

현실적인 도입 순서는 다음과 같습니다.

1단계: 현재 태그 상태 조사

먼저 현재 리소스에 어떤 태그가 붙어 있는지 확인합니다.

Environment, env, Env, ENV가 섞여 있는지
Owner가 개인 이름인지 팀 이름인지
CostCenter가 실제 비용 조직과 연결되는지
Name만 있고 다른 태그가 없는 리소스가 많은지
 

2단계: 표준 태그 문서 작성

필수 태그와 허용 값을 문서화합니다.

Environment: dev, stg, prod
ManagedBy: terraform, cloudformation, console, system
Backup: true, false
DataClass: public, internal, confidential
 

3단계: 신규 리소스부터 적용

기존 리소스를 한 번에 모두 고치려 하지 말고 신규 리소스부터 표준을 적용합니다.

4단계: IaC에 반영

Terraform, CloudFormation, CDK 모듈에 공통 태그를 넣습니다.

5단계: 리포팅 적용

AWS Config, Resource Groups Tagging API, Tag Editor를 이용해 비준수 리소스를 확인합니다.

6단계: 강제 정책 적용

충분히 안정화되면 Tag Policy, SCP, IAM 조건을 통해 강제합니다.


20. 결론

AWS 태그는 단순한 이름표가 아닙니다.

잘 설계된 태그는 다음을 가능하게 합니다.

  • 비용을 프로젝트, 팀, 서비스별로 분석
  • 리소스 소유자와 운영 책임 식별
  • 개발/운영 환경별 보안 기준 적용
  • 백업, 패치, 종료 자동화
  • AWS Config 기반 준수 점검
  • IAM ABAC 기반 권한 제어
  • 미사용 리소스 정리
  • 감사와 보안 점검 대응

반대로 태그가 없거나 일관되지 않으면 AWS 환경이 커질수록 운영이 복잡해지고 비용 분석이 어려워집니다.

처음부터 완벽한 태그 체계를 만들 필요는 없습니다. 하지만 최소한 다음 5개 태그는 조직 표준으로 정하고 시작하는 것이 좋습니다.

Environment
Service
Owner
CostCenter
ManagedBy
 

 

그리고 이후 필요에 따라 DataClass, Backup, ExpireDate, Compliance, PatchGroup 같은 태그를 확장하면 됩니다.

AWS 운영에서 태그는 비용 관리의 시작이자, 보안 거버넌스의 출발점입니다.


관련 링크

 

반응형