반응형
서버리스 환경에서 개발을 하면 여러 환경에서 실행이 되는데 중요한 정보들을 소스에서 분리 시켜서 관리 한다
그럴때 사용하는 정보가 환경변수 (process.env) 이다
환경변수를 시스템 환경별로 관리하는 방법을 알아본다
로컬PC
- direnv : 폴더별로 환경변수를 설정하는 라이브러리
- cross-env : CLI 에서 환경변수를 설정하고 스크립트를 실행
개발환경
- file 과 AWS ssm 으로 관리한다 : 환경변수를 file 에서 찾고 없으면 ssm 으로 찾는다
- file : config/dev.env.json
- ssm : AWS Secrets Manager
# serverless.yml
custom:
ssm: ${ssm:/aws/sampleApplication/${opt:stage, self:provider.stage}/envs~true}
createUser:
handler: functions/api/rest/createUser/function.handler
environment: ${self.custom.ssm.fetchData, file(./config/${self:custom.stage}.env.json)}
events:
- http:
method: POST
path: /api/users
cors: true
.gitignore 에 config/dev.env.json 을 추가해 놓는다
대신 dev.env.json.example 파일을 만들어 놓는다
# dev.env.json.example
{
"API_ENDPOINT": "FAKE_API_ENDPOINT",
"API_SECRET_KEY": "FAKE_API_SECRET_KEY"
}
테스트환경
- AWS ssm 으로 관리한다 : 환경변수를 file 에서 찾고 없으면 ssm 으로 찾는다
- file : 파일은 만들지 않는다
- ssm : AWS Secrets Manager
운영환경
- AWS ssm 으로 관리한다 : 환경변수를 file 에서 찾고 없으면 ssm 으로 찾는다
- file : 파일은 만들지 않는다
- ssm : AWS Secrets Manager
Serverless Environment Variables – A Comprehensive Guide
https://adamdelong.com/serverless-environment-variables/
Uploaded by N2T
반응형
'IT > Frontend' 카테고리의 다른 글
테스트도구 (0) | 2022.09.20 |
---|---|
Regex 정규식 표현방법 정리 (0) | 2022.08.26 |
ESLint 규칙 (0) | 2022.08.25 |
Vue.js 개발환경 (0) | 2020.03.09 |
예제로 배우는 Vue.js (0) | 2020.03.05 |
프론트엔드 개발자를 위한 크롬 Extensions 과 Online Tools (0) | 2020.02.25 |
Our Next Web Framework is Vue (0) | 2020.02.13 |
AWS Lambda 를 이용한 Nuxt.js 프로젝트 구현 (0) | 2019.12.03 |