Skip to content

test: 전체 환경 재구축 및 종료 절차 검증 #35

Description

@move-hoon

계층

L1부터 L3까지 — 빈 가비아 환경에서 서비스를 되살리고 안전하게 종료하는 최종 검증입니다.

배경 및 목적

각 자동화가 따로 성공해도 새 환경에서 전체 순서가 이어진다는 보장은 없습니다. 로컬 상태 파일, 개인 PC 설정이나 수동으로 만든 리소스에 숨어서 의존할 수 있습니다.

9개월 종료 전에 별도 환경을 만들고 인프라, k3s, 플랫폼, PostgreSQL과 etcd를 순서대로 복구합니다. 이후 유료 지속, 다른 클라우드 이전 또는 종료를 결정할 근거를 남깁니다.

현재 상태

전체 재구축 Runbook과 로드맵은 있지만 빈 환경에서 L1→L2→L3를 끝까지 수행한 기록과 실제 총 RTO가 없습니다.

작업 흐름

빈 환경 → gabiactl L1 → Tailscale·Ansible L2 → Argo CD L3 → PostgreSQL·etcd 복구 → LB·DNS·TLS 검증 → 결정 → 역순 종료

구현 방향

  1. 시험 환경 이름, 비용 한도, 시작·종료 시각과 삭제 책임자를 정합니다.
  2. gabiactl로 별도 VPC, 서버, 볼륨과 LB를 만듭니다.
  3. Tailscale를 확보한 뒤 Ansible로 k3s와 Cilium을 구성합니다.
  4. Argo CD root application으로 플랫폼과 API를 배포합니다.
  5. Backblaze B2에서 PostgreSQL과 etcd를 복구하고 데이터 checksum을 확인합니다.
  6. LB, DNS, TLS, 로그인과 핵심 쓰기 흐름을 확인합니다.
  7. 총 RTO/RPO, 수동 개입, 실패와 실제 비용을 기록합니다.
  8. 종료를 선택하면 Backblaze B2의 최종 etcd·PostgreSQL 사본을 확인한 뒤 앱→플랫폼→클러스터→LB→서버→네트워크 순으로 삭제합니다.
  9. 가비아 콘솔과 청구 화면에서 잔여 과금 리소스가 없는지 확인합니다.

완료 조건

  • 빈 환경에서 L1, L2와 L3 전체 재구축이 성공합니다.
  • PostgreSQL과 etcd 데이터 정합성이 확인됩니다.
  • 사용자 HTTPS와 핵심 쓰기 흐름이 정상입니다.
  • 두 백업 공급자의 최종 checksum이 일치합니다.
  • 총 RTO/RPO, 비용과 수동 개입이 기록됩니다.
  • 종료 시험 뒤 잔여 과금 리소스가 없습니다.

하지 않는 일

  • 최종 백업 확인 전에 운영 리소스를 삭제하지 않습니다.
  • 개인 PC에만 있는 파일이나 기억을 필수 복구 절차로 남기지 않습니다.

참고 자료

위험 확인

  • 관리망(management_network) 또는 방화벽(firewall) 순서에 영향을 줍니다.
  • ESO/SecretStore 경로를 변경합니다.
  • 시크릿·자격증명이 포함되지 않았음을 확인했습니다.

Metadata

Metadata

Assignees

Labels

task인프라·플랫폼 작업 항목

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions