Ops-Beginner
article thumbnail
Published 2023. 8. 31. 22:51
Terraform - (3) IaC
반응형

안녕하세요.

오늘도 테라폼에 대해서 공부해보겠습니다.

변경 가능(Mutable) / 불가능(Immutable)이란?

변경가능한 속성 값을 수정하면 인프라에 수정된 내용이 적용됩니다.

EC2 Instance에 태그를 추가해서 적용해보겠습니다.

provider "aws" {
  region = "ap-northeast-2"
}

resource "aws_instance" "example" {
  # Ubuntu Image
  ami           = "ami-0c9c942bd7bf113a2"
  instance_type = "t2.micro"
  
  tags = {
    Name = "tag-test"
  }
}

변경 가능(Mutable)

'terraform plan'으로 확인해보면, 'update in-place'가 될 거라고 알려줍니다.

'terraform apply' 적용하면, Modify 된 것을 확인할 수 있습니다.

AWS Console 화면에서 보면 Tag가 생긴 것을 확인할 수 있습니다.

전 / 후

 

변경 불가능(Immutable)

변경이 안되는 값을 변경하게되면, 리소스를 삭제하고 새로 생성합니다.

테스트로 ami를 변경해보겠습니다. ami 변경된다는 것을 확인할 수 있습니다.

그리고 'destroy and then create replacement'가 된다는 문구도 확인을 할 수 있습니다. 삭제 후 생성을 하는 것이죠!

Plan
Apply
변경된 모습

 

마무리

변경 가능 / 불가능에 대해서 알아봤습니다.

가능한 값들은 바로 replace되고, 불가능한 값들은 삭제 후 생성하는 것이었습니다.

실환경에서 작업하는 경우 Immutable한 값을 변경할 때에는

작업의 속도를 높이기위해서 리소스를 삭제하고 생성하는 것이 더 빠른 거 같습니다.

To be Continued

반응형

'IaC' 카테고리의 다른 글

Terraform - (4)  (0) 2023.09.01
Terraform - (2)  (0) 2023.08.31
Terraform - (1)  (0) 2023.08.31
profile

Ops-Beginner

@asher_r

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!