- 전체 파일에 [[위키링크]] 추가 (Obsidian 그래프 연결) - frontmatter에서 source: openmemory 제거 - infra-hosts.md에 서비스 위치/Incus 프로젝트 테이블 추가 - dev/claude-code-setup.md 신규 (CLAUDE.md 인스트럭션 Vault 버전)
35 lines
1.7 KiB
Markdown
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에 모니터링 컨슈머 추가 방식 검토
|