[AWS] parameter store

📝 1yangsh·2021년 10월 5일
0

AWS의 parameter store 이용하기

어플리케이션의 db 정보, config 정보를 어플리케이션에 하드코딩하여 넣어놓지 않고 parameter store로 관리할 수 있다.

1. 먼저 parameter store에 config 정보(예: DB정보)의 값을 넣는다


2-1. 파이썬 파일에서 환경변수 불러오기

먼저 aws 로그인이 되어있어야 한다!!
python 코드 내에서 parameter store 불러오기

import boto3

ssm = boto3.client("ssm", region_name="ap-northeast-2")
param_db = ssm.get_parameter(Name='/test/config', WithDecryption=True)["Parameter"]["Value"]

db_info = {}
[db_info.setdefault(i.split('=')[0], i.split('=')[1]) for i in param_db.split('\n') if i != '']
# for db in [i.split('=') for i in param_db.split('\n') if i != '']:
#     db_info[db[0]] = db[1]

2-2. shell에서 .env로 파일 만들기(CI/CD에서 활용가능)

parameter store 값 > .env로 생성

: "${ENVIRONMENT:="test"}"
ENVIRONMENT_PATH=/${ENVIRONMENT}/config

aws ssm get-parameters --names ${ENVIRONMENT_PATH} --with-decrypt | jq -r '.Parameters[0].Value' > .env

2-2-1 Django 기준 entrypoint 혹은 settings.py에서 .env 실행

import dotenv

dotenv.load_dotenv(os.path.join(os.path.abspath(os.path.dirname(__name__)), '.env'))
profile
개발 경험 저장소

0개의 댓글