๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Deploy

AWS RDS๋กœ DB ๊ตฌ์ถ•(MySQL)

AWS RDS - MySQL DB ๊ตฌ์ถ•

AWS์˜ RDS(Relational Databases)๋ฅผ ํ†ตํ•ด MySQL DB๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ  ์ ‘์†ํ•ด๋ณด์ž.

DB์˜ ๋ถ„๋ฆฌ (RDS์˜ ์ด์ )

์ง€๋‚œ๋ฒˆ AWS์—์„œ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•œ ์„œ๋ฒ„๋‹จ์ธ APM(Apache, PHP, MySQL)์˜ ๊ฒฝ์šฐ ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ, ๋ฐฑ์—”๋“œ ์–ธ์–ด, DB๊ฐ€ ๋ชจ๋‘ ubuntu ์„œ๋ฒ„ ์•ˆ์—์„œ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌ๋˜๊ณ  ์žˆ์—ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ,

  • ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐฑ์—”๋“œ ์–ธ์–ด๋กœ ์ธํ•ด ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ DB๋„ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ๋Š” ํ•ด๋‹น DB๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ์„œ๋ฒ„์˜ ๋ณด์•ˆ์ ์œผ๋กœ ๊ณต๊ฒฉ๋‹นํ•œ๋‹ค๋ฉด ํ•ด๋‹น DB๋„ ๊ณต๊ฒฉ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐฑ์—”๋“œ ์–ธ์–ด์˜ ์˜ํ–ฅ์„ ๋œ ๋ฐ›๊ณ , ๋‹ค๋ฅธ ์„œ๋ฒ„๋„ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ๋ณด์•ˆ์ ์œผ๋กœ๋„ ๋” ์•ˆ์ •์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก APM์ฒ˜๋Ÿผ ubuntu ์„œ๋ฒ„์—์„œ ํŒจํ‚ค์ง€ ๋ช…๋ น์–ด๋กœ MySQL์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, AWS์˜ RDS๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„๋ฅผ ๋”ฐ๋กœ ๊ตฌ์ถ•ํ•ด๋ณด์ž.

RDS ์ƒ์„ฑ

AWS ์ ‘์† ํ›„ ์„œ๋น„์Šค ๊ฒ€์ƒ‰์ฐฝ์— RDS๋ฅผ ๊ฒ€์ƒ‰ ํ›„ ์ด๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ์„ ํด๋ฆญํ•œ๋‹ค.

ํ‘œ์ค€ ์ƒ์„ฑ์„ ํด๋ฆญํ•œ๋‹ค.


MySQL๋กœ ์„ค์น˜ํ•  ๊ฒƒ์ด๋ฏ€๋กœ, ์—”์ง„ ์œ ํ˜•์€ MySQL๋กœ ์„ค์ •ํ•ด ์ค€๋‹ค.


๋ฒ„์ „์€ 8.0.23 ๋ฒ„์ „์œผ๋กœ ํ–ˆ๊ณ , ํ”„๋ฆฌ ํ‹ฐ์–ด๋ฅผ ์ด์šฉํ•  ๊ฒƒ์ด๋ฏ€๋กœ ํ…œํ”Œ๋ฆฟ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ”„๋ฆฌ ํ‹ฐ์–ด๋ฅผ ์„ ํƒํ•ด ์ค€๋‹ค.


DB ์ธ์Šคํ„ด์Šค ์‹๋ณ„์ž๋Š” ์‚ฌ์šฉ์ž ๋ณธ์ธ์ด ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ž์œ ๋กญ๊ฒŒ ์จ์ฃผ๊ณ  admin์— ๋Œ€ํ•œ ์•”ํ˜ธ๋ฅผ ์„ค์ •ํ•ด ์ค€๋‹ค.


์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ๊ธฐ๋Šฅ์— ์˜ˆ๋ฅผ ์„ ํƒํ•˜๊ณ  VPC ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ƒˆ๋กœ ์ƒ์„ฑ์„ ์„ ํƒํ•œ ๋’ค ๋ณธ์ธ์ด ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ๊ทธ๋ฃน ์ด๋ฆ„๊ณผ ๊ฐ€์šฉ ์˜์—ญ์€ ๋ฆฌ์ „๊ณผ ์ผ์น˜์‹œ์ผœ์ค€๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํฌํŠธ๋Š” MySQL์˜ ํฌํŠธ์ธ 3306์œผ๋กœ ์„ค์ •ํ•˜์ž.


์ถ”๊ฐ€ ๊ตฌ์„ฑ์„ ๋ˆ„๋ฅธ ๋’ค ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ด๋ฆ„๋งŒ ์„ค์ •ํ•ด ์ฃผ๊ณ  ๋‚˜๋จธ์ง€๋Š” default๋กœ ๋‘๊ณ  ํ•˜๋‹จ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์—ฌ DB๋ฅผ ์ƒ์„ฑํ•ด ์ค€๋‹ค.

DB ์ƒ์„ฑ๊นŒ์ง€ 10๋ถ„ ์ •๋„์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค.

๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •

DB ์ƒ์„ฑ์ด ์™„๋ฃŒ๋˜๋ฉด DB๋ฅผ ํด๋ฆญํ•œ ๋’ค ํ•˜๋‹จ์˜ ์—ฐ๊ฒฐ & ๋ณด์•ˆ ํด๋ฆญ ํ›„ VPC ๋ณด์•ˆ ๊ทธ๋ฃน์—์„œ ์ƒ์„ฑ ๋•Œ ๋ช…๋ช…ํ–ˆ๋˜ ๋ณด์•ˆ ๊ทธ๋ฃน์œผ๋กœ ๋“ค์–ด๊ฐ„ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์œผ๋กœ ํŽธ์ง‘ํ•ด ์ค€๋‹ค.

์™ธ๋ถ€์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก 3306 ํฌํŠธ๋Š” IP์— ๋ฌด๊ด€ํ•˜๊ฒŒ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์„ ์ˆ˜์ •ํ•œ ๊ฒƒ์ด๋‹ค.

MySQL Workbench๋กœ ์ ‘์†

๋ณด์•ˆ ๊ทธ๋ฃน์— ์ ‘์†ํ•˜๊ธฐ ์ „ ์ง€๋‚˜๊ฐ”๋˜ ์—ฐ๊ฒฐ & ๋ณด์•ˆ ํƒญ์—์„œ ์•ค๋“œ ํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ทธ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค.(์œ„ ์‚ฌ์ง„์—์„  ๊ฐ€๋ ค์ ธ์žˆ๋‹ค.)

MySQL Workbench๋ฅผ ์ ‘์†ํ•œ ๋’ค ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.

Hostname์— ๋ฐฉ๊ธˆ ๋ณต์‚ฌํ–ˆ๋˜ ์•ค๋“œ ํฌ์ธํŠธ๋ฅผ ๋ณต์‚ฌํ•˜๊ณ  ํฌํŠธ ๋ฒˆํ˜ธ๋Š” 3306, DB ์ƒ์„ฑ ์‹œ ์ž…๋ ฅํ–ˆ๋˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ Store in Keychain ... ํด๋ฆญ ํ›„ ์ž…๋ ฅํ•ด ์ค€๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ ์ ‘์†๋˜์—ˆ์œผ๋ฉฐ, ๋ณด์•ˆ์„ ์œ„ํ•ด admin ๊ณ„์ •์œผ๋กœ ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์€ ์ง€์–‘ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋‹ค์Œ์˜ DCL ๋ช…๋ น์–ด๋กœ ์ƒˆ ๊ณ„์ •์„ ๋งŒ๋“ค๊ณ , ์™ธ๋ถ€์—์„  ์ด ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

CREATE USER '๊ณ„์ • ์•„์ด๋””'@'%' IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO '๊ณ„์ • ์•„์ด๋””'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;