Add tags in EC2 instance

AWS 서비스를 이용하며 tag는 중요한 역할을 한다.

메타 언어로 해당 리소스에 대한 주석 역할을 한다.

디버그가 쉬울 뿐만 아니라, 유지/보수/식별 측면에서 매우 효과적이다.


1. variables.tf 업데이트

variable "prefix" {
  default = "recipe-app"
}



variable "project" {
    default = "recipe-app-api-devops"
}

variable "contact" {
    default = "[email protected]"
}



2. main.tf 업데이트


...(생략)...


locals {
  prefix = "${var.prefix}-${terraform.workspace}"
  common_tags = {
    Environment = terraform.workspace
    Project = var.project
    Owner = var.contact
    ManagedBy = "Teffaform"
  }
}

위와 같이 작성하면
앞으로 terraform으로 생성할 모든 리소스들에 대해 tag가 생긴다.



3. bastion.tf 업데이트

data "aws_ami" "amazon_linux" {
  most_recent = true
  filter {
    name   = "name"
    values = ["amzn2-ami-hvm-2.0.*-x86_64-gp2"]
  }
  owners = ["amazon"]
}

resource "aws_instance" "bastion" {
  ami           = data.aws_ami.amazon_linux.id
  instance_type = "t2.micro"

  tags = merge(
        local.common_tags,
        map("Name", "${local.prefix}-bastion")
  )
}



4. 결과 확인

 docker-compose -f deploy/docker-compose.yml run --rm terraform fmt
 docker-compose -f deploy/docker-compose.yml run --rm terraform validate
 docker-compose -f deploy/docker-compose.yml run --rm terraform plan
 





docker-compose -f deploy/docker-compose.yml run --rm terraform apply



tag를 확인해보자.



좋은 웹페이지 즐겨찾기