Example Tag Compliance Policy¶
In this sample policy we are filtering for EC2 instances that are:
- Running
- Not part of an Auto Scaling Group (ASG)
- Not already marked for an operation
- Have less than 10 tags
- Missing one or more of the required tags.
Once Custodian has filtered the list, it will mark all EC2 instances that match the above criteria with a tag. That tag specifies an action that will take place at a certain time. This policy is one of three that are needed to manage tag compliance. The other two policies in this set are:
- Checking to see if the tags have been corrected before the four day period is up
- Performing the operation of stopping all instances with the status to be stopped on that particular day.
- name: ec2-tag-compliance-mark
resource: ec2
comment: |
Mark non-compliant, Non-ASG EC2 instances with stoppage in 4 days
filters:
▣───────── - "State.Name": running
│ ▣─────── - "tag:aws:autoscaling:groupName": absent
│ │ ▣───── - "tag:c7n_status": absent
│ │ │ ▣─── - type: tag-count
│ │ │ │ - or: ─┐
│ │ │ │ - "tag:Owner": absent ├─If any of these tags are
│ │ │ │ - "tag:CostCenter": absent │ missing, then select instance
│ │ │ │ - "tag:Project": absent ─┘
│ │ │ │
│ │ │ │ actions: ─────────────────▶ For selected instances, run this action
│ │ │ │ - type: mark-for-op ────▶ Mark instance for operation
│ │ │ │ op: stop ─────────────▶ Stop instance
│ │ │ │ days: 4 ──────────────▶ After 4 days
│ │ │ │
│ │ │ ▣────▶ If instance has 10 tags, skip
│ │ ▣──────▶ If instance already has a c7n_status, skip
│ ▣────────▶ If instance is part of an ASG, skip
▣──────────▶ If instance is not running, skip
Last update:
2023-03-06 18:53:48