Terraform 구성을 vRealize Automation에 리소스로 포함하는 경우 특정 제한 사항 및 문제 해결에 대해 숙지하십시오.
Terraform 구성에 대한 제한 사항
- Terraform 구성을 사용하여 설계를 검증하는 경우 테스트 버튼은 Cloud Assembly 구문을 확인하지만 기본 Terraform 코드 구문은 확인하지 않습니다.
또한 테스트 버튼은 Terraform 구성과 연결된 커밋 ID를 검증하지 않습니다.
- Terraform 구성이 포함된 클라우드 템플릿의 경우 템플릿을 다른 프로젝트에 복제하려면 다음 해결 방법이 필요합니다.
- 새 프로젝트의 통합 탭에서 통합에 대한
repositoryId
를 복사합니다. - 클론 템플릿을 엽니다. 코드 편집기에서
repositoryId
를 복사한 항목으로 바꿉니다.
- 새 프로젝트의 통합 탭에서 통합에 대한
- 버전 제어 저장소에 구성 파일이 포함된 Terraform 상태 파일을 포함하지 않습니다.
terraform.tfstate
가 있으면 배포 중에 오류가 발생합니다.
상위 Terraform 리소스에 대해 지원되는 2일차 작업
상위 Terraform 리소스의 경우 Terraform 상태 파일을 보거나 새로 고칠 수 있습니다. 상태 파일 작업에 대한 자세한 내용은 Cloud Assembly 배포에서 실행할 수 있는 작업에서 전체 작업 목록을 참조하십시오.
하위 리소스에 대해 지원되는 2일차 작업
Terraform 구성을 배포한 후 하위 리소스에서 2일차 작업을 사용할 수 있게 되기까지 최대 20분이 소요될 수 있습니다.
Terraform 구성의 하위 리소스의 경우 다음과 같은 일부 2일차 작업만 지원됩니다. 작업에 대한 자세한 내용은 Cloud Assembly 배포에서 실행할 수 있는 작업의 전체 작업 목록에서 확인하십시오.
제공자 | Terraform 리소스 유형 | 지원되는 2일차 작업 |
---|---|---|
AWS | aws_instance | 전원 켜기 |
전원 끄기 | ||
재부팅 | ||
재설정 | ||
Azure | azurerm_virtual_machine | 전원 켜기 |
전원 끄기 | ||
다시 시작 | ||
일시 중단 | ||
vSphere | vsphere_virtual_machine | 전원 켜기 |
전원 끄기 | ||
재부팅 | ||
재설정 | ||
종료 | ||
일시 중단 | ||
스냅샷 생성 | ||
스냅샷 삭제 | ||
스냅샷 되돌리기 | ||
GCP | google_compute_instance | 전원 켜기 |
전원 끄기 | ||
스냅샷 생성 | ||
스냅샷 삭제 |
2일차 작업 가용성 문제 해결
누락되었거나 비활성화된 OOTB(기본 제공) 2일차 작업은 문제 해결이 필요할 수 있습니다.
문제 | 원인 | 해결 방법 |
---|---|---|
Terraform 리소스의 [작업] 메뉴에 필요한 OOTB 2일차 작업이 없습니다. | 이전 목록에 언급된 것처럼 제공자 및 리소스 유형에 대해 작업이 지원되지 않을 수 있습니다. 또는 리소스 검색 및 리소스 캐싱의 타이밍으로 인해 작업이 표시되는 데 최대 20분이 소요될 수 있습니다. |
설계에서 제공자 및 리소스 유형을 확인합니다. 데이터 수집이 완료될 때까지 20분 정도 기다립니다. |
데이터 수집을 수행하는 데 20분이 소요될 경우에도 Terraform 리소스에는 필요한 2일차 작업이 없습니다. | 리소스 검색 문제로 인해 작업이 표시되지 않습니다. 이 문제는 리소스를 프로젝트 외부의 클라우드 영역에서 실수로 생성한 경우에 발생합니다. 예를 들어 프로젝트에 클라우드 계정 및 지역 us-east-1 클라우드 영역만 포함되어 있지만 Terraform 구성에는 us-west-1의 제공자 블록이 포함되어 있으며 설계 시 이를 변경하지 않았습니다. 또 다른 가능성은 데이터 수집이 작동하지 않기 때문입니다. |
설계에서 클라우드 영역을 기준으로 프로젝트 클라우드 영역을 확인합니다. 으로 이동하고 클라우드 계정에 대한 데이터 수집 상태 및 마지막 성공 수집 시간을 확인합니다. |
리소스 상태와 데이터 수집에 명백한 문제가 없더라도 2일차 작업이 비활성화됩니다(회색). | 가끔씩 간헐적으로 타이밍 문제 및 데이터 수집 실패가 발생하는 것으로 알려져 있습니다. | 이 문제는 20분 내에 해결되어야 합니다. |
리소스 상태에 따라 활성이어야 하는, 잘못된 2일차 작업이 비활성화되었습니다. 예를 들어, 제공자 인터페이스를 사용하여 리소스 전원이 꺼진 경우에도 전원 끄기가 사용되도록 설정되고 전원 켜기가 비활성화되었습니다. |
데이터 수집 타이밍으로 인해 일시적인 불일치가 발생할 수 있습니다. 외부 vRealize Automation에서 전원 상태를 변경하는 경우 변경 내용을 올바르게 반영하는 데 시간이 소요됩니다. | 20분까지 기다립니다. |
vRealize Automation에서 사용자 지정 Terraform 제공자 사용
사용자 지정 Terraform 제공자를 사용하려면 다음 단계를 수행합니다.
git 버전 제어 저장소의 main.tf가 포함된 Terraform 디렉토리 아래에 다음과 같은 하위 디렉토리 구조와 사용자 지정 Terraform 제공자 ZIP 파일을 추가합니다.
terraform.d/plugins/<HOSTNAME>/<NAMESPACE>/<TYPE>/terraform-provider-<TYPE_VERSION_TARGET>.zip
예를 들어 azurerm 버전 3.12.0을 다운로드한 경우 다음 구조를 생성합니다.
terraform.d/plugins/registry.terraform.io/hashicorp/azurerm/terraform-provider-azurerm_3.12.0_linux_amd64.zip