InfoGrab Docs

GitLab 관리 Terraform/OpenTofu 상태

GitLab 관리 Terraform/OpenTofu 상태에 대해 설명합니다.

히스토리 GitLab 15.7에서 마침표가 포함된 상태 이름에 대한 지원이 allow_dots_on_tf_state_names 라는 플래그 와 함께 도입됨. 기본적으로 비활성화. GitLab 16.0에서 마침표가 포함된 상태 이름에 대한 지원이 일반적으로 사용 가능 해짐. 기능 플래그 allow_dots_on_tf_state_names 제거됨. GitLab 18.3에서 GitLab 관리 OpenTofu 및 Terraform 상태에 대한 지원이 도입됨 . GitLab CLI( glab ) 1.66 이상 필요. 팀 전체에서 인프라 상태 파일을 관리하려면 보안과 안정성이 모두 필요합니다. GitLab 관리 OpenTofu 상태는 상태 관리의 일반적인 어려움을 제거합니다. 최소한의 구성으로 OpenTofu 상태가 GitLab 프로젝트의 자연스러운 확장이 됩니다. 이 통합은 인프라 정의, 코드 및 상태를 모두 하나의 안전한 위치에 보관합니다. GitLab 관리 OpenTofu 상태를 사용하면 다음을 할 수 있습니다: 휴지 상태에서 자동 암호화로 상태 파일을 안전하게 저장합니다. 누가 언제 무엇을 변경했는지 파악하기 위해 내장 버전 관리로 변경 사항을 추적합니다. 별도의 인증 시스템을 만들 필요 없이 GitLab 권한 모델을 사용하여 액세스를 제어합니다. 상태 파일 충돌이나 손상 없이 팀 전체에서 협업합니다. 기존 GitLab CI/CD 파이프라인과 원활하게 통합합니다. CI/CD 작업과 로컬 개발 환경 모두에서 원격으로 상태에 액세스합니다. 재해 복구 고려 사항 # OpenTofu 상태 파일은 디스크와 객체 스토리지에서 휴지 상태일 때 Lockbox Ruby gem으로 암호화됩니다. 암호화는 db_key_base 애플리케이션 설정에서 파생된 키를 사용합니다. 이 암호화 방식으로 인해 상태 파일을 복호화하려면 인스턴스가 사용 가능해야 합니다. 인스턴스가 오프라인이 되면 상태 파일에 액세스하거나 복호화할 수 없습니다. 상태 파일에 GitLab이 실행하는 데 필요한 인프라 구성이 포함되어 있으면 문제가 됩니다. GitLab이 자체 부트스트랩에 필요한 OpenTofu 모듈 또는 기타 종속성을 호스팅하는 경우 인스턴스가 오프라인이 되면 이러한 종속성에 액세스할 수 없게 됩니다. 이 문제를 방지하려면: 종속성을 별도로 호스팅하거나 백업합니다. 공유 장애 지점이 없는 별도의 GitLab 인스턴스를 사용합니다. 중요한 부트스트랩 종속성에 대해 대체 호스팅을 고려합니다. 사전 조건 # GitLab Self-Managed에서 OpenTofu 상태 파일에 GitLab을 사용하기 전에: 관리자가 Terraform/OpenTofu 상태 스토리지를 설정 해야 합니다. 프로젝트의 인프라 메뉴를 켜야 합니다: 설정 > 일반 으로 이동합니다. 가시성, 프로젝트 기능, 권한 을 확장합니다. 인프라 아래에서 토글을 켭니다. 계획 데이터 보안 # Warning OpenTofu plan.json 또는 plan.cache 파일은 암호화되지 않으며 비밀번호, 액세스 토큰 또는 인증서 같