
Parameter Store
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}위와 같은 변수는 저장해서 사용하기에 위험성이 크다
그러므로 AWS에선 이런 비밀번호 같은 데이터 관리를 제공하는데
Parameter Store 라는 서비스를 제공한다
코드의 ${변수명} 형태가 기본적인 Parameter Store 의 값을 받기 위한 형태이다
버전 관리도 해주고, IAM 제어를 해주어야 사용가능하며
IAM을 통해 권한 별 사용 설정도 가능하다
구성
Name
/{application-name}/{profile}/{variable} …
계층 구조로 이름을 지정한다
Type
String → 문자열
StringList → , 로 구분된 문자열 리스트
SecureString → 암호화된 문자열
기본적으로 String 과에 대한 문자열 타입으로 저장을 해야한다
Value
저장된 파라미터의 값
예시
위의 예시 중 DB의 URL을 지정해야한다면
/{application-name}/prod/DB_URL or DB_HOST
/{application-name}/prod/DB_PORT
두 개의 이름을 가진 파라미터를 저장해서 관리할 수 있을 것이다
사용 해보기
위의 Name 설명과 같이 계층을 명시하여 이름을 작성한다
이 경우엔 test_app 내 test 프로파일 내 name 으로 이름이 지정된다
그 후엔 데이터 형식과 값을 지정해주면 사용 준비는 끝났다
EC2 에 배포해야 사용할 수 있어
배포된 환경의 테스트 과정은 추후 포스트 하려 한다
프로젝트 내에서 사용하려면 우선 의존성을 설정해야한다
implementation 'io.awspring.cloud:spring-cloud-aws-starter-parameter-store:4.0.0-RC1'해당 의존성을 설정한 후에 ${식별 이름} 으로
환경 변수에 선언해주면 자동으로 AWS 환경 내에서 값을 배정해준다
Share article