Terraform 구성을 vRealize Automation Cloud에 리소스로 포함하는 경우 특정 제한 사항 및 문제 해결에 대해 숙지하십시오.

Terraform 구성에 대한 제한 사항

  • Terraform 구성을 사용하여 설계를 검증하는 경우 테스트 버튼은 Cloud Assembly 구문을 확인하지만 기본 Terraform 코드 구문은 확인하지 않습니다.

    또한 테스트 버튼은 Terraform 구성과 연결된 커밋 ID를 검증하지 않습니다.

  • 최근에 릴리스된 Terraform 버전 0.13은 아직 공식적으로 지원되지 않습니다.
  • Terraform 구성이 포함된 클라우드 템플릿의 경우 템플릿을 다른 프로젝트에 복제하려면 다음 해결 방법이 필요합니다.
    1. 새 프로젝트의 통합 탭에서 통합에 대한 repositoryId를 복사합니다.
    2. 클론 템플릿을 엽니다. 코드 편집기에서 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 Cloud에서 전원 상태를 변경하는 경우 변경 내용을 올바르게 반영하는 데 시간이 소요됩니다. 20분까지 기다립니다.

vRealize Automation Cloud에서 사용자 지정 Terraform 제공자 사용

사용자 지정 Terraform 제공자를 생성한 경우 이를 사용하려면 다음 단계를 수행합니다.

  1. Git 버전 제어 저장소의 기본 Terraform 디렉토리 아래에 다음 하위 디렉토리 구조를 추가합니다.

    terraform.d/plugins/linux_amd64

  2. 사용자 지정 Terraform 제공자 Go 바이너리를 linux_amd64 디렉토리에 추가합니다.

    기본적으로 terraform init는 해당 디렉토리에서 사용자 지정 제공자 플러그인을 검색합니다.

참고: VMware는 사용자 지정 Terraform 제공자가 실행되지 못하고 no such file or directory 메시지를 게시하는 경우를 확인합니다.

이런 경우 CGO를 비활성화(0으로 설정)한 상태에서 사용자 지정 제공자 Go 바이너리를 다시 컴파일해보십시오. CGO는 C 코드를 호출하는 Go 패키지용입니다.