# Terraform 리소스 변경
# 이미지 변경
AMI 이미지 ID를 ami-0b329fb1f17558744로 변경한다
# 변경 사항 계획
-/+ 삭제하고 다시 만든다 replacement 교체
이미지만 변경 할 수 없기 때문에 , 기존 이미지를 제거하고 다시 만든다.
# 변경 사항 적용
기존 인스턴스는 제거하고 새로운 인스턴스가 생성된다
# AWS 콘솔에서 확인
# terraform.tfstate 파일 확인
terraform.tfstate 파일로 현재 상태를 볼 수 있다.
apply를 하게 되면 terraform.tfstate 텍스트 파일이 생성 되는데 절대 git에 push되지 않도록 주의한다.
json형태의 데이터가 나오는데 apply를 했을 때 실제로 리소스가 만들어지고 상태가 저장된다. 리소스의 정보가 저장된다. 수동으로 수정하지 않는것이 좋다. 파일을 삭제하게 되면 배포 된 인스턴스를 Terraform이 더이상 관리하지 않는다 (import를 시키면 다시 관리 가능). 삭제 후 apply를 하게 되면 새로운 리소스가 생성된다.
# terraform.tfstate.backup 파일 확인
terraform.tfstate.backup 바로 직전 상태를 보여주는 파일
# 인프라 리소스 삭제
# 리소스 삭제
# AWS 콘솔에서 확인
# 삭제 후 terraform.tfstate 파일 확인
리소스가 없다.
# 삭제 후 terraform.tfstate.backup 파일 확인
devops@control:~/aws-example$ vi main.tf
devops@control:~/aws-example$ cat main.tf
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.34"
}
}
}
provider "aws" {
profile = "default"
region = "ap-northeast-2"
}
resource "aws_instance" "my_instance" {
ami = "ami-0b329fb1f17558744"
instance_type = "t3.micro"
tags = {
Name = "MyInstance"
}
}
devops@control:~/aws-example$ terraform plan
devops@control:~/aws-example$ terraform apply
devops@control:~/aws-example$ ls
main.tf terraform.tfstate terraform.tfstate.backup
devops@control:~/aws-example$ cat terraform.tfstate
devops@control:~/aws-example$ cat terraform.tfstate.backup
devops@control:~/aws-example$ terraform destroy
'클라우드 > 테라폼(Terraform)' 카테고리의 다른 글
테라폼 Terraform 입력 변수 (0) | 2021.08.05 |
---|---|
테라폼 Terraform 리소스 종속성 (0) | 2021.08.05 |
테라폼 Terraform 구성 파일 작성 , 배포 (0) | 2021.08.05 |
테라폼 Terraform 설치 , AWS CLIv2 설치 (0) | 2021.08.05 |
테라폼 Terraform 이란? (0) | 2021.08.05 |