피드로 돌아가기
Dev.toDevOps
원문 읽기
AWS Secrets Manager와 Hetzner VPS를 통한 보안 및 비용 최적화 배포
Storing Kamal secrets in AWS Secrets Manager and deploying to a cheap Hetzner VPS
AI 요약
Context
Kamal 기본 설정의 Plaintext secret 파일 보관 방식에 따른 보안 취약점 발생. SOC 2 및 GDPR 컴플라이언스 준수를 위해 관리형 Secret Store 도입이 필수적인 상황.
Technical Solution
- AWS Secrets Manager를 통한 중앙 집중형 Secret 관리 체계 구축
- JSON Blob 형태의 단일 Secret 저장 방식을 통한 관리 복잡도 감소
- Kamal의 기본 aws_secrets_manager 어댑터 제약을 극복하기 위해 AWS CLI와 Python/jq 기반의 동적 추출 로직 설계
- .kamal/secrets 파일 내 쉘 커맨드 삽입을 통한 배포 시점의 실시간 Secret 주입 구조 구현
- 환경별(Production/Staging) Secret ID 분리를 통한 환경 격리 및 보안성 강화
- Hetzner VPS(CX22) 활용으로 인프라 비용 최소화 및 데이터 센터 지역 최적화를 통한 Latency 감소
Impact
- 인프라 월 비용 5유로 미만으로 유지
- 서버 내 Plaintext secret 저장 제로화로 SOC 2 및 GDPR 준수 달성
Key Takeaway
프레임워크의 기본 어댑터 기능이 제약적일 때, OS 레벨의 쉘 실행 능력을 활용한 래퍼(Wrapper) 구조로 기능을 확장하여 보안성과 편의성을 동시에 확보 가능
실천 포인트
- 관리형 Secret Store 도입 시 데이터 포맷(JSON vs Single Key)에 따른 추출 전략 검토 - SOC 2/GDPR 준수를 위해 배포 파이프라인 내 Plaintext Secret 노출 여부 점검 - 비용 최적화를 위해 고성능 VPS와 Managed Cloud Service를 조합한 Hybrid 인프라 구성 고려 - IAM Policy 설정 시 Least Privilege 원칙에 따라 필요한 Action만 정의한 Inline Policy 적용