AWS Parameter Store란 ?
애플리케이션과 인프라스트럭처에서 사용되는 설정 데이터를 안전하게 저장하고 관리할 수 있는 서비스입니다.
AWS Systems Manager의 기능 중 하나로, 비밀 정보(예: API 키, 데이터베이스 자격 증명)와 같은 민감한 데이터를 암호화하여 저장하며, 다양한 AWS 서비스와 손쉽게 통합할 수 있습니다.
또한, 버전 관리, 접근 제어, 감사 기능을 제공하여 보안과 관리 측면에서 뛰어난 유연성을 제공합니다.
Parameter Store를 사용하면 코드에 민감한 정보를 직접 포함하지 않아도 되어 보안성을 높일 수 있으며, 중앙에서 설정을 관리하여 애플리케이션의 가용성과 효율성을 개선할 수 있습니다.
쉽게 말해 spring boot의 yml파일이나 node의 .env파일에 민감한 DB정보, 키 정보 등을 git에 올릴 필요도 없고 협업하는 사람들이 각자 로컬피시에 관리 할 필요 없이 Parameter Store를 통해서 빌드될때 자동으로 정보들을 읽어와서 사용할 수 있는 서비스입니다.
AWS Parameter store 설정방법
먼저 아래 이미지처럼 parameter store를 검색해서 들어갑니다.
들어가면 우측 상단에 파라미터 생성 버튼이 있는데 해당 버튼을 클릭하면 파라미터 세부정보를 입력하는 창이 나옵니다.
먼저 이름을 입력해아하는데, 형식은 자유로우나 저는 일반적으로 '서비스명_환경_env_var' 형식으로 만듭니다
예를들어 tistory에서 사용하는 Parameter Store를 만든다고 하면
- tistory_local_env_var
- tistory_dev_env_var
- tistory_prod_env_var
이런식으로 만들 것 입니다.
설명은 자유롭게 작성해주시고 계층은 일반, 유형은 보안문자열을 선택해 줍니다.
보연문자열을 클릭하면 kms키소스가 하나 더 나오는데 내 현재 계정으로 하고 기본 aws관계형 키로 사용하시면 됩니다.
그 다음 데이터 형식은 text로 해주시고 값은 json형식으로 사용하면 됩니다.
// 값 예시
{
"APP_ENV": "local",
"APP_SERVICE_PORT": 8081,
"APP_API_HOST": "http://localhost:8080"
}
아래는 파라미터 생성 직전에 모든 값을 입력해 놓은 화면이고, 보안 문자열로 선택했기 때문에 화면에서 마스킹처리가 되어 나오는걸 보실 수 있습니다.
다음에는 이렇게 설정한 환경변수를 코드단에서 어떻게 가져와서 사용하는지 알아보겠습니다.
'인프라' 카테고리의 다른 글
nestjs + docker + minikube + kubectl로 쿠버네티스 찍먹하기 (0) | 2024.04.02 |
---|---|
데이터베이스 Replication: 안정성과 성능 향상을 위한 필수 기술 (0) | 2023.05.21 |