Skip to content

refactor: secret 서브모듈 값을 Parameter Store로 이관 #28

@lsy1307

Description

@lsy1307

어떤 부분을 리팩토링하려 하나요?

현재 \config/secrets\ 서브모듈의 tfvars 파일로 관리되는 환경별 민감 설정 값을 AWS Systems Manager Parameter Store로 이관합니다.

AS-IS

  • 환경별 민감 설정 값이 \config/secrets\ 서브모듈의 tfvars 파일에 저장되어 있습니다.
  • Terraform 실행 시 로컬 secret 파일에 의존합니다.
  • secret 변경 이력과 배포 입력 값 관리가 Git 서브모듈 상태에 묶여 있습니다.

TO-BE

  • 민감 설정 값은 AWS Systems Manager Parameter Store에서 관리합니다.
  • Terraform은 필요한 값을 Parameter Store에서 조회하거나, Parameter Store 리소스를 통해 생성/관리합니다.
  • 로컬 secret 서브모듈 의존도를 줄이고, 환경별 파라미터 네이밍 규칙을 명확히 합니다.

작업 상세 내용

  • \config/secrets\ 서브모듈의 tfvars 파일에서 Parameter Store로 이관할 키 목록을 식별한다.
  • 환경별 Parameter Store path 네이밍 규칙을 정한다. 예: /solid-connection/{env}/...`n- [ ] 값의 성격에 따라 \String\ / \SecureString\ 타입과 KMS key 사용 기준을 정한다.
  • 기존 Terraform variable 입력 방식을 Parameter Store 조회 방식으로 바꿀 범위를 정한다.
  • 먼저 읽기 전용 data source 전환으로 영향도를 검증한다.
  • 필요한 경우 Parameter Store 생성/수정 전용 Terraform 리소스를 별도 stack으로 분리한다.
  • GitHub Actions 및 로컬 Terraform 실행 방식에서 secret tfvars 의존성을 제거한다.
  • 기존 secret 서브모듈 제거 또는 read-only fallback 유지 여부를 결정한다.
  • migration 이후 plan/apply 절차와 rollback 절차를 문서화한다.

참고할만한 자료(선택)

  • AWS Systems Manager Parameter Store
  • Terraform \�ws_ssm_parameter\ resource / data source
  • 현재 secret 서브모듈: \config/secrets`n

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions