반응형
안녕하세요.
오늘도 테라폼에 대해서 공부해보겠습니다.
변경 가능(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'가 된다는 문구도 확인을 할 수 있습니다. 삭제 후 생성을 하는 것이죠!
마무리
변경 가능 / 불가능에 대해서 알아봤습니다.
가능한 값들은 바로 replace되고, 불가능한 값들은 삭제 후 생성하는 것이었습니다.
실환경에서 작업하는 경우 Immutable한 값을 변경할 때에는
작업의 속도를 높이기위해서 리소스를 삭제하고 생성하는 것이 더 빠른 거 같습니다.
To be Continued

반응형
'IaC' 카테고리의 다른 글
Terraform - (4) (0) | 2023.09.01 |
---|---|
Terraform - (2) (0) | 2023.08.31 |
Terraform - (1) (0) | 2023.08.31 |