STEP 1. ec2-micro ์ธ์คํด์ค์ MySQL ์ค์น
์ค์น ์ปค๋ฉ๋ ๊ธฐ๋ก
STEP 2. ec2-micro ์ธ์คํด์ค ๋น์ฉ ์ ์ฑ
๊ธฐ๋ก
STEP 1.
-
์ค์น ์คํฌ๋ฆฝํธ ์์ฑ
mysql.sh
sudo apt-get -y update # ์ฐ๋ถํฌ ์๋ฒ ์ ๋ฐ์ดํธ sudo apt-get -y install mysql-server # mysql-server ์ค์น (ํน์ mariadb-server) sudo ufw allow mysql # ์ธ๋ถ ์ ์ ๊ธฐ๋ฅ ์ค์ (ํฌํธ 3306 ์คํ) sudo systemctl start mysql # MySQL ์คํ sudo systemctl enable mysql # Ubuntu ์๋ฒ ์ฌ์์์ MySQL ์๋ ์ฌ์์ query="CREATE DATABASE [DB๋ช ] default CHARACTER SET UTF8; # DB์์ฑ CREATE USER '[์ฌ์ฉ์๋ช ]'@'[Spring์๋ฒ IP]' IDENTIFIED BY '[๋น๋ฐ๋ฒํธ]'; # ์ฌ์ฉ์ ์์ฑ FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON [DB๋ช ].* TO '[์ฌ์ฉ์๋ช ]'@'[Spring์๋ฒ IP]'; FLUSH PRIVILEGES; SHOW GRANTS FOR'[์ฌ์ฉ์๋ช ]'@'[Spring์๋ฒ IP]';" sudo /usr/bin/mysql -u root -D mysql -e "${query}" # DB ์ฟผ๋ฆฌ ์คํ
-
์คํฌ๋ฆฝํธ ์คํ
./mysql.sh
STEP 2.
GCP ๋ฌด๋ฃ ํ๋ก๊ทธ๋จ ์ ์ฐธ๊ณ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์๋ด๊ธ์ ๋ณผ ์ ์์ต๋๋ค.
- ํน์ ๋ฆฌ์ (์ค๋ฆฌ๊ฑด:
us-west1
, ์์ด์ค์:us-central1
, ์ฌ์ฐ์ค์บ๋กค๋ผ์ด๋:us-east1
) - ์คํ ๋ฆฌ์ง 30GB
๊น์ง๋ ์ 720์๊ฐ๊น์ง ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ์์ต๋๋ค.
(์๋ณ ์์ ๊ฐ๊ฒฉ์ 720์๊ฐ ์ด๊ณผ ํ์ ๊ฐ๊ฒฉ์ด์ง ์์๊น ์๊ฐ๋ฉ๋๋ค.)
STEP 1. GCP ์ธ์คํด์ค์ ์ค์นํ MySQL์ ํค๋ก์ฟ ์ฐ๋
MySQL ์ ๋ณด๋application-real.yml ์ค์ ์ ๋ณด ์ถ๊ฐ
STEP 2. DEV GROUP real data๋ก insert
STEP 3. API ๋ช๋ฒ ํธ์ถํด๋ณด๊ณ ํ๊ท ์๋ต ms ๊ธฐ๋ก
STEP 1.
-
GCP MySQL ์๋ฒ IP ํ์ธ ํ ํ๋ก์ ํธ ์ค์ ๊ฐ ๋ณ๊ฒฝ
-
MySQL IP : xx.xxx.xx.xxx
-
appliction-real.yml
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://xx.xxx.xx.xxx:3306/dev_event?characterEncoding=UTF-8&serverTimezone=UTC username: [์ฌ์ฉ์๋ช ] password: [๋น๋ฐ๋ฒํธ]
โฑ ์ฃผ์ํ ์
- mysql ์๋ฒ์ ์ฌ์ฉ์๋ฅผ ๋ง๋ค๋
์คํ๋ง ์๋ฒ ip
๋ง ํ์ฉํด์ ๋ง๋ค๊ฒ - db์๋ฒ ip์คํ์
์คํ๋ง ์๋ฒ ip
๋ง ํ์ฉํ ๊ฒ
-
-
MySQL ์๋ฒ ์คํ
vi /etc/mysql/mariadb.conf.d/50-server.cnf
50-server.cnf
bind-address = [์คํ๋ง ์๋ฒ ip]
service mysql restart netstat -lntp # 3306๋ฒ ํฌํธ ์ด๋ฆฐ ip ํ์ธ
-
์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐํฌ๋ ์๋ฃ~!
cf) heroku ์ฐธ๊ณ
$ heroku login
$ heroku git:remote -a sangjin-test
$ git add .
$ git commit -am "make it better"
$ git push heroku master