Day 14
sudo yum install mysql
AWS์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์ ์ฌ์ฉ : RDS
์น ์๋น์ค์ ๋ฒก์๋๋ฅผ ๋ค๋ฃฌ๋ค๊ณ ํ์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ๋งํผ ์ค์ํ ๊ฒ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ๋ ์ผ์ด๋ค.
์ด๋ฒ์๋ ์ง์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์นํ์ง๋ ์์
โ๋ง์ฝ ์ง์ ์ค์นํด์ ๋ค๋ฃจ๊ฒ ๋๋ค๋ฉด ๋ชจ๋ํฐ๋ง, ์๋, ๋ฐฑ์ , HA ๊ตฌ์ฑ ๋ฑ์ ๋ชจ๋ ์ง์ ํด์ผํจ
AWS์์๋ ์์์ ์ธ๊ธํ ์์
์ ๋ชจ๋ ์ง์ํ๋ ๊ด๋ฆฌํ ์๋น์ค : RDS(Relational Database Service)๋ฅผ ์ ๊ณต
RDS๋ AWS์์ ์ง์ํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
์ถ๊ฐ๋ก ์กฐ์ ๊ฐ๋ฅํ ์ฉ๋์ ์ง์ํ์ฌ ์์์น ๋ชปํ ์์ ๋ฐ์ดํฐ๊ฐ ์์ฌ๋ ๋น์ฉ๋ง ์ถ๊ฐ๋ก ๋ด๋ฉด ์ ์์ ์ผ๋ก ์๋น์ค๊ฐ ๊ฐ๋ฅ
1. RDS ์ธ์คํด์ค ์์ฑํ๊ธฐ
์๋ง์กด์์ RDS ๋์๋ณด๋์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์ ๋๋ฌ๋ณด๋ฉด
์์ง ์ต์ ์์ MariaDB ์ ํ
๊ตณ์ด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ ์ด์ ๊ฐ ์๋๊ฒ ์๋๋ฉด MySQL, MariaDB, PostgreSQL ์ค์ ๊ณ ๋ฅด์ ๊ทธ๋๋ง ๋ฒ ์คํธ๋ MariaDB์ ์ด์ ๋
๊ฐ๊ฒฉ
RDS์ ๊ฐ๊ฒฉ์ ๋ผ์ด์ผ์ค ๋น์ฉ์ ์ํฅ์ ๋ฐ๋๋ค.
๋์ผํ ์ฌ์ ๋๋น ๋ ๊ฐ๊ฒฉ์ด ์์ฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค(์ค๋ผํด, MSSQL)>์คํ ์์ค(MySQL, MariaDB, PostgreSQL)
Amazon Aurora(์ค๋ก๋ผ) ๊ต์ฒด ์ฉ์ด์ฑ
Amazon Aurora๋ AWS์์ MySQL๊ณผ PostgreSQL์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ๋ง๊ฒ ์ฌ๊ตฌ์ฑํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
์ฑ๋ฅ๋ RDS-MySQL๋ณด๋ค 5๋ฐฐ, RDS-PostagreSQL๋ณด๋ค 3๋ฐฐ ๋ ๋น ๋ฅด๊ณ
AWS์์ ์ง์ ์์ง๋์ด๋ง ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ์ฑ๋ ๋์
MariaDB๋ฅผ ์ ํํ๊ณ ํน์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ๋์ด ๋์์ง๋ฉด Aurora๋ก ์ด์ ํ๋ผ
*MariaDB์ ์ฅ์
MySQL์ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ ์ฟผ๋ฆฌ๋ฅผ ๋น๋กฏํด์ ์ ๋ฐ์ ์ผ๋ก ๋น์ทํ๊ธฐ ๋๋ฌธ์ ํธํจ
๋์ผํ ํ๋์จ์ด ์ฌ์์ผ๋ก MySQL๋ณด๋ค ํฅ์๋ ์ฑ๋ฅ
์ข ๋ ํ์ฑํ๋ ์ปค๋ฎค๋ํฐ
๋ค์ํ ๊ธฐ๋ฅ
๋ค์ํ ์คํ ๋ฆฌ์ง ์์ง
๊ตฌ๊ธ์์ "MYSQL์์ MARIADB๋ก ๋ง์ด๊ทธ๋ ์ด์ ํด์ผ ํ 10๊ฐ์ง ์ด์ " ๋ก ๊ฒ์ํด์ ์ด์ ๋์ค์ ๊ฒ์ ํด๋ด
ํ ํ๋ฆฟ์์๋ ํ๋ฆฌ ํฐ์ด ์ ํ
์ค์ ์์ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋ง์คํฐ ์ํธ๋ฅผ ์ค์
๋ฉ๋ชจ์ ์ ์ฅํด๋
db์ธ์คํด์ค ํฌ๊ธฐ : ๋ฒ์คํฐ๋ธ ํด๋์ค(t ํฌํจ)
db.t2.micro
์คํ ๋ฆฌ์ง
๋ฒ์ฉ(SSD)
ํ ๋น๋ ์คํ ๋ฆฌ์ง : 20
์คํ ๋ฆฌ์ง ์๋ ์กฐ์ : ์คํ ๋ฆฌ์ง ์๋ ์กฐ์ ํ์ฑํ
์ต๋ ์คํ ๋ฆฌ์ง ์๊ณ๊ฐ : 1000
...
์ฐ๊ฒฐ
ํผ๋ธ๋ฆญ ์ก์ธ์ค ๊ฐ๋ฅ : ์
์ฌ๊ธฐ์ ์๋ฅผ ํด๋๊ณ ๋ณด์ ๊ทธ๋ฃน์์ ์ง์ ๋ IP๋ง ์ ๊ทผํ๋๋ก ๋ง์ ์์
์ฒซ ๋ ์ ์งํํ๋ ๋์ค์ ์์๋ฌ์ โ Intellij์์ db๋ฅผ ์ฐ๋ํด์ ์ฌ์ฉํ๋ ค๊ณ ํ๋๊น ์๋ฌ์ ใ ์คํค๋ง์ ์๋์์ ๋ญ๊ฐ ๋ฌธ์ ์งํ๊ณ ๊ตฌ๊ธ๋ง์ ํตํด https://velog.io/@johnwi/Ch07.-AWS-RDS ์ฌ๊ธฐ์ ์ฐพ์๋ดค์
Trouble Shooting(๋ณ๊ฒฝ์ฌํญ)
rds๋ฅผ ์ฒ์์ ์์ฑ์, ์ถ๊ฐ ๊ตฌ์ฑ์ ๋๋ฌ์
์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ : ์ด๊ฑธ ์ํด์คฌ๋ ๊ฑฐ๊ฐ์
์ฌ๊ธฐ๋ณด๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ์ ์ง์ ํ์ง ์์ผ๋ฉด Amazon RDS์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ์ง ์๋๋ค
๋ผ๊ณ ์ ํ์๋๋ฐ ์ด๋ฒ์๋ ๋ค์ SpringBoot-Book์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์งํํด๋ณด์
2. RDS ์ด์ํ๊ฒฝ์ ๋ง๋ ํ๋ผ๋ฏธํฐ ์ค์ ํ๊ธฐ
์ค์ 3๊ฐ์ง
ํ์์กด
Character Set
Max Connection
ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน์ผ๋ก ๋ค์ด๊ฐ
ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน ์์ฑ ๋ฒํผ
ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน ํจ๋ฐ๋ฆฌ๊ฐ ์ ์ RDS์์ ๋ง๋ MariaDB์ ๊ฐ์ ๋ฒ์ ์ ๋ง์ถฐ์ผํจ
๋ค์์ผ๋ก ํธ์ง๋ฒํผ์ ๋๋ฌ์ ํธ์ง ๋ชจ๋๋ก ์ ํํ๊ณ ์ค์ ๊ฐ๋ค์ ๋ณํ์ ์์
์ฌ๊ธฐ์๋ถํฐ ์์
time_zone์ ๊ฒ์ํด๋ด์ Asia/Seoul์ ์ ํํด์ ํ์์กด์ ๋ณ๊ฒฝ
Character Set
character๋ฅผ ๊ฒ์ํด์ ๋ชจ๋ ๊ฐ์ utf8mb4๋ก ๋ณ๊ฒฝํด์ฃผ๊ณ
collation์ ๊ฒ์ํด์ collation_connection, collation_server์ด 2๊ฐ๋ utf8_general_ci๋ก ๋ณ๊ฒฝ
utf8๊ณผ utf8mb4์ ์ฐจ์ด๋ ์ด๋ชจ์ง ์ ์ฅ ๊ฐ๋ฅ ์ฌ๋ถ์
Max Connection์ ์ธ์คํด์ค ์ฌํฅ์ ๋ฐ๋ผ์ ์๋์ผ๋ก ์ ํด์ง๋๋ฐ ์ข ๋ ๋๋ํ ๊ฐ์ธ 150์ผ๋ก ์์
์ด์ ๋ ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ค์ด๊ฐ์ ์์ ๋ฒํผ์ ๋๋ฆ
DB ํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน์์ ์๊น ๋ง๋ค์ด๋๋ DBํ๋ผ๋ฏธํฐ ๊ทธ๋ฃน์ ์ค์ ํด์ฃผ๊ณ ์ ์ฅ
๊ทธ๋ฆฌ๊ณ ์ฌ๋ถํ ์ ํด์ค๋ค
3. ๋ด PC์์ RDS์ ์ ์ํด๋ณด๊ธฐ
๋ก์ปฌ PC์์ RDS๋ก ์ ๊ทผํ๊ธฐ ์ํด์ RDS์ ๋ณด์ ๊ทธ๋ฃน์ ๋ณธ์ธ PC์ IP๋ฅผ ์ถ๊ฐํด์ผํจ
RDS์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ๋ณด์ ๊ทธ๋ฃน์ ์์ ์ด ํ์ํ๋ฐ ์ด๋ฒ์ ์ฌ์ฉํ ๋ณด์ ๊ทธ๋ฃน์ launch-wizard2๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๋ณด์ ๊ทธ๋ฃน ์์ด๋๋ฅผ ๋ณต์ฌ
ํ์ฌ ์ฌ์ฉ์ค์ธ default์ EC2์ ๋ณด์๊ทธ๋ฃน(launch-wizard2)๋ฅผ ์ถ๊ฐ
ํ์ฌ ๋ด pc์ ip๋ฅผ ๋ฑ๋ก
์ด๋ ๊ฒ๊น์งํ๋ฉด ๊ฐ์ธ PC, EC2๊ฐ์ ์ฐ๋ ์ค์ ์ ๋ชจ๋ ๋๋ฌ๋ค : ๋ก์ปฌ์์ ํ ์คํธํด๋ณด์
Database ํ๋ฌ๊ทธ์ธ ์ค์น
๋ก์ปฌ์์ ์๊ฒฉ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ถ์ ๋ GUI ํด๋ผ์ด์ธํธ๋ฅผ ๋ง์ด ์ฌ์ฉํจ
ํ์ฌ๋ ์ธํ ๋ฆฌ์ ์ด์ Database ํ๋ฌ๊ทธ์ธ์ ์ค์นํด์ ์งํ
์ผ๋จ RDS์ ์ ๋ณดํ์ด์ง์์ ์๋ํฌ์ธํธ๋ฅผ ํ์ธ
์๋ํฌ์ธํธ๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ URL์ด๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ์ฅ์ ๋ณต์ฌํด๋
์ธํ ๋ฆฌ์ ์ด์์ Database Navigator๋ฅผ install
Intellij Ultimate์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ตณ์ด ๊น์ง ์๊ณ
์ ์ฒด ๊ฒ์ โ command+shift+a
๋ฅผ ํตํด์ database๋ฅผ ๊ฒ์ํ๋ฉด Databaseํ๋ฌ๊ทธ์ธ๊ณผ ๋๊ฐ์ด ์๊ธด๊ฒ ๋ฐ๊บผ์ ๊ฑฐ๊ธฐ์๋ถํฐ ์งํ
์ผ๋จ +์ ๋๋ฌ์ MariaDB๋ฅผ ๋ง๋ค์ด์ฃผ๊ณ
Name ํญ๋ชฉ ์๋ ์ํ๋ ์ด๋ฆ
Host ํญ๋ชฉ์๋ ์ฐ๋ฆฌ๊ฐ ์ค์ ํ RDS์ ์๋ํฌ์ธํธ
User ํญ๋ชฉ์๋ RDS์์ ์ค์ ํ id
Password ํญ๋ชฉ์๋ RDS์์ ์ค์ ํ password
Database ํญ๋ชฉ์๋ mysql
์ด๋ ๊ฒ ์ ๋ ฅ ํ TestConnection์ ํตํด์ ํ ์คํธ์ฐ๊ฒฐ์ด ์ ๋๋์ง ํ์ธํด๋ณธ๋ค
์ ์์ ์ผ๋ก ์งํ๋์๋ค๋ฉด
use ์ฐ๋ฆฌ๊ฐ๋ง๋ (rds์์ฑ์ ์ต์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค-๋นผ๋๊ณ ํ๋๊ฑฐ) rds์ด๋ฆ
์ด๊ฑธ๋ก ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๋ ๊ฒ์ ํ์ธ โ ์ฌ์ค schemas์์ ๋ณด๋ฉด ์ด๋ฆ์ด ์์ผ๋๊น ๋ณด๊ณ ํด๋ ์๊ด์์
์ฒ์์ schemas์ ํ๋๋ฐ์์์์๋ ์๋๋ฐ ๋ง์ฐ์ค ์ฐํด๋ฆญ์ ํตํด Database Tool โ manage shown schemas์์ all schemasํ๋ฉด ๋ค ๋ณด์
๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ ํ๋ ์ํ์์ ํ์ฌ์ character_set, collation์ค์ ์ ํ์ธ
์ด๋ ๊ฒ ํ์ธํด๋ณด๋ฉด ๋ค๋ฅธํ๋๋ค์ ๋ชจ๋ utf8mb4๊ฐ ์ ์์ ์ผ๋ก ์ ์ฉ๋์ด์๋๋ฐ character_set,collation2๊ฐ์ง๋ latin1์ด๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ์ด ํ์ํจ
๋ฅผ ํตํด์ ๋ณ๊ฒฝํด์ฃผ๊ณ
๋ค์
๋ฅผ ํตํด์ ์ ์์ ์ผ๋ก ๋ณ๊ฒฝ๋์๋์ง ํ์ธ
ํ์์กด์ ํ์ธ
select @@time_zone, now();
โ์ ์์ ์ผ๋ก Asia/Seoul์ด ๋์ค๊ณ
ํ๊ธ๋ช
์ด ์ ๋ค์ด๊ฐ๋์ง ๊ฐ๋จํ ํ
์ด๋ธ ์์ฑ์ ํตํด์ ํ์ธ
์ด๋ ๊ฒ๋ณด๋ฉด ํ๊ธ ๋ฐ์ดํฐ๊ฐ ์ ๋ฑ๋ก๋๋ ๊ฒ์ ํ์ธ
4. EC2์์ RDS์์ ์ ๊ทผ ํ์ธ
ํฐ๋ฏธ๋์์
๋ก ec2์ ์ ์ํด์
Mysql CLI์ ์ค์น
์ค์น๊ฐ ๋ค ๋์์ผ๋ฉด
๋ก์ปฌ์์ ์ ๊ทผํ๋ ๊ฒ๊ณผ ๊ฐ์ด
-u ๋ค์๋ rds์์ ์ค์ ํ ์์ด๋๋ฅผ ์ ๋ ฅํ๊ณ ๋งจ ๋ค์๋ ์๋ํฌ์ธํธ๋ฅผ ์ ๋ ฅํด์ค
๋น๋ฐ๋ฒํธ๋ rds์์ ์ค์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ฉด๋จ
MariaDB์ ์ ๊ทผ์ ์ฑ๊ณตํ์ผ๋ฉด
๋ก ์ฐ๋ฆฌ๊ฐ ์์ฑํ๋ SpringBoot_Book ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋์ง ํ์ธํ๋ค
Last updated
Was this helpful?