본문 바로가기
개발진행목록/학습 커뮤니티 서비스

[학습 커뮤니티] AWS로 CI/CD 구축하기(3) - AWS Parameter Store 설정

by o3oppp 2025. 7. 3.

시작하기 전에

GitHub Actions 설정 이후 배포 시 오류가 발생하여 이를 해결하기 위해 Parameter Store 설정을 진행하게 되었다.


1. Parameter Store 생성

  • Parameter Store를 검색하여 파라미터를 생성한다.

  • 파라미터 이름과 값을 입력한다. 참고로 값은 수정되지만 이름은 수정 불가
  • 파라미터 이름을 작성할 때는 아래와 같은 규칙이 존재한다.
    • /{prefix}/{name}{profile-separator}{profile}/{환경변수 이름}
    • prefix : 파라미터의 접두사(default : config)
    • name : 애플리케이션을 식별하는 이름
    • profile-separator : 하나의 애플리케이션을 여러 환경(개발, 운영 등)에 배포할 수 있도록 함
      • 애플리케이션이름_dev, 애플리케이션이름_prod 등으로 환경 분리 가능(defalut : _)
    • profile : 애플리케이션 배포 환경(optional)
    • 환경변수 이름 : 적용될 환경변수 명

  • 이후 파라미터 생성을 통해 생성된 파라미터를 확인한다.

 

2. 권한 추가

  • 기존에 사용중인 IAM 계정에 Parameter Store에 등록된 환경변수 값을 가져오기 위해 권한을 추가한다.

 

3. 역할 부여

  • 이전에 생성한 S3 역할에 위의 역할을 추가한다.
  • 자동으로 역할이 적용되지만 사용중인 EC2 인스턴스에 해당 역할로 수정한다.

 

4. build.gradle 의존성 추가

dependencies {
   implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.1.0")
   implementation 'io.awspring.cloud:spring-cloud-aws-starter-parameter-store'
}

 

5. application.yml 수정

spring:
  config:
    import: aws-parameterstore:/config/yakchat_dev/
    
aws:
  paramstore:
    enabled: true
    prefix: /config
    profile-separator: _
    name: yakchat_dev
...
  • /config/yakchat_dev 경로에 환경변수를 등록하였으므로 import 값으로 동일하게 작성한다.
  • paramstore의 경우 1번에 작성한 이름을 토대로 해당 내용을 추가한다.
    • ex) 파라미터 이름 : /config/yakchat_dev/파라미터 이름

 

6. 배포 후 API 호출

  • API 호출을 통해 정상적으로 jar 파일이 실행되었음을 확인했다.