소개
Terraform Exporter for SAP BTP는 SAP SE에서 개발한 오픈소스 도구로, 기존 SAP Business Technology Platform(BTP) 리소스를 Terraform 구성 파일로 변환하여 Infrastructure-as-Code 도입을 지원합니다. btptf CLI라고도 불리는 이 도구는 서브계정, 디렉터리, Cloud Foundry 조직 등의 BTP 리소스를 식별하고 해당하는 Terraform 리소스로 매핑하여 HCL 코드를 생성합니다. SAP BTP에서 이미 설정된 인프라를 Terraform으로 관리하려는 팀에게 특히 유용하며, 리소스 가져오기 프로세스를 자동화하여 수작업을 줄입니다. Apache-2.0 라이선스로 배포되며, 공식 문서와 소스 코드는 SAP의 GitHub 저장소에서 확인할 수 있습니다.
상세정보
리소스 식별 및 매핑
도구는 SAP BTP 계정에서 리소스를 스캔하고, 서브계정, 디렉터리, Cloud Foundry 조직 등을 해당하는 Terraform 리소스 유형으로 자동 매핑합니다. 이를 통해 수작업으로 리소스를 찾는 과정을 줄일 수 있습니다.
자동 구성 생성
식별된 리소스에 대해 Terraform 구성 파일(HCL)을 생성하며, 이 과정에서 Terraform의 import 기능을 활용한 import 블록도 함께 생성됩니다. 생성된 코드는 사용자가 직접 수정하여 추가 커스터마이징이 가능하도록 설계되었습니다.
대량 리소스 내보내기
하나의 명령으로 여러 리소스를 동시에 내보낼 수 있으며, 사용자는 디렉터리, 서브계정, Cloud Foundry 조직 중 내보내고자 하는 BTP 계정 수준을 지정할 수 있습니다. 이를 통해 특정 범위의 리소스에 대해 맞춤형 추출이 가능합니다.
JSON 워크플로 지원
btptf CLI는 JSON 기반 리소스 인벤토리를 먼저 생성하여 사용자가 내보내기 전에 내용을 검토 및 편집할 수 있도록 하는 워크플로를 제공합니다. 또는 직접 리소스를 내보내는 방법도 선택할 수 있어 유연성을 높였습니다.
다운로드·설치 방법
btptf CLI는 다양한 운영 체제에서 사용할 수 있으며, 공식 문서에 따라 설치 방법을 안내합니다. Windows 사용자는 Chocolatey 패키지 관리자를 통해 choco install sap-btptf 명령으로 설치할 수 있습니다. 또한 GitHub 릴리스 페이지에서 실행 파일을 직접 다운로드하거나, Go 환경이 갖춰진 시스템에서는 go install 명령을 통해 설치할 수 있습니다. 설치 후 터미널 또는 명령 프롬프트에서 btptf 명령을 실행하여 버전 정보를 확인할 수 있습니다.
기본 사용법/명령어
도구를 사용하기 전에 SAP BTP 계정에 대한 액세스 토큰을 설정해야 합니다. 이는 환경 변수 또는 구성 파일을 통해 제공할 수 있습니다. 기본 사용법은 다음과 같습니다:
btptf export --level subaccount --guid <subaccount-guid>: 특정 서브계정의 리소스를 내보냅니다.btptf export --level directory --guid <directory-guid>: 디렉터리 수준의 리소스를 내보냅니다.btptf export --level org --guid <org-guid>: Cloud Foundry 조직의 리소스를 내보냅니다.btptf export --json-output <file-path>: 내보내기 전에 JSON 형식의 인벤토리를 생성하여 검토할 수 있습니다.
명령 실행 후 생성된 Terraform 파일은 현재 디렉터리에 저장되며, 사용자는 이를 검토하고 필요한 경우 수정한 후 terraform init 및 terraform apply를 통해 인프라를 관리할 수 있습니다.
이런 경우에 유용합니다
이미 SAP BTP에서 수동으로 설정된 인프라를 Terraform으로 관리하려는 DevOps 팀에게 유용합니다. 예를 들어, 여러 서브계정과 서비스가 이미 존재하는 BTP 환경을 Infrastructure-as-Code 방식으로 전환할 때, btptf CLI를 사용하면 기존 리소스를 자동으로 Terraform 코드로 변환하여 수작업으로 리소스를 정의하는 오류와 노력을 줄일 수 있습니다. 또한 OpenTofu와의 호환성 덕분에 Terraform 대신 OpenTofu를 선호하는 환경에서도 동일하게 사용할 수 있습니다.
지원 환경·시스템 요구사항
btptf CLI는 Windows, macOS, Linux에서 실행할 수 있는 크로스플랫폼 도구입니다. Windows에서는 Chocolatey를 통한 설치가 지원되며, Go 1.26 이상이 설치된 환경에서는 소스 코드로부터 직접 빌드하여 사용할 수 있습니다. SAP BTP 계정과의 통신을 위해서는 적절한 인증 자격 증명이 필요하며, 이는 환경 변수나 구성 파일을 통해 제공됩니다.
최신 버전·업데이트
현재 버전은 1.6.0이며, 최신 업데이트 정보는 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다. 이 프로젝트는 활발히 유지보수되고 있으며, 보안 업데이트 및 기능 개선이 정기적으로 제공됩니다. 변경 사항은 저장소의 CHANGELOG 파일을 통해 상세히 추적할 수 있습니다.
제한 사항·확인 사항
btptf CLI는 SAP에서 공식적으로 지원하지 않는 커뮤니티 프로젝트이므로, 공식적인 SAP 기술 지원은 제공되지 않습니다. 문제 해결 및 기능 요청은 GitHub 이슈를 통해 처리됩니다. 또한, 생성된 Terraform 코드는 사용자의 환경에 따라 수정이 필요할 수 있으며, 내보내기 전에 생성된 파일을 검토하는 것이 권장됩니다. 이 도구는 Terraform 또는 OpenTofu CLI와 함께 사용해야 하며, 단독으로는 인프라 프로비저닝 기능을 수행하지 않습니다.
시스템 요구사항
별도의 시스템 요구사항이 등록되지 않았습니다.


