Server/SpringBoot

[์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring] 5์ฃผ์ฐจ ๊ฐœ๋ฐœ์ผ์ง€ - AWS๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ

meeeeejin 2021. 7. 20. 21:06

 

๊ทธ๋™์•ˆ์˜ ๊ฐœ๋ฐœ์—์„œ๋Š” H2๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„๋ฅผ ์ค‘์ง€ํ•˜๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์กŒ๋‹ค. ๊ทธ๋ž˜์„œ AWS RDS์™€ ์„œ๋น„์Šค๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์šฐ๋“œ์— ์ €์žฅํ•˜๋„๋ก ํ–ˆ๋‹ค.

๋˜ํ•œ AWS EC2๋ฅผ ์ด์šฉํ•˜์—ฌ ์ „ ์ฃผ์ฐจ์— ๋งŒ๋“ค์—ˆ๋˜ <๋‚˜๋งŒ์˜ ์…€๋ ‰์ƒต>์„ ๋ฐฐํฌํ–ˆ๋‹ค. 

 

 

 

AWS๋ฅผ ์ด์šฉํ•œ ๋ฐฐํฌ

๐Ÿ’ก RDS ์ƒ์„ฑํ•˜๊ธฐ

Amazon Relational Database Service(RDS)๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ผ์šฐ๋“œ์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์ •, ์šด์˜ํ•ด๋ณด์ž. RDS๋Š” ํ˜„์žฌ Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SQL Server ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์„ ์ œ๊ณตํ•œ๋‹ค. ๋‚˜๋Š” ์ด์ค‘์— MySQL์„ ์„ ํƒํ–ˆ๋‹ค. 

 

  1. AWS ์ ‘์† ํ›„ ๋กœ๊ทธ์ธํ•˜๊ธฐ
  2. RDS ์„œ๋น„์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•ด ๋“ค์–ด๊ฐ€๊ธฐ
  3. "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ" ๋ฒ„ํŠผ ํด๋ฆญํ•˜๊ธฐ
  4. "ํ‘œ์ค€ ์ƒ์„ฑ"๊ณผ "MySQL" ์„ ํƒํ•˜๊ธฐ
  5. ํ…œํ”Œ๋ฆฟ์„ "ํ”„๋ฆฌํ‹ฐ์–ด"๋กœ ์„ค์ •ํ•˜๊ธฐ
  6. DB ์ธ์Šคํ„ด์Šค ์‹๋ณ„์ž์™€ ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์•”ํ˜ธ ์ž…๋ ฅํ•˜๊ธฐ
    โญ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๋Š” DB ์ ‘์†์— ์ด์šฉ๋˜๋‹ˆ ๊ผญ ๊ธฐ์–ตํ•˜๊ธฐ!!!
  7. "์—ฐ๊ฒฐ" ์„ค์ •์—์„œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ๊ธฐ๋Šฅ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๊ณ  ์ƒˆ ๋ณด์•ˆ ๊ทธ๋ฃน ์ƒ์„ฑํ•˜๊ธฐ
  8. "์ถ”๊ฐ€ ๊ตฌ์„ฑ" ์„ค์ •์—์„œ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„ ์„ค์ •ํ•˜๊ธฐ
  9. "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ" ๋ฒ„ํŠผ ํด๋ฆญํ•˜๊ธฐ!!
  10. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋ฉด ๋ณด์•ˆ ๊ทธ๋ฃน์— ์„ค์ •์—์„œ 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 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐฉ๋ฒ•

1. AWS EC2 EC2๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. โœ” ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์ด๋ž€? ์ธํ„ฐ๋„ท(ํด๋ผ์šฐ๋“œ)์„ ํ†ตํ•ด ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, DB ๋“ฑ์˜ ์ปดํ“จํŒ… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ

mjmjmj98.tistory.com

[AWS] AWS EC2 ์ธ์Šคํ„ด์Šค ์œˆ๋„์šฐ์—์„œ ์ ‘์†ํ•˜๊ธฐ

 

[AWS] AWS EC2 ์ธ์Šคํ„ด์Šค ์œˆ๋„์šฐ์—์„œ ์ ‘์†ํ•˜๊ธฐ

1. ์œˆ๋„์šฐ์—์„œ EC2 ์ธ์Šคํ„ด์Šค ์ ‘์† ๋ฐฉ๋ฒ• ์ •๋ฆฌ PuTTY ์„ค์น˜ PuTTY key Gen์„ ์ด์šฉํ•ด pem๋ฅผ ppk๋กœ ๋ณ€ํ™˜ ๋ณ€ํ™˜๋œ ํ‚ค๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค์— ssh ์ ‘์† 2. PuTTY๋กœ EC2 ์ธ์Šคํ„ด์Šค ์ ‘์†ํ•˜๊ธฐ 1) PuTTY ๋‹ค์šด๋กœ๋“œ PuTTY ์‚ฌ์ดํŠธ(www..

mjmjmj98.tistory.com

 

 

๐Ÿ’ก EC2๋กœ ๋ฐฐํฌํ•˜๊ธฐ

EC2์— ๋ฐฐํฌ ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋ ค๋ฉด ์šฐ์„  ๋ฐฐํฌ ํŒŒ์ผ์„ ๋นŒ๋“œํ•ด์•ผ ํ•œ๋‹ค. ๋นŒ๋“œ ์ˆœ์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. 

  1. intelliJ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ผœ์„œ ์šฐ์ธก์— ์žˆ๋Š” Gradle ์„ ํƒํ•˜๊ธฐ
  2. Tasks > build > build ํด๋ฆญํ•˜๊ธฐ
  3. ํ”„๋กœ์ ํŠธ ๋‚ด build > libs ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์— .jar ํ™•์žฅ์ž์ธ ๋ฐฐํฌ ํŒŒ์ผ ํ™•์ธํ•˜๊ธฐ

 

๋‹ค์Œ์€ EC2์—์„œ ํ•ด์•ผ ํ•  ์ž‘์—…์ด๋‹ค. 

  1. OpenJDK ์„ค์น˜ํ•˜๊ธฐ
    sudo apt-get update
    sudo apt-get install openjdk-8-jdk
    java -version
  2. ๋ฐฐํฌ ํŒŒ์ผ ์—…๋กœ๋“œํ•˜๊ธฐ(๋‚˜๋Š” xshell์„ ์ด์šฉํ•ด์„œ xftp๋กœ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ–ˆ๋‹ค)
  3. EC2์˜ 80, 8080 ํฌํŠธ ์—ด์–ด์ฃผ๊ธฐ(๋ณด์•ˆ ๊ทธ๋ฃน ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘)
    - 80 ํฌํŠธ: HTTP ์ ‘์†์„ ์œ„ํ•œ ๊ธฐ๋ณธ ํฌํŠธ
    - 8080 ํฌํŠธ: ์Šคํ”„๋ง ๋ถ€ํŠธ ๊ธฐ๋ณธ ํฌํŠธ
  4. ํฌํŠธ ํฌ์›Œ๋”ฉ(port forwarding)
    sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080โ€‹
    - 80 ํฌํŠธ๋กœ ์˜ค๋Š” ์š”์ฒญ์„ 8080 ํฌํŠธ๋กœ ์ „๋‹ฌ
  5. nohup ์ ์šฉํ•˜๊ธฐ
    nohup java -jar JARํŒŒ์ผ๋ช….jar &โ€‹
    - SSH ์ ‘์†์„ ๋Š์–ด๋„ ์„œ๋ฒ„๊ฐ€ ๊ณ„์† ์ž‘๋™ํ•˜๊ฒŒ ํ•จ
  6. EC2 ํผ๋ธ”๋ฆญ ip์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด์„œ ํ™•์ธํ•˜๊ธฐ!!!!!

 

์ฐธ๊ณ ) nohup ์ ์šฉํ•œ ์„œ๋ฒ„ ์ข…๋ฃŒํ•˜๊ธฐ

# ์„œ๋ฒ„์˜ pid ๊ฐ’(ํ”„๋กœ์„ธ์Šค ๋ฒˆํ˜ธ) ํ™•์ธ
ps -ef | grep java
# ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค kill
kill -9 [pid๊ฐ’]

 

 

 

๐Ÿ’ก ๋งˆ๋ฌด๋ฆฌ

EC2 ๋ฐฐํฌ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  ๊ฐ€๋น„์•„์—์„œ ๋„๋ฉ”์ธ์„ ์‚ฌ์„œ ์—ฐ๊ฒฐ๊นŒ์ง€ ํ•ด๋ดค๋‹ค. 

http://sparta-webdev-mj.shop/

 

 

๋‹ค ๋งŒ๋“ค๊ณ  ๋‚˜๋‹ˆ ์›นํŽ˜์ด์ง€๊ฐ€ ๋„ˆ๋ฌด ๋ถˆ์นœ์ ˆํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ์กฐ๊ธˆ ์ˆ˜์ •ํ–ˆ๋‹ค. 

  • ํ™ˆ ํ™”๋ฉด์— ์„ค๋ช… ์ถ”๊ฐ€
  • ์ตœ์ €๊ฐ€ ๋ฒ„ํŠผ ์ˆ˜์ • ๋ฐ ์œ„์น˜ ์ด๋™
  • ๊ด€์‹ฌ ์ƒํ’ˆ ์‚ญ์ œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
  • ๋‚ด๊ฐ€ ์„ค์ •ํ•œ ๊ฐ€๊ฒฉ ๋ณด์—ฌ์ฃผ๊ธฐ

์ˆ˜์ • ํ›„์—๋„ ์—ฌ์ „ํžˆ ๋„ˆ๋ฌด๋‚˜ ์ž‘๊ณ  ๊ท€์—ฌ์šด^^* ์‚ฌ์ดํŠธ์ง€๋งŒ ๊ทธ๋ž˜๋„ ์Šคํ”„๋ง์œผ๋กœ ์ฒ˜์Œ์œผ๋กœ ๋งŒ๋“ค์–ด๋ณธ ๊ทธ๋Ÿด๋“ฏํ•œ(?) ์‚ฌ์ดํŠธ์—ฌ์„œ ๊ธฐ์˜๋‹คใ…Žใ…Žใ…Žใ…Ž

 

์ด์ œ ๋“œ๋””์–ด ๋ณธ๋ž˜ ๋‚ด ๋ชฉ์ ์ด์—ˆ๋˜ Spring ์‹ฌํ™” ๊ฐ•์˜๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋‹ค!!! ์Šคํ”„๋ง ๊ธฐ์ดˆ๋ฅผ ๋ฐฐ์šฐ๋ฉด์„œ ์–ด๋…ธํ…Œ์ด์…˜ ํ•˜๋‚˜๋กœ ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ์„ ํ•จ์ถ•(?)ํ•ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์„ ๋ณด๊ณ  ๊ต‰์žฅํžˆ ๋†€๋ž๋‹ค. ์—„์ฒญ ํŽธ๋ฆฌํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด์„œ๋„ ๊ทธ ์›๋ฆฌ๋Š” ๊นŠ๊ฒŒ ํŒŒ๋ณด์ง€ ์•Š์•„ ํ•ญ์ƒ ๊ถ๊ธˆํ–ˆ์—ˆ๋‹ค. ์ด์ œ ์Šคํ”„๋ง์˜ ์›๋ฆฌ๋ฅผ ํŒŒํ—ค์น˜๋Ÿฌ ๊ฐ€๋ณด์ž~!~!๐Ÿ‘๐Ÿ‘

 

 

 

 

 

์ฐธ๊ณ  ์ž๋ฃŒ: ์ŠคํŒŒ๋ฅดํƒ€์ฝ”๋”ฉํด๋Ÿฝ ์›น๊ฐœ๋ฐœ์˜ ๋ด„, Spring 5์ฃผ์ฐจ ๊ฐ•์˜์ž๋ฃŒ

 

 

 

728x90