Terraform으로 만든 리소스를 수동으로 변경하면 어떻게됩니까?
그것을 무시하면 어떻게 될까요.
확인해보기
Terraform에서 적절한 리소스를 설정합니다. 아래의 샘플대로 EC2를 세웁니다.
htps //w w. 테라후 rm. 이오/도 cs/p로ゔぃ로 rs/아ws/r/인 s단세. HTML
다음에 작성한 EC2의 Tag를 적당히 편집해 보겠습니다.
다음에 이전에 terraform을 실행한 작업용 단말로부터 terraform apply 해 보겠습니다.
$ terraform apply
data.aws_ami.ubuntu: Refreshing state...
aws_instance.web: Refreshing state... [id=i-0f4160053f3cf94fe]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# aws_instance.web will be updated in-place
~ resource "aws_instance" "web" {
ami = "ami-0cf54a87bffe628d2"
arn = "arn:aws:ec2:ap-northeast-1:xxxxxxxxxxxxxxxxxxxxx"
associate_public_ip_address = true
【中略】
~ tags = {
"Name" = "HelloWorld"
- "Name2" = "Testadded" -> null
}
tenancy = "default"
volume_tags = {}
【中略】
Plan: 0 to add, 1 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value:
위와 같이 코드에 기재되어 있지 않은 tag를 제외하려고 하면 “1 to change”라고 표시됩니다.
이것을 실제로 실행하고 나서 관리 콘솔에서 확인해 보겠습니다.
매니지먼트 콘솔상에서도 수작업으로 더한 tag가 사라져 버리고 있는 것을 알 수 있습니다.
이번의 경우는 tag가 변경되어 버렸을 뿐입니다만,
만약 이것이 신규로 작성한 SG를 수동으로 접속되어 있던 경우 등은, SG가 빠져 버려 의도하지 않는 통신 단의 원인이 되기 때문에
코드로 작성한 코드는 원칙적으로 모두 코드로 관리해야 합니다.
※terraform은 tfstate의 내용을 읽고,
작성·삭제한 자원에 대해서, 실제 환경과의 매핑이나 메타데이터를 관리하고 있으므로 tfstate에 근거하는 동작을 한다.
htps //w w. 테라후 rm. 이오/도 cs/s 갓/푸 r 포세. HTML
예외를 운용상으로 인정하면 오라일리의 IaC 책에서 입이 신맛이 들 정도로 말해질 정도
구성 드리프트나 눈송이 서버의 굴이 되어 부서지기 쉬운 인프라가 되므로 절대로 중지합시다!
terraform의 구성 드리프트에서 매우 유용한 페이지
Reference
이 문제에 관하여(Terraform으로 만든 리소스를 수동으로 변경하면 어떻게됩니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sicksixrock66/items/66f3f16231216e1230a8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ terraform apply
data.aws_ami.ubuntu: Refreshing state...
aws_instance.web: Refreshing state... [id=i-0f4160053f3cf94fe]
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# aws_instance.web will be updated in-place
~ resource "aws_instance" "web" {
ami = "ami-0cf54a87bffe628d2"
arn = "arn:aws:ec2:ap-northeast-1:xxxxxxxxxxxxxxxxxxxxx"
associate_public_ip_address = true
【中略】
~ tags = {
"Name" = "HelloWorld"
- "Name2" = "Testadded" -> null
}
tenancy = "default"
volume_tags = {}
【中略】
Plan: 0 to add, 1 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value:
Reference
이 문제에 관하여(Terraform으로 만든 리소스를 수동으로 변경하면 어떻게됩니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sicksixrock66/items/66f3f16231216e1230a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)