피드로 돌아가기
Storing Kamal secrets in AWS Secrets Manager and deploying to a cheap Hetzner VPS
Dev.toDev.to
DevOps

AWS Secrets Manager와 Hetzner VPS를 통한 보안 및 비용 최적화 배포

Storing Kamal secrets in AWS Secrets Manager and deploying to a cheap Hetzner VPS

Derrick Amenuve2026년 5월 23일5intermediate

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 적용

원문 읽기