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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions