[Terraform] 다양한 이름 설정

Resource Name 선언

ALB 이름 예시

Variable Block

variable "solution_name" {
	default = "AirRic3"
}

variable "environment" {
	default = "Development"
}

variable “solution_name”

  • variable “solution_name” : solution_name에 대한 변수를 선언한다.
  • default : solution_name 기본값을 AirRic3로 선언한다.

variable “environment”

  • variable “enviroment” : enviroment에 대한 변수를 선언한다.
  • default : enviroment의 기본값을 Development로 선언한다.
  • Development, Staging, Production 중 개발 환경에 따라 다르다.

Resource Block

resource "aws_lb" "alb" {
  name = format("%s-%s-lb", lower(var.solution_name), substr(lower(var.environment), 0, 7))

resource “aws_lb” “alb”

  • aws_lb : AWS Load Balancer를 정의하는 Terraform 리소스 유형이다.
  • alb : Terraform에서 사용하는 Resource name이다.

name

  • 실제 AWS에 적용되는 이름이다.

format("%s-%s-lb", lower(var.solution_name), substr(lower(var.environment), 0, 7))

  • %s 자리에는 변수를 넣겠다는 의미이다.
  • lower(var.solution_name) : var.solution_name 변수값을 소문자로 변환한다.
  • substr(lower(var.environment), 0,7)) : var.environment를 소문자로 변환한 후, 앞의 7글자만 추출

Resource에서 이름을 선언하면 실제로 name = AirRic3-develop-lb라는 이름으로 만들어 진다.

ECS Cluster 이름 예시

Variable Block

variable "cluster_name" {
  default = "Air-Ric3-Eclipse"
}

variable “cluster_name”

  • variable “cluster_name” : cluster_name에 대한 변수를 선언한다.
  • default : cluster_name 기본값을 Air-Ric3-Eclipse로 선언한다.

Resouce Block

resource "aws_ecs_cluster" "cluster" {
  name = var.cluster_name

resource “aws_ecs_cluster”, “cluster”

  • aws_ecs_cluster : AWS Ecs Cluster를 정의하는 Terraform 리소스 유형이다.
  • cluster : Terraform에서 사용하는 Resource name이다.

resource에서 이름을 선언하면 실제로 name = Air-Ric3-Eclipse라는 이름으로 만들어 진다.