InfoGrab DocsInfoGrab 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 job과 로컬 개발 환경 양쪽에서 상태에 원격으로 액세스합니다 재해 복구 고려 사항 # OpenTofu 상태 파일은 디스크와 오브젝트 스토리지에 저장된 상태에서 Lockbox Ruby gem으로 암호화됩니다. 암호화에는 db_key_base 애플리케이션 설정에서 파생된 키를 사용합니다. 이러한 암호화 방식 때문에 상태 파일을 복호화하려면 인스턴스가 가용한 상태여야 합니다. 인스턴스가 오프라인이 되면 상태 파일에 액세스하거나 복호화할 수 없습니다. GitLab을 실행하는 데 필요한 인프라의 구성이 상태 파일에 들어 있으면 이는 문제가 됩니다. GitLab이 자신을 부트스트랩하는 데 필요한 OpenTofu 모듈이나 그 외 의존성을 호스팅하고 있으면, 인스턴스가 오프라인일 때 이러한 의존성에 접근할 수 없습니다. 이 문제를 피하려면 다음과 같이 합니다. 의존성을 별도로 호스팅하거나 백업합니다. 공유 장애 지점이 없는 별도의 GitLab 인스턴스를 사용합니다. 중요한 부트스트랩 의존성은 다른 호스팅 방안을 검토합니다. 사전 요구 사항 # GitLab Self-Managed에서 OpenTofu 상태 파일에 GitLab을 사용하려면 먼저 다음 조건이 필요합니다. 관리자가 Terraform/OpenTofu 상태 스토리지를 설정 해야 합니다. 프로젝트에서 Infrastructure 메뉴를 켜야 합니다. Settings > General 로 이동합니다. Visibility, project features, permissions 를 확장합니다. I