본문 바로가기
IT/Frontend

환경변수설정

by DOSGamer 2022. 9. 20.
반응형

서버리스 환경에서 개발을 하면 여러 환경에서 실행이 되는데 중요한 정보들을 소스에서 분리 시켜서 관리 한다

그럴때 사용하는 정보가 환경변수 (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