개요
이 사용 사례는 Terraform을 사용하여 F5 분산 클라우드의 권한 있는 DNS를 관리합니다. 소규모의 재사용 가능한 플랜은 위임된 도메인에 대한 기본 DNS 존과 해당 레코드를 생성하고, 상태를 Azure Blob Storage에 유지하며, GitHub Actions를 통해 풀 리퀘스트 시 plan / 머지 시 apply를 실행합니다.
관리 대상
섹션 제목: “관리 대상”xcsh_dns_zone— F5 XCsystem네임스페이스의 권한 있는 기본 존으로, A 레코드를 포함합니다. 존 이름은 위임된 도메인(변수)이므로 대상 변경은 코드 변경이 아닌 구성 변경으로 처리됩니다.- Azure의 원격 Terraform 상태로, 운영자의 머신과 CI 간에 실행을 공유할 수 있습니다.
아키텍처
섹션 제목: “아키텍처”| 레이어 | 선택 | 이유 |
|---|---|---|
| 프로바이더 | f5-sales-demo/xcsh (Terraform 레지스트리) | F5 XC OpenAPI에서 생성되며, xcsh_dns_zone 및 DNS 로드 밸런서 리소스를 관리합니다. API 토큰(Authorization: APIToken <token>)으로 인증합니다. |
| 상태 백엔드 | azurerm (Azure Blob Storage), 액세스 키 인증 | 내구성 있는 공유 상태. 구독이 Contributor 권한만 부여하며, 이는 키 없는(OIDC / Azure AD) 인증에 필요한 Storage Blob Data Contributor 역할을 할당할 수 없으므로 액세스 키 인증을 사용합니다. |
| 자동화 | GitHub Actions | 모든 풀 리퀘스트에서 plan 실행, main으로 머지 시 apply 실행. 백엔드 조정 정보와 입력값은 리포지토리 변수에서, 자격 증명은 시크릿에서 가져옵니다. |
시작 위치
섹션 제목: “시작 위치”데모 아크는 전체 라이프사이클을 처음부터 끝까지 안내합니다: Terraform으로 존을 빌드하고, 레졸루션을 검증하고, DNS 로드 밸런서로 페일오버하고, 해체합니다. 모든 Terraform 파일, CI 워크플로우, 필요한 변수 및 시크릿을 포함한 존 배포에 대한 완전한 방법 안내인 1단계 — 빌드부터 시작하십시오.