Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable

Amenable's Blog

AWS๋ฅผ ํ™œ์šฉํ•œ ์ดˆ๊ฐ„๋‹จ ๋ฐฐํฌ - 2
๐Ÿ“‚ DevOps/๋ฐฐํฌ

AWS๋ฅผ ํ™œ์šฉํ•œ ์ดˆ๊ฐ„๋‹จ ๋ฐฐํฌ - 2

2022. 11. 27. 03:13

  ์ด์ „ ๊ธ€์—์„œ 1) EC2 ์ƒ์„ฑ 2) ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ • 3) RDS ์ƒ์„ฑ 4) RDS ๋ณด์•ˆ ๊ทธ๋ฃน๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์„ค์ •์„ ์•Œ์•„๋ณด์•˜๋‹ค. ์ดˆ๊ฐ„๋‹จ ๋ฐฐํฌ์˜ ๋งˆ์ง€๋ง‰ ์‹œ๊ฐ„์œผ๋กœ 5) PUTTY ์„ค์ • 6) PUTTY์—์„œ RDS์—ฐ๊ฒฐ ๋ฐ DB ์ƒ์„ฑ 7) ํ”„๋กœ์ ํŠธ ์„ค์ • 8) PUTTY์—์„œ ์„œ๋ฒ„ ์ž‘๋™์‹œํ‚ค๊ธฐ๋ฅผ ๊ณ„์†ํ•ด์„œ ์•Œ์•„๋ณด์ž.

 

5. PUTTY ์„ค์ •

 

  PUTTY์— ์ ‘์†ํ•˜์—ฌ Connection - SSH - Auth๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Browse... ๋ฅผ ํด๋ฆญํ•˜์—ฌ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ฉด์„œ ๋‹ค์šด๋กœ๋“œํ•œ ppk๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ Session์œผ๋กœ ์ด๋™ํ•œ๋‹ค.

Host Name์—๋Š” ec2-user@์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญIPv4 DNS๋ฅผ ์ž…๋ ฅํ•˜๊ณ , Saved Settings ๋ถ€๋ถ„์— ppk๋ฅผ ๋“ฑ๋กํ•  ์ด๋ฆ„์„ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Save ํด๋ฆญ!!(์ถ”ํ›„์— ์„ค์ •๋œ ์ด๋ฆ„์„ ์ด์šฉํ•˜์—ฌ ์ ‘๊ทผํ•œ๋‹ค๋ฉด ๋”ฐ๋กœ ํŒŒ์ผ์„ ์ฐพ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.)

Open์„ ํด๋ฆญํ•œ๋‹ค.

 

6. PUTTY์—์„œ RDS ์—ฐ๊ฒฐ ๋ฐ DB ์ƒ์„ฑ

1. MySQLCLI ์„ค์น˜

sudo yum install mysql

2. RDS์— ์ ‘๊ทผ

mysql -u ๊ณ„์ • -p -h Host์ฃผ์†Œ

(ex. $mysql -u yeonjae -p -h ์—”๋“œํฌ์ธํŠธ)(์—”๋“œํฌ์ธํŠธ๋Š” AWS์˜ RDS์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ)

 

3. Welcome์ด๋ผ๋Š” ๊ธ€๊ณผ ํ•จ๊ป˜ ์ ‘์† ์„ฑ๊ณต

4. ํ˜„์žฌ ์žˆ๋Š” databaseํ™•์ธ

show databases;

5. DB ์ƒ์„ฑ

CREATE DATABASE DB๋ช…;

(ex. $CREATE DATABASE board)

6. ํ™•์ธ

show databases;

7. ์ ‘์† ์ข…๋ฃŒ

exit

 

7. ํ”„๋กœ์ ํŠธ ์„ค์ •

  ํ”„๋กœ์ ํŠธ์˜ ์„ค์ •์€ application.yml๊ณผ build.gradle์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค.

1. application.yml ํŒŒ์ผ ์„ค์ •

spring:
  datasource:
    url: jdbc:mariadb://์—”๋“œํฌ์ธํŠธ:3306/DB๋ช…
    username:
    password:
    driver-class-name: org.mariadb.jdbc.Driver
    
jpa:
  database-platform: org.hibernate.dialect.MySQL5InnoDBDialect

(์œ„์˜ ์Šฌ๋ž˜์‹œ๋Š” ์ฃผ์„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค.)

  jpa ํ•˜์œ„์˜ hibernate: ๋˜๋Š” properties: ์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ ์„ฑ๊ฒฉ์— ๋งž๊ฒŒ ์„ค์ •ํ•˜๋„๋ก ํ•˜์ž.

  PUTTY์— ์ ‘์†ํ•œ ํ›„ ๊นƒํ—™์œผ๋กœ clone์„ ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ db์˜ ์•„์ด๋””์™€ ๋น„๋ฒˆ์„ ๋‚˜ํƒ€๋‚ด๋Š” username๊ณผ password๋Š” ๊ธฐ์ž…ํ•˜์ง€ ์•Š๋„๋ก ํ•˜์ž. ์ด๋Š” ์„œ๋ฒ„์—์„œ ์„ค์ •ํ•˜๋„๋ก ํ•˜์ž.

2. build.gradle ์„ค์ •

dependencies{
    implementation 'org.mariadb.jdbc:mariadb-java-client:2.1.2'
}

  dependencies์— implementation์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค. (๋ฒ„์ „์€ ์•Œ์•„์„œ ๋งž์ถ”๋„๋ก ํ•˜์ž.)

(+ ํ”„๋กœ์ ํŠธ์—์„œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ ํ†ต๊ณผ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์žˆ์œผ๋ฉด ์‚ญ์ œํ•ด์ฃผ๋„๋ก ํ•˜์ž.)

 

8. PUTTY์—์„œ ์„œ๋ฒ„ ์ž‘๋™์‹œํ‚ค๊ธฐ

  ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์ž‘์‹œํ‚ค๊ธฐ์— ์•ž์„œ PUTTY์—์„œ ๋ช‡ ๊ฐ€์ง€ ์„ค์ •์„ ํ•˜์ž.

1. ์ž๋ฐ” ์„ค์น˜

1. AWS coretto ๋‹ค์šด๋กœ๋“œ

sudo curl -L https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.rpm -o jdk11.rpm

2. jdk11 ์„ค์น˜

sudo yum localinstall jdk11.rpm

3. jdk version ์„ ํƒ

sudo /usr/sbin/alternatives --config java

4. java ๋ฒ„์ „ ํ™•์ธ

java --version

5. ๋‹ค์šด๋ฐ›์€ ์„ค์น˜ ํ‚คํŠธ ์ œ๊ฑฐ

rm -rf jdk11.rpm

2. ํƒ€์ธ์กด ์„ค์ •

sudo rm /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ์‹œ๊ฐ„์„ ํ™•์ธํ•˜์ž

date

3. ํ˜ธ์ŠคํŠธ ๋„ค์ž„ ๋ณ€๊ฒฝ

sudo hostnamectl set-hostname ์ด๋ฆ„
sudo reboot

  ๋‹ค์‹œ ec2์— ์ ‘์†ํ•˜๋„๋ก ํ•˜์ž. (๋„ˆ๋ฌด ๋นจ๋ฆฌํ•˜๋ฉด ์žฌ๋ถ€ํŒ…์ด ์•ˆ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋А ์ •๋„ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.)

  ์žฌ์ ‘์†์„ ํ•˜๊ณ  ๋‚œ ํ›„, ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ๋ฅผ ์ฐพ์„ ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ๊ฒ€์ƒ‰ํ•ด๋ณด๋Š” /etc/hosts์— ๋ณ€๊ฒฝํ•œ host์„ ๋“ฑ๋กํ•˜์ž. (vim์˜ ์‚ฌ์šฉ๋ฒ•์€ ์—ฌ๊ธฐ์„œ ๋”ฐ๋กœ ์–ธ๊ธ‰ํ•˜์ง€ ์•Š๊ฒ ๋‹ค.)

sudo vim /etc/hosts

๋“ค์–ด๊ฐ€ ๋ณด๋ฉด, ์ฒซ ๋ฒˆ์งธ ์ค„๊ณผ ๋‘ ๋ฒˆ์งธ ์ค„์— 127.0.0.1 ~~~ ๊ณผ ::1 ~~~ ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๋ฐ‘์— ์•„๋ž˜์˜ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•˜์ž.

127.0.0.1 ์ด๋ฆ„

  ์•„๋ž˜์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธํ•ด๋ณด์ž. ๋งŒ์•ฝ Failed to connect๋ผ๊ณ  ๋œฌ๋‹ค๋ฉด ์„ฑ๊ณตํ•œ ๊ฒƒ์ด๋‹ค. (์ด๋Š” ์•„์ง ํ•ด๋‹น ํฌํŠธ๋กœ ์‹คํ–‰๋œ ์„œ๋น„์Šค๊ฐ€ ์—†์Œ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ผ ๋ฟ์ด๋‹ค.)

curl ์ด๋ฆ„

4. ํ”„๋กœ์ ํŠธ ๊ฐ€์ ธ์˜ค๊ธฐ

sudo yum install git
mkdir ~/app
cd ~/app
git clone ๊นƒ์ฃผ์†Œ

  ๊นƒ ์ฃผ์†Œ๋Š” ํ•ด๋‹น repository์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

5. application.yml ์ถ”๊ฐ€ ์„ค์ •

  application.yml๋กœ ์ด๋™ํ•˜์—ฌ DB์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•ด์ค€๋‹ค.

6. ์‹คํ–‰

cd ํ”„๋กœ์ ํŠธ๋ช…

  ํ”„๋กœ์ ํŠธ์˜ ์ƒ์œ„ ๋ชฉ๋ก์œผ๋กœ ์ด๋™ํ•œ๋‹ค. (build.gradle, gradle, gradlew, gradlew.bat, settings.gradle, src ๋“ฑ์ด ์žˆ๋Š” ์œ„์น˜)

chmod +x ./gradlew
./gradlew build

cd build
cd libs
java -jar ํ”„๋กœ์ ํŠธ๋ช…SNAPSHOT.jar

  ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋ฉด ec2 ์ธ์Šคํ„ด์Šค์˜ 'ํผ๋ธ”๋ฆญ IPv4 DNS:8080'์„ ํ†ตํ•˜์—ฌ ์ ‘๊ทผํ•ด๋ณธ๋‹ค. ์ž˜ ๋™์ž‘ํ•  ๊ฒƒ์ด๋‹ค๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ


  ์ด๋ ‡๊ฒŒ ์ด 8๋‹จ๊ณ„๋ฅผ ํ†ตํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌ๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์˜ค์ง ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋งž์ท„๊ธฐ ๋•Œ๋ฌธ์— ๋ฏธํกํ•œ ๋ถ€๋ถ„์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๋งŽ์€ ์–‘ํ•ด๋ฅผ ๊ตฌํ•ฉ๋‹ˆ๋‹ค.๐Ÿ˜…

 

ํ•ด๋‹น ๊ธ€์€ ์ด๋™์šฑ ๋‹˜์˜ '์Šคํ”„๋ง ๋ถ€ํŠธ์™€ AWS๋กœ ํ˜ผ์ž ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋น„์Šค'๋ฅผ ์กฐ๊ธˆ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ณ€ํ˜•ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

'๐Ÿ“‚ DevOps > ๋ฐฐํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

AWS๋ฅผ ํ™œ์šฉํ•œ ์ดˆ๊ฐ„๋‹จ ๋ฐฐํฌ - 1  (2) 2022.11.27
    '๐Ÿ“‚ DevOps/๋ฐฐํฌ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • AWS๋ฅผ ํ™œ์šฉํ•œ ์ดˆ๊ฐ„๋‹จ ๋ฐฐํฌ - 1
    Amenable
    Amenable
    CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”