2017-03-21 4 views
0

공간이 실행 ​​한 후 지금 내 Terraform의 크기 부분은 컨피그 만들고 싶어하고 aws_instance 자원에 다음 블록을 추가, 내 EBS 볼륨의 크기를 조정했다 기존의 볼륨을 파괴하는 것은 끔찍한 일입니다. 또한 terraform import을 사용하여 기존의 것을 가져 오려고했으나, 리소스에 다른 이름을 사용하고 싶었습니다.EBS 볼륨의 크기를 Terraform으로 다시 가져온 후에 변경 내용을 가져 오는 방법은 무엇입니까? 이 원 <code>terraform plan</code>를 실행 한 후 지금</p> <pre><code>ebs_block_device { device_name = "/dev/sda1" volume_size = 32 volume_type = "gp2" } </code></pre> <p>:

여기 올바른 절차는 무엇입니까?

답변

1

aws_instance resource docs EBS 블록 장치를 변경하면 인스턴스가 다시 작성됩니다.

이 문제를 해결하기 위해 AWS의 새로운 elastic volumes 기능을 사용하여 Terraform을 사용하여 EBS 볼륨을 늘릴 수 있습니다. aws_instance 리소스에서 생성 연결된 블록 장치의 어떤 변경이 검출되지 않을 수도 Terraform :

참고 : 현재 변경 * 기존 자원 _block_device 구성 자동 Terraform 의해 검출 될 수없는 데. 장치 구성을 차단하도록 업데이트 한 후 taint 명령을 사용하여 리소스 재생성을 수동으로 트리거 할 수 있습니다. 다시 가서 인스턴스를 잃어 버릴까 걱정을 지적하는 어떤 점에서 Terraform을 사용하여 인스턴스를 재 구축하고자하지 않는 당신의 Terraform 구성에서 아무것도 변경할 필요가 없습니다 등으로

분명히 논쟁이다.

그러나 어떤 이유로 Terraform 구성을 변경하려는 경우 인스턴스가 손상되지 않도록 유지하려면 상태 파일을 조작해야합니다.