리소스 수동 변경으로 지형 상태를 업데이트하는 방법
리소스 수동 변경으로 지형 상태를 업데이트하는 방법
EC2 인스턴스 및 %2C를 포함하는 AWS를 통해 일부 리소스를 프로비저닝했지만, 그 후 테라폼에 의해 감지된 이러한 인스턴스에 일부 추가 보안 그룹을 첨부하고 구성 파일에 따라 %27s it%27l 롤백한다고 표시됩니다.
%27s가 내 EC2에 SG를 부착하는 아래 코드가 있다고 말하자.
vpc_security_group_ids %3D %5B%22sg-xxx%22%5d
하지만 이제 내 문제는 수동으로 연결된 보안 그룹 %3을 분리하지 않도록 terraform.dllstate 파일을 어떻게 업데이트할 수 있느냐 하는 것이다.a
아래와 같이 해결할 수 있습니다.a
- 나는 상태 파일을 업데이트할 테라폼 상태 파일을 새로 고칠 것이다.
- 그런 다음 수동으로 첨부한 보안 그룹 ID %27s로 내 테라폼 구성 파일을 수동으로 업데이트해야 합니다.
하지만 그것은 작은 종류의 설정에서 가능하다. 만약 우리가 복잡한 시나리오 %2C를 가지고 있다면 우리는 표류를 감지하고 그것을 업데이트할 다른 메카니즘을 테라폼에 가지고 있는가?
%21%21 감사합니다.
AWS에서 드리프트를 감지할 때 테라폼이 소스 코드를 업데이트할 방법은 없습니다.
말씀하신 프로세스가 맞습니다%3a
- AWS에서 수행한 수동 변경 사항을 Terraform 코드로 보고
- a를 수행합니다. 상태를 새로 고치고 여전히 차이가 있는 경우
이 작업은 지형 상태 파일을 수동으로 업데이트하여 수행할 수 있지만 이 파일을 수동으로 업데이트하는 것은 권장되지 않습니다.
또한 %2C는 Terraform%29에 의해 생성된 AWS 리소스 %28을 수동으로 업데이트하거나 Terraform 코드 외부에서 업데이트하면 의 전체 목적이 무효화됩니다.
Terraform을 사용하여 AWS에서 복잡한 인프라를 관리하려는 경우 모범 사례를 따르는 것이 좋습니다. 그 중 하나는 모든 변경 사항이 코드를 통해 수행되어야 한다는 것입니다.
이게 도움이 되길 바란다.
ID와 함께 사용하여 원격 변경사항을 테라폼 상태 파일로 가져올 수 있습니다. 나중에 변경 사항이 코드에 반영되는지 확인하는 데 사용합니다.
terraform import <resource>.<resource_name> [unique_id_from_aws]
제공자% 2에 대해 일시적으로 의견을 제시해야 할 수 있습니다.수동으로 생성된 리소스의 출력에 의존하는 새로 고침 소스.
위의 %2C를 실행한 후 종속성을 주석 해제하고 실행하십시오.
받아들여진 답은 엄밀히 말하면 정확하지 않다.
내 테스트에 따르면 %3Terraform 새로 고침은 현재 라이브 구성으로 상태 파일을 업데이트합니다. Terraform 계획은 라이브 구성으로 내부적으로만 업데이트하고 코드 %2C와 비교하지만 실제로는 업데이트하지 않습니다. Terraform apply는 %28 사용 사례 %3D 매뉴얼을 적용하기 위한 변경 사항이 없다고 해도 상태 파일을 현재 라이브 구성 %2C로 업데이트합니다. 변경 후 변경 사항을 반영하도록 TF 코드를 업데이트하고 이제 상태 파일 %29을(를) 업데이트하려고 합니다.