Files
obsidian/infra/infra-tofu.md
kappa c949f17fd7 위키링크 추가, source: openmemory 제거, Claude Code 인스트럭션 문서화
- 전체 파일에 [[위키링크]] 추가 (Obsidian 그래프 연결)
- frontmatter에서 source: openmemory 제거
- infra-hosts.md에 서비스 위치/Incus 프로젝트 테이블 추가
- dev/claude-code-setup.md 신규 (CLAUDE.md 인스트럭션 Vault 버전)
2026-03-12 17:07:42 +09:00

35 lines
1.7 KiB
Markdown

---
title: 인프라 프로비저닝 (OpenTofu)
updated: 2026-03-12
---
## OpenTofu
OpenTofu v1.11.5 installed at /usr/local/bin/tofu
## Tofu API
Tofu API (infra-tool 컨테이너, incus-jp1): 포트 8080 (uvicorn --port 8080). 파일 /opt/infra-tool/tofu_router.py. 엔드포인트: GET /tofu/plan, GET /tofu/state, GET /tofu/output, POST /tofu/server(provider/region/plan/label), DELETE /tofu/server/{name}, GET /tofu/plans/{provider}. 접근: ssh kaffa@100.109.123.1 → incus exec infra-tool -- bash. TF 템플릿 경로: /opt/infra/templates/{linode,vultr,alicloud,zenlayer}.tf.tpl. 참고: [[infra-forge|Forge]] consumer.py는 아직 tofu API를 사용하지 않고 Linode/Vultr API를 직접 호출하는 구조임.
## Zenlayer BM 프로비저닝
Zenlayer BM 프로비저닝: 직접 API → OpenTofu 전환 완료 (2026-03-04)
## Zenlayer OS 이미지
Zenlayer BM OS 이미지 매핑: zl-debian12 → 'Debian 12.x 64bit' (catalog: debian), zl-ubuntu2204 → 'Ubuntu 22.04 64bit' (catalog: ubuntu), zl-centos7 → 'CentOS 7.4 64bit' (catalog: centos)
## 통일 워크플로
전 프로바이더(Linode/Vultr/Alicloud/Zenlayer) 통일된 TF 워크플로로 동작
## 트래픽 모니터링 TODO
TODO: 트래픽 전송량 모니터링 + 자동 차단 서비스 구현 필요
- Linode: Cloud Firewall API로 outbound DROP 적용
- Vultr: Firewall API로 deny all 적용
- Alibaba: ModifyInstanceNetworkSpec API로 InternetMaxBandwidthOut=0 설정
- 흐름: 주기적 전송량 모니터링 → 임계치 도달 → 방화벽/대역폭 차단 → 고객 Telegram 알림 → 고객 동의 시 해제
- 3개 프로바이더 모두 서버 중지 없이 네트워크만 차단 가능
- 별도 서비스 또는 기존 consumer-service에 모니터링 컨슈머 추가 방식 검토