일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- konga
- fosslight
- pyannote
- kong
- mybatis
- API Gateway
- 자료구조
- docker
- ELK
- metricbeat
- curl
- C++
- monitoring
- roll over
- prometeus
- devops
- OpenSource
- supabase
- template/callback
- 화자분리
- umc
- elastic search
- jwt-java
- 하이브리드 데이터 모델
- 메소드
- 파이썬
- java
- Spring
- Nice
- DI
- Today
- Total
youngseo's TECH blog
[DEVOPOS | AWS | SPRING] application.yml 파일 환경변수 외부주입 - aws env 파일/intellij configuration 본문
[DEVOPOS | AWS | SPRING] application.yml 파일 환경변수 외부주입 - aws env 파일/intellij configuration
jeonyoungseo 2023. 6. 9. 14:24평소 ec2에 docker image를 올리는 과정에서 환경변수를 그대로 올리는 형태로 구현해왔다.
아래와 같이 docker image 속에 ec2 host, docker ID/password 등이 그대로 적혀 있게 되면 docker가 private이면 그나마 괜찮겠지만.. public이라면!!😱😱
이 image가 그대로 노출되어 버렸을 때 큰 불상사를 야기할 수 있다.!! 지갑을 지키자
이를 해결하는 효율적인 방법으로 ec2 server단에 환경변수를 저장하는 방법이 존재한다.
ec2 ubuntu 환경에서 파일을 만드는 것이다.
아래 명령어를 통해 .env 파일을 만들 수 있다.
vim .env ##파일이 없으면 생성, 있으면 수정 또는 추가
.env파일은 초기에 비어있다. 환경변수값은 application.yml 파일에서
jwt:
secret: example 로 작성했다면 아래와 같이 JWT_SECRET = example 로 작성해주면 된다.
즉, yml 파일에서 ':'로 계층적 구조를 작성해왔던 것들을 '_'으로 풀어 쓴다고 이해하자!
추가로 Intellij에서 application.yml 파일에 환경변수를 적지 않고 Intellij 상에 환경변수를 할당하는 방법에 대해 알아보자!
위와 같이 Intellij에서 Edit Configuration을 찾아 들어가면 환경변수 Environment variables를 할당받을 수 있는 방법이 있다.
이후 위의 빨간색 버튼을 눌러 환경변수들을 UPPER_CASE와 _언더바를 이용하여 할당해준다. 그러면 왼쪽과 같이 ;로 여러 환경변수들이 분류됨을 알 수 있다.
이 환경변수들은 왼쪽과 같이 .yml 파일에서 ${} 내의 변수로 할당하여 사용할 수도 있고,
오른쪽과 같이 @Value("jwt-secret") 등의 value annotation에 할당된 변수로도 사용될 수 있다.
추가로 공부할 내용
OpenSSL을 이용하여 .env 파일 암호화하기
Linux 에서 파일 권한 제한해보기 - chmod
'BackEnd > DEVOPS' 카테고리의 다른 글
[Serverless|Cloud RUN] Google Cloud Run으로 JAVA WAR 파일 배포하기 (2) | 2024.01.02 |
---|---|
[DEVOPS] Linux 환경에서 ELK metricbeat를 사용한 시스템 모니터링 (0) | 2023.09.02 |
[Kafka] Kafka 이론 및 실습(Window10 Local 환경) (0) | 2023.08.11 |
[DevOps] Docker+Docker_compose+Github_Actions (5) | 2023.03.24 |
[DEVOPS] EC2+Docker로 배포해보기 (2) | 2023.02.09 |