AWS Parameter Store란 설정값을 안전하게 저장하고 관리하는 서비스이다.
이 서비스에는 버전 관리, IAM 권한제어, 서버재부팅과 무관하다는 장점을 가지고 있다.

일단 AWS에 접속하여 검색창에 Parameter Store을 검색하여 들어가준다.

Parameter 생성 버튼을 누르면 다음과 같은 UI가 나오게 된다.
이름의 명명 규칙은 /{앱이름}/{환경}/{키} 로 이루어져 있다. 앱 이름은 프로젝트명, 환경에는 실행할 application(local, prod 등), 키에는 해당 application에 있는 키값을 넣어주면 된다.
그 아래 유형을 보면 String, StringList, SecureString 3가지가 있는데, 글자 그대로 문자열, 문자열리스트, 암호화된 문자열 이라고 생각하면 된다.
application내의 key값의 예시는 다음과 같다
spring.datasource.url=${DB_URL}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
Spring Boot에서 Parameter Store값을 가져오려면 다음과 같은 절차를 밟으면 된다.
implementation 'io.awspring.cloud:spring-cloud-aws-starter-parameter-store:4.0.0-RC1'
spring.config.import=aws-parameterstore:/camp-health-app/prod/
//순서대로 db엔드포인트, 포트는 3306, 데이터베이스명 을 입력하면된다.
spring.datasource.url=jdbc:mysql://${DB_HOST}:${DB_PORT}/${DB_NAME}
spring.datasource.username=${DB_USERNAME}
spring.datasource.password=${DB_PASSWORD}
AWS의 검색창에 IAM을 검색후 접속한다.
그 뒤, 왼쪽 메뉴에서 액세스 관리 -> 정책 -> 정책생성 -> json 에 들어가서
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameter",
"ssm:GetParameters",
"ssm:GetParametersByPath"
],
"Resource": "arn:aws:ssm:ap-northeast-2:*:parameter/app/*"
}
]
}
위와 같은 코드를 붙여넣기 해주면 된다.
이는 EC2에 적용할 정책(허락할 행동)을 생성해주는 것이다.
정책 생성을 완료하였다면,
IAM 사용자 -> 사용자 생성 -> 사용자명 작성 후, 방금 작성한 정책 체크 -> 사용자 생성
까지 했다면 성공이다.