AWS/Terraform / / 2023. 7. 13. 00:05

[AWS Terraform 기초]16. AMI 생성

반응형

Auto Scaling에 사용될 시작 템플릿을 만들기 위한 AMI 생성

 

1. Terraform Docs 예시

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ami_from_instance

 

Terraform Registry

 

registry.terraform.io

 

예시:

 

 

인수 등:

 

 

2. Terraform 코드 작성

 

# 15_ami.tf
resource "aws_ami_from_instance" "pmh_ami" {
  name = "pmh-ami"
  source_instance_id = aws_instance.pmh_ma.id

  depends_on = [ 
    aws_instance.pmh_ma 
    ]
}

 

resource "aws_ami_from_instance" "pmh_ami"

pmh_ami 라는 이름의 이미지 생성

 

name = "pmh-ami"

이미지 이름을 "pmh-ami"로 설정

 

source_instance_id = aws_instance.pmh_ma.id

이미지로 만들 인스턴스의 ID를 지정

(앞서 만들었던 인스턴스의 id)

 

depends_on = [ aws_instance.pmh_ma ]

이미지가 만들어지기 전에 선행되어야 될 작업

(EC2 인스턴스가 먼저 생성되도록 의존성을 설정)

 

 

 

3. Terraform 분석 및 적용

 

terraform 파일이 있는 위치에서 아래 명령어 실행

 

# 변경 사항 검토 및 확인
terraform plan

# (대화형 승인 없이)변경 사용항 적용
terraform apply -auto-approve

 

4. 결과

 

+ 변수처리하는 방법

 

tag 변수 파일 생성

# var.tf
variable "tag" {
  type        = string
  default     = "pmh"
}

 

# 15_ami.tf
resource "aws_ami_from_instance" "pmh_ami" {
  name = "${var.tag}-ami"
  source_instance_id = aws_instance.pmh_ma.id

  depends_on = [ 
    aws_instance.pmh_ma 
    ]
}

 

 
 
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유