본문으로 건너뛰기

HTTP 백엔드 Pro

Terraform용 Semaphore UI HTTP 백엔드는 Terraform 상태 파일을 Semaphore 내부에 직접 안전하게 저장하고 관리합니다. Pro 플랜에서 사용할 수 있으며, 다음과 같은 주요 이점을 제공합니다.

기능​

  • 안전한 상태 저장: 상태 파일이 Semaphore 내부에 안전하게 저장됩니다.
  • 상태 잠금: 동일한 상태 파일에 대한 동시 수정을 방지합니다.
  • 버전 기록: 시간에 따른 인프라 상태 변경 사항을 추적합니다.
  • UI 통합: Semaphore 인터페이스에서 직접 상태 파일을 관리합니다.

구성​

내장 HTTP 백엔드를 사용하려면 먼저 Terraform 작업 템플릿에 워크스페이스를 생성해야 합니다.

워크스페이스를 추가하려면 Terraform/OpenTofu 템플릿의 워크스페이스 탭으로 이동하십시오.

워크스페이스를 생성할 때 Terraform 코드에서 사용하는 비공개 모듈을 복제하기 위한 SSH 키를 선택하라는 메시지가 표시됩니다. 비공개 모듈을 사용하지 않는 경우 None 옵션을 선택하면 됩니다.

작업에서 HTTP 백엔드 사용하기​

Terraform 작업의 상태를 저장하기 위해 내장 HTTP 백엔드를 사용할 때, Terraform 코드에서 백엔드를 수동으로 구성할 필요가 없습니다. Semaphore가 실행 중에 구성 파일을 자동으로 생성할 수 있습니다. 이를 활성화하려면 아래 스크린샷과 같이 작업 템플릿 설정에서 백엔드 설정 재정의 옵션을 체크하기만 하면 됩니다.

선택적으로 실행 중에 동적으로 생성될 구성 파일의 이름을 지정할 수 있습니다. 이는 코드에 이미 백엔드 구성 파일이 포함되어 있고 Semaphore의 내장 백엔드와 함께 작동하도록 동적으로 재정의해야 하는 경우에 유용합니다.

Semaphore 외부에서 HTTP 백엔드 사용하기​

내장 HTTP 백엔드는 Semaphore 내부에서 작업을 실행할 때뿐만 아니라, 로컬 터미널 등 Semaphore 외부에서 Terraform 코드를 실행할 때도 사용할 수 있습니다.

이를 위해 Semaphore에서는 상태 저장소에 대한 별칭(고유한 HTTP 엔드포인트)을 생성할 수 있습니다. 이러한 별칭을 사용하면 외부 환경에서 상태 파일을 쉽게 참조할 수 있습니다.

설정하려면 워크스페이스 탭으로 이동하여 원하는 워크스페이스를 선택하고 별칭을 추가하십시오. 또한 백엔드 접근 인증에 사용할 사용자 이름과 비밀번호가 포함된 키를 선택해야 합니다.

그다음 Terraform 코드에 백엔드 설정을 추가해야 합니다:

terraform {
backend "http" {
address = "http://localhost:3000/api/terraform/***"
username = "***"
password = "***"
}
}

이제 터미널에서 실행하더라도 Terraform은 Semaphore의 내장 HTTP 백엔드를 사용합니다:

terraform apply