Bird
Raised Fist0
AWScloud~10 mins

Resource tagging for cost tracking in AWS - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a tag key for cost tracking in AWS CloudFormation.

AWS
Resources:
  MyBucket:
    Type: AWS::S3::Bucket
    Properties:
      Tags:
        - Key: [1]
          Value: "ProjectX"
Drag options to blanks, or click blank then click option'
AEnvironment
BOwner
CCostCenter
DName
Attempts:
3 left
💡 Hint
Common Mistakes
Using generic tag keys like 'Name' or 'Owner' which do not directly relate to cost tracking.
2fill in blank
medium

Complete the AWS CLI command to tag an EC2 instance for cost tracking.

AWS
aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=[1],Value=Marketing
Drag options to blanks, or click blank then click option'
ACostCenter
BProject
CDepartment
DOwner
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'Owner' or 'Project' which are not standard for cost tracking.
3fill in blank
hard

Fix the error in the Terraform resource tagging block for cost tracking.

AWS
resource "aws_s3_bucket" "my_bucket" {
  bucket = "my-bucket"
  tags = {
    [1] = "Finance"
  }
}
Drag options to blanks, or click blank then click option'
ACostCenter
Bcostcenter
CcostCenter
Dcost_center
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase or snake_case which AWS does not recognize for standard tags.
4fill in blank
hard

Fill both blanks to create a CloudFormation resource with tags for cost tracking and environment.

AWS
Resources:
  MyInstance:
    Type: AWS::EC2::Instance
    Properties:
      Tags:
        - Key: [1]
          Value: "12345"
        - Key: [2]
          Value: "Production"
Drag options to blanks, or click blank then click option'
ACostCenter
BEnvironment
COwner
DProject
Attempts:
3 left
💡 Hint
Common Mistakes
Using non-standard tag keys that do not help with cost tracking or environment identification.
5fill in blank
hard

Fill all three blanks to define a Terraform AWS resource with tags for cost tracking, owner, and environment.

AWS
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"

  tags = {
    [1] = "7890"
    [2] = "Alice"
    [3] = "Staging"
  }
}
Drag options to blanks, or click blank then click option'
ACostCenter
BOwner
CEnvironment
DProject
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up tag keys or using non-standard keys that do not help with cost tracking.

Practice

(1/5)
1. What is the main purpose of adding tags to AWS resources for cost tracking?
easy
A. To organize and identify resources for cost allocation
B. To increase the storage capacity of resources
C. To improve the speed of resource deployment
D. To automatically back up resources daily

Solution

  1. Step 1: Understand the role of tags in AWS

    Tags are labels that help organize resources by adding key-value pairs.
  2. Step 2: Connect tags to cost tracking

    Tags allow grouping resources to see costs clearly in reports.
  3. Final Answer:

    To organize and identify resources for cost allocation -> Option A
  4. Quick Check:

    Tags help track costs [OK]
Hint: Tags label resources to track costs easily [OK]
Common Mistakes:
  • Thinking tags increase storage or speed
  • Confusing tags with backups
  • Assuming tags change resource performance
2. Which of the following is the correct syntax to add a tag with key Environment and value Production to an AWS EC2 instance using AWS CLI?
easy
A. aws ec2 tag-instance --id i-1234567890abcdef0 --key Environment --value Production
B. aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Environment,Value=Production
C. aws ec2 add-tag --instance i-1234567890abcdef0 --tag Environment=Production
D. aws ec2 set-tags --resource i-1234567890abcdef0 --tags Environment:Production

Solution

  1. Step 1: Recall AWS CLI command for tagging

    The correct command is aws ec2 create-tags with resource ID and tags specified as Key=Value pairs.
  2. Step 2: Match syntax with options

    aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Environment,Value=Production matches the correct syntax exactly.
  3. Final Answer:

    aws ec2 create-tags --resources i-1234567890abcdef0 --tags Key=Environment,Value=Production -> Option B
  4. Quick Check:

    Correct AWS CLI tag syntax [OK]
Hint: Use 'create-tags' with Key= and Value= pairs [OK]
Common Mistakes:
  • Using wrong command names like add-tag or tag-instance
  • Incorrect tag format without Key= and Value=
  • Mixing resource and instance flags
3. Given the following AWS CLI command, what will be the effect?
aws ec2 create-tags --resources i-0abcd1234efgh5678 --tags Key=Project,Value=Alpha Key=Owner,Value=TeamA
medium
A. The instance will have two tags: Project=Alpha and Owner=TeamA
B. The command will fail due to multiple tags in one command
C. Only the last tag Owner=TeamA will be applied
D. The tags will overwrite existing tags on the instance

Solution

  1. Step 1: Understand AWS CLI tagging with multiple tags

    The create-tags command supports multiple tags by repeating the Key=Value pairs.
  2. Step 2: Analyze the command effect

    Both tags Project=Alpha and Owner=TeamA will be added to the instance.
  3. Final Answer:

    The instance will have two tags: Project=Alpha and Owner=TeamA -> Option A
  4. Quick Check:

    Multiple tags added together [OK]
Hint: Multiple tags can be added by repeating Key=Value pairs [OK]
Common Mistakes:
  • Assuming only one tag can be added at a time
  • Thinking the command fails with multiple tags
  • Believing tags overwrite all existing tags
4. You tried to tag an AWS S3 bucket using this command:
aws s3api put-bucket-tagging --bucket my-bucket --tags Key=Environment,Value=Dev

But it failed. What is the likely error?
medium
A. S3 buckets cannot be tagged
B. The bucket name is invalid
C. The command should be run with root user only
D. The --tags parameter is missing the required JSON format

Solution

  1. Step 1: Check S3 tagging command syntax

    The put-bucket-tagging command requires tags in JSON format under the --tagging parameter, not --tags.
  2. Step 2: Identify the error cause

    Using --tags with Key=Value string causes syntax error; correct usage is JSON with --tagging.
  3. Final Answer:

    The --tags parameter is missing the required JSON format -> Option D
  4. Quick Check:

    S3 tagging needs JSON format [OK]
Hint: Use JSON format with --tagging for S3 bucket tags [OK]
Common Mistakes:
  • Using --tags instead of --tagging with JSON
  • Assuming only root user can tag buckets
  • Believing S3 buckets cannot be tagged
5. You want to track costs for multiple projects in your AWS account. Which tagging strategy will give the clearest cost reports?
hard
A. Tag only the resources with the highest cost
B. Use different tag keys like Project1, Project2 for each project
C. Use a single tag key Project with unique values for each project on all resources
D. Use tags only on EC2 instances, ignoring other resources

Solution

  1. Step 1: Understand best practice for cost tracking tags

    Using one consistent tag key with different values groups costs clearly by that key.
  2. Step 2: Evaluate options for clarity

    Use a single tag key Project with unique values for each project on all resources uses a single key Project with unique values, making reports easy to filter and compare.
  3. Final Answer:

    Use a single tag key Project with unique values for each project on all resources -> Option C
  4. Quick Check:

    Consistent tag keys for clear cost reports [OK]
Hint: Use one tag key with different values for projects [OK]
Common Mistakes:
  • Using multiple tag keys for similar data
  • Tagging only some resources
  • Ignoring tags on non-EC2 resources