반응형
AWS EC2 인스턴스에서 .yaml 파일에서 불러오는 값 중 노출되면 안 되는 값들은 환경변수로 설정하는 것이 좋습니다.
spring:
datasource:
url: jdbc:mysql://cordjg-database.c8izlkxyxcni.ap-northeast-2.rds.amazonaws.com:13306/uncover?serverTimezone=Asia/Seoul&useSSL=false&characterEncoding=UTF-8
username: admin
password: ${MYSQL_SECRET}
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL8Dialect
security:
oauth2:
client:
registration:
google:
clientId: ${G_CLIENT_ID}
clientSecret: ${G_CLIENT_SECRET}
scope:
- email
- profile
위와 같이 노출되면 안 되는 값들은 ${...} 로 설정한 뒤 환경변수에 저장한 뒤 읽어올 수 있는데
ec2 인스턴스에서는 다음의 과정을 통해 환경변수를 설정할 수 있습니다.
ubuntu@ip-172-31-40-115:~$ ls -al
total 52
drwxr-xr-x 8 ubuntu ubuntu 4096 May 12 14:37 .
drwxr-xr-x 3 root root 4096 May 12 05:26 ..
-rw------- 1 ubuntu ubuntu 2930 May 12 13:04 .bash_history
-rw-r--r-- 1 ubuntu ubuntu 220 Feb 25 2020 .bash_logout
-rw-r--r-- 1 ubuntu ubuntu 4008 May 12 14:37 .bashrc
drwx------ 2 ubuntu ubuntu 4096 May 12 05:34 .cache
drwxrwxr-x 10 ubuntu ubuntu 4096 May 12 05:43 .gradle
drwxrwxr-x 3 ubuntu ubuntu 4096 May 12 05:52 .local
-rw-r--r-- 1 ubuntu ubuntu 807 Feb 25 2020 .profile
drwx------ 2 ubuntu ubuntu 4096 May 12 05:40 .ssh
-rw-r--r-- 1 ubuntu ubuntu 0 May 12 05:36 .sudo_as_admin_successful
-rw------- 1 ubuntu ubuntu 753 May 12 13:04 .viminfo
drwxrwxr-x 2 ubuntu ubuntu 4096 May 12 07:46 image
drwxrwxr-x 7 ubuntu ubuntu 4096 May 12 05:40 seb43_main_017
ubuntu@ip-172-31-40-115:~$
우리가 찾아야 할 파일은 .bashrc 파일이고 이 파일은
ubuntu@~~~~/home/ubuntu 에 있습니다.
따라서 본인 경로에서 cd ..를 통해 본인의 경로를 찾은뒤 home/ubuntu에서 ls -al 을 통해 .bashrc를 찾습니다.
1. .bashrc 파일에 환경변수 추가
home/ubuntu/ 경로에서 다음의 명령어를 사용합니다.
nano .bashrc
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
# append to the history file, don't overwrite it
shopt -s histappend
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
nano .bashrc 를 입력하면 위와 같은 화면이 나오는데 제일 밑으로 이동합니다.
2. 'export' 명령어를 사용하여 환경 변수를 설정합니다.
export MYSQL_SECRET=123456789
3. 변경 사항을 저장합니다. ( Ctrl+x ,누른 뒤 Y 를 누르고 Enter를 누른다)
4. '.bashrc' 파일에서 설정한 환경 변수를 사용할 수 있도록 변경 사항을 적용하기 위해 다음 명령어를 입력합니다.
source .bashrc
5. 마지막으로 환경변수가 제대로 저장됐는지 확인해보면 끝입니다.!
echo $MYSQL_SECRET
123456789
반응형
'Spring' 카테고리의 다른 글
[JPA] @GeneratedValue (Entity key생성) (0) | 2023.08.06 |
---|---|
Ngrok - 특징 및 사용법 (로컬 서버를 공개 서버로) (0) | 2023.04.06 |
Apache Tomcat (톰캣) (0) | 2023.04.06 |
Spring _ JAR(Java Archive) , WAR(Web application Archive) (0) | 2023.04.06 |
Java Spring _ SSR(Server Side Rendering) ,CSR(Client Side Renderin (0) | 2023.03.23 |