cloud:
  aws:
    credentials:
      access-key: ${S3_ACCESS}
      secret-key: ${S3_SECRET}
    region:
      static: ap-northeast-2
    s3:
      bucket: auctify
    stack:
      auto: false

프로젝트를 하다보면 중요한 DB정보나 AWS관련 정보를 사용하는 경우가 있다. 이때 따로 yml파일에 민감한 정보를 환경변수에서 가져와

사용할 수 있다. 오늘 이 방법에 대해서 간략하게 정리하고자 한다.

 

 

 

스프링 버전에 맞는 dotenv의존성을 가져와야한다. 

build.gradle

.env파일을 그냥 읽어 들을 수 없으므로 dotenv의존성 추가 버전에 유의할 것 

// .env파일 로드
implementation 'me.paulschwarz:spring-dotenv:4.0.0'

 

 

.env파일 작성 

이때 .env파일은 gitignore에 설정되어 있어야함. (참고로 설정하고 캐시를 제거해서 바로 적용되도록 하자.)

key=value 형식으로 작성 

rds_mysql_secret=
rds_mysql_name=
rds_mysql_url=
jwt_secret=vmf
google_client=
google_secret=
google_uri=
naver_client=
naver_secret=
s3_access=
s3_secret=
s3_bucket=
AWS_ACCESS_KEY_ID=7+Z
AWS_SECRET_ACCESS_KEY=AKIAYQYUA
S3_ACCESS=7+Zi1XOOICyU7jjY6S7
S3_SECRET=ㅁㄴㅇㅁㄴ123

 

 

application.yml에서 가져다 쓰기

아래는 간단한 예시다  ${key값}

cloud:
  aws:
    credentials:
      access-key: ${S3_ACCESS}
      secret-key: ${S3_SECRET}
    region:
      static: ap-northeast-2
    s3:
      bucket: auctify
    stack:
      auto: false

 

 

정리 

원격에 올리기 싫은 환경변수들을 안전하게 .env에 저장하는 법에 대해서 알아봤다. 

'SPRING' 카테고리의 다른 글

Controller에서 JSON데이터와 MultipartFile받기  (0) 2025.02.01

+ Recent posts