Tag cho phép phân bổ chi phí theo team/dự án và trả lời được resource lạ này của ai. Không có tag thì hoá đơn chỉ là một con số tổng.
Áp một lần ở provider level:
hcl
provider "aws" {
default_tags {
tags = {
Environment = var.env
Owner = "team-payment"
Service = "checkout-api"
ManagedBy = "terraform" # phan biet voi resource tao tay
}
}
}Tag ManagedBy là cái hữu ích nhất lúc dọn dẹp: nó tách ngay resource do Terraform quản lý khỏi thứ ai đó tạo tay từ 2 năm trước.
Một số resource không nhận default_tags (ASG cần tag block riêng, EBS volume của EC2 cần volume_tags) — đây là chỗ hay sót.
Đi kèm rất hiệu quả: đưa tag bắt buộc vào policy check, để dữ liệu chi phí và ownership luôn đầy đủ mà không cần nhắc nhau.