๊ทธ๋์์ ๊ฐ๋ฐ์์๋ H2๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ฅผ ์ค์งํ๋ฉด ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ก๋ค. ๊ทธ๋์ AWS RDS์ ์๋น์ค๋ฅผ ์ฐ๊ฒฐํด์ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ฐ๋์ ์ ์ฅํ๋๋ก ํ๋ค.
๋ํ AWS EC2๋ฅผ ์ด์ฉํ์ฌ ์ ์ฃผ์ฐจ์ ๋ง๋ค์๋ <๋๋ง์ ์ ๋ ์ต>์ ๋ฐฐํฌํ๋ค.
AWS๋ฅผ ์ด์ฉํ ๋ฐฐํฌ
๐ก RDS ์์ฑํ๊ธฐ
Amazon Relational Database Service(RDS)๋ฅผ ์ด์ฉํ์ฌ ํด๋ผ์ฐ๋์์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ , ์ด์ํด๋ณด์. RDS๋ ํ์ฌ Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SQL Server ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง์ ์ ๊ณตํ๋ค. ๋๋ ์ด์ค์ MySQL์ ์ ํํ๋ค.
- AWS ์ ์ ํ ๋ก๊ทธ์ธํ๊ธฐ
- RDS ์๋น์ค๋ฅผ ๊ฒ์ํด ๋ค์ด๊ฐ๊ธฐ
- "๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ" ๋ฒํผ ํด๋ฆญํ๊ธฐ
- "ํ์ค ์์ฑ"๊ณผ "MySQL" ์ ํํ๊ธฐ
- ํ
ํ๋ฆฟ์ "ํ๋ฆฌํฐ์ด"๋ก ์ค์ ํ๊ธฐ
- DB ์ธ์คํด์ค ์๋ณ์์ ๋ง์คํฐ ์ฌ์ฉ์ ์ด๋ฆ, ์ํธ ์
๋ ฅํ๊ธฐ
โญ๋ง์คํฐ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ํธ๋ DB ์ ์์ ์ด์ฉ๋๋ ๊ผญ ๊ธฐ์ตํ๊ธฐ!!! - "์ฐ๊ฒฐ" ์ค์ ์์ ํผ๋ธ๋ฆญ ์ก์ธ์ค ๊ธฐ๋ฅ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ ์ ๋ณด์ ๊ทธ๋ฃน ์์ฑํ๊ธฐ
- "์ถ๊ฐ ๊ตฌ์ฑ" ์ค์ ์์ ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ ์ค์ ํ๊ธฐ
- "๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ" ๋ฒํผ ํด๋ฆญํ๊ธฐ!!
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง๋ค์ด์ง๋ฉด ๋ณด์ ๊ทธ๋ฃน์ ์ค์ ์์ 3306 ํฌํธ ์ด์ด์ฃผ๊ธฐ
๐ก MySQL ์ฐ๊ฒฐํ๊ธฐ
์คํ๋ง ๋ถํธ์ ์ค์ ๋๋ถ๋ถ์ application.properties์์ ๊ด๋ฆฌํ๋ค. ๋ค์ ์ฝ๋๋ฅผ application.properties์ ์ถ๊ฐํ๊ณ ์ฐ๊ฒฐ์ ํ์ธํด๋ณด์.
spring.datasource.url=jdbc:mysql://๋ณธ์ธ์์๋ํฌ์ธํธ:3306/myselectshop
spring.datasource.username=๋ณธ์ธ์USERNAME
spring.datasource.password=๋ณธ์ธ์ํจ์ค์๋
spring.jpa.hibernate.ddl-auto=update
์๋ํฌ์ธํธ๋ RDS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํญ์์ ํ์ธํ ์ ์๋ค.
ํ๋ก์ ํธ๋ฅผ ์๋์ํค๊ณ , DB์ ๊ด์ฌ ์ํ์ ์ ์ฅํ ๋ค ์๋ฒ๋ฅผ ๋ด๋ ธ๋ค ์๋์์ผ๋ ๋จ์์๋์ง ์ฒดํฌ์ฒดํฌโ
๐ก EC2 ์์ฑํ๊ธฐ
EC2 ์์ฑ๊ณผ ์ฐ๊ฒฐ ๊ด๋ จ๋ ํฌ์คํ ์ ์ ์ ์ผ์ผ๋ฏ๋ก ํจ์คํ๊ฒ ๋ค.
[AWS] AWS EC2 ์ธ์คํด์ค ์์ฑ ๋ฐฉ๋ฒ
[AWS] AWS EC2 ์ธ์คํด์ค ์๋์ฐ์์ ์ ์ํ๊ธฐ
๐ก EC2๋ก ๋ฐฐํฌํ๊ธฐ
EC2์ ๋ฐฐํฌ ํ์ผ์ ์ฌ๋ฆฌ๋ ค๋ฉด ์ฐ์ ๋ฐฐํฌ ํ์ผ์ ๋น๋ํด์ผ ํ๋ค. ๋น๋ ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- intelliJ์์ ํ๋ก์ ํธ๋ฅผ ์ผ์ ์ฐ์ธก์ ์๋ Gradle ์ ํํ๊ธฐ
- Tasks > build > build ํด๋ฆญํ๊ธฐ
- ํ๋ก์ ํธ ๋ด build > libs ๋๋ ํฐ๋ฆฌ ๋ด์ .jar ํ์ฅ์์ธ ๋ฐฐํฌ ํ์ผ ํ์ธํ๊ธฐ
๋ค์์ EC2์์ ํด์ผ ํ ์์ ์ด๋ค.
- OpenJDK ์ค์นํ๊ธฐ
sudo apt-get update sudo apt-get install openjdk-8-jdk java -version
- ๋ฐฐํฌ ํ์ผ ์ ๋ก๋ํ๊ธฐ(๋๋ xshell์ ์ด์ฉํด์ xftp๋ก ํ์ผ์ ์ ๋ก๋ํ๋ค)
- EC2์ 80, 8080 ํฌํธ ์ด์ด์ฃผ๊ธฐ(๋ณด์ ๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น ํธ์ง)
- 80 ํฌํธ: HTTP ์ ์์ ์ํ ๊ธฐ๋ณธ ํฌํธ
- 8080 ํฌํธ: ์คํ๋ง ๋ถํธ ๊ธฐ๋ณธ ํฌํธ - ํฌํธ ํฌ์๋ฉ(port forwarding)
- 80 ํฌํธ๋ก ์ค๋ ์์ฒญ์ 8080 ํฌํธ๋ก ์ ๋ฌsudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080โ
- nohup ์ ์ฉํ๊ธฐ
- SSH ์ ์์ ๋์ด๋ ์๋ฒ๊ฐ ๊ณ์ ์๋ํ๊ฒ ํจnohup java -jar JARํ์ผ๋ช .jar &โ
- EC2 ํผ๋ธ๋ฆญ ip์ฃผ์๋ก ์ ์ํด์ ํ์ธํ๊ธฐ!!!!!
์ฐธ๊ณ ) nohup ์ ์ฉํ ์๋ฒ ์ข ๋ฃํ๊ธฐ
# ์๋ฒ์ pid ๊ฐ(ํ๋ก์ธ์ค ๋ฒํธ) ํ์ธ
ps -ef | grep java
# ํด๋น ํ๋ก์ธ์ค kill
kill -9 [pid๊ฐ]
๐ก ๋ง๋ฌด๋ฆฌ
EC2 ๋ฐฐํฌ๋ฅผ ๋ง๋ฌด๋ฆฌํ๊ณ ๊ฐ๋น์์์ ๋๋ฉ์ธ์ ์ฌ์ ์ฐ๊ฒฐ๊น์ง ํด๋ดค๋ค.
๋ค ๋ง๋ค๊ณ ๋๋ ์นํ์ด์ง๊ฐ ๋๋ฌด ๋ถ์น์ ํ ๊ฒ ๊ฐ์์ ์กฐ๊ธ ์์ ํ๋ค.
- ํ ํ๋ฉด์ ์ค๋ช ์ถ๊ฐ
- ์ต์ ๊ฐ ๋ฒํผ ์์ ๋ฐ ์์น ์ด๋
- ๊ด์ฌ ์ํ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ
- ๋ด๊ฐ ์ค์ ํ ๊ฐ๊ฒฉ ๋ณด์ฌ์ฃผ๊ธฐ
์์ ํ์๋ ์ฌ์ ํ ๋๋ฌด๋ ์๊ณ ๊ท์ฌ์ด^^* ์ฌ์ดํธ์ง๋ง ๊ทธ๋๋ ์คํ๋ง์ผ๋ก ์ฒ์์ผ๋ก ๋ง๋ค์ด๋ณธ ๊ทธ๋ด๋ฏํ(?) ์ฌ์ดํธ์ฌ์ ๊ธฐ์๋คใ ใ ใ ใ
์ด์ ๋๋์ด ๋ณธ๋ ๋ด ๋ชฉ์ ์ด์๋ Spring ์ฌํ ๊ฐ์๋ฅผ ๋ค์ ์ ์๋ค!!! ์คํ๋ง ๊ธฐ์ด๋ฅผ ๋ฐฐ์ฐ๋ฉด์ ์ด๋ ธํ ์ด์ ํ๋๋ก ์๋ง์ ๊ธฐ๋ฅ์ ํจ์ถ(?)ํด๋ฒ๋ฆฌ๋ ๊ฒ์ ๋ณด๊ณ ๊ต์ฅํ ๋๋๋ค. ์์ฒญ ํธ๋ฆฌํ ํ๋ ์์ํฌ๋ผ๊ณ ์๊ฐํ๋ฉด์๋ ๊ทธ ์๋ฆฌ๋ ๊น๊ฒ ํ๋ณด์ง ์์ ํญ์ ๊ถ๊ธํ์๋ค. ์ด์ ์คํ๋ง์ ์๋ฆฌ๋ฅผ ํํค์น๋ฌ ๊ฐ๋ณด์~!~!๐๐
์ฐธ๊ณ ์๋ฃ: ์คํ๋ฅดํ์ฝ๋ฉํด๋ฝ ์น๊ฐ๋ฐ์ ๋ด, Spring 5์ฃผ์ฐจ ๊ฐ์์๋ฃ