Terraform 상태 설정
GitLab v19.5Offering: GitLab Self-Managed
요약
암호화와 스토리지 제한을 비롯해 Terraform 상태 파일에 대한 설정을 구성할 수 있습니다. 기본적으로 GitLab은 Terraform 상태 파일을 저장하기 전에 암호화합니다. 암호화를 끄면 Terraform 상태 파일은 암호화 없이 수신된 그대로 저장됩니다.
암호화와 스토리지 제한을 비롯해 Terraform 상태 파일에 대한 설정을 구성할 수 있습니다.
Terraform 상태 암호화#
히스토리
- GitLab 18.8에서 도입되었습니다.
기본적으로 GitLab은 Terraform 상태 파일을 저장하기 전에 암호화합니다. 필요하다면 암호화를 끌 수 있습니다.
암호화를 끄면 Terraform 상태 파일은 암호화 없이 수신된 그대로 저장됩니다.
사전 요구 사항:
- 관리자 접근 권한이 있어야 합니다.
Terraform 상태 암호화를 구성하는 방법은 다음과 같습니다.
- 오른쪽 위에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Preferences를 선택합니다.
- Terraform state를 확장합니다.
- Turn on Terraform state encryption 체크박스를 선택하거나 선택 해제합니다.
- Save changes를 선택합니다.
암호화를 끄면 그 변경은 새 Terraform 상태 파일에만 적용됩니다. 기존에 암호화된 파일은 암호화된 상태로 남아 그대로 동작합니다.
암호화 키 교체#
Terraform 상태 암호화 키는 교체할 수 없습니다.
암호화 키는 db_key_base 애플리케이션 시크릿과 프로젝트 ID에서
파생됩니다. 자세한 내용은
복호화 과정을 참고합니다.
키는 별도로 저장되지 않고 파생되므로, 교체할 독립적인 Terraform 상태
키 자체가 존재하지 않습니다.
db_key_base 자체의 교체도 지원하지 않습니다. 이 값은 CI/CD 변수, 통합 및 웹훅
자격 증명, 인증 토큰을 포함해 인스턴스 전체의 데이터를
암호화하기 때문입니다.
db_key_base에 새 키를 추가하지 않고 교체하면 기존 Terraform
상태 파일을 읽을 수 없게 됩니다. 키를 제거하면 해당 키로 암호화된 Terraform 상태
파일을 읽을 수 없게 됩니다.
재암호화 도구는 아직 제공되지 않습니다.
키 교체는 이슈 25332에서 제안되어 있습니다.
Terraform 상태 스토리지 제한#
Terraform 상태 파일의 전체 스토리지 용량을 제한할 수 있습니다. 이 제한은 상태 파일 버전마다 개별 적용되며 새 버전이 생성될 때 검사합니다.
사전 요구 사항:
- 관리자 접근 권한이 있어야 합니다.
스토리지 제한을 추가하는 방법은 다음과 같습니다.
- 오른쪽 위에서 Admin을 선택합니다.
- 왼쪽 사이드바에서 Settings > Preferences를 선택합니다.
- Terraform state를 확장합니다.
- Terraform state size limit (bytes) 필드에 바이트 단위로 크기 제한을 입력합니다. 크기 제한을 두지 않으려면
0으로 설정합니다. - Save changes를 선택합니다.
Terraform 상태 파일이 이 제한을 넘으면 GitLab은 파일을 저장하지 않고 관련 Terraform 작업을 거부합니다.