WEB/Server

[AWS RDS] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•ํ•˜๊ณ  ํƒ€์ž„์กด/์ธ์ฝ”๋”ฉ ์„ค์ •ํ•˜๊ธฐ

kite707 2022. 4. 29.

๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„œ๋ฒ„์— ์˜ฌ๋ฆฌ๊ณ  ์ž‘์—…์„ ํ•˜๊ฒŒ ๋œ๋‹ค. ํ˜ผ์ž ์ž‘์—…ํ•  ๋•Œ๋Š” ๋กœ์ปฌ์—์„œ ํ…Œ์ŠคํŠธํ•ด๋„ ๋˜์ง€๋งŒ ํ˜‘์—…์„ ํ•  ๋•Œ์—๋Š” ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„œ๋ฒ„์— ์˜ฌ๋ ค์•ผ ํ•œ๋‹ค.

 

1. AWS์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•ํ•˜๊ธฐ

์šฐ์„  AWS RDS๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„œ๋ฒ„์— ์˜ฌ๋ ค๋ณด๋„๋ก ํ•˜์ž. ์ œ์ผ ๋จผ์ € ์•„๋ž˜ aws์‚ฌ์ดํŠธ์— ๋กœ๊ทธ์ธ์„ ํ•ด์•ผํ•œ๋‹ค.

 

https://aws.amazon.com/ko/

 

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค | ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์†”๋ฃจ์…˜| Amazon Web Services

๊ฐœ๋ฐœ์ž, ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธํ‹ฐ์ŠคํŠธ, ์†”๋ฃจ์…˜์Šค ์•„ํ‚คํ…ํŠธ ๋˜๋Š” AWS์—์„œ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž์šฉ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ๊ต์œก AWS ์ „๋ฌธ๊ฐ€๊ฐ€ ๊ตฌ์ถ•ํ•œ 500๊ฐœ ์ด์ƒ์˜ ๋ฌด๋ฃŒ ๋””์ง€ํ„ธ ๊ต์œก ๊ณผ์ •

aws.amazon.com

๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ ์œ„์—์„œ ์„œ๋น„์Šค ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค RDS๋ฅผ ์„ ํƒํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋“ค์–ด๊ฐ„ ํŽ˜์ด์ง€์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค. ์•„๋ž˜ db์ธ์Šคํ„ด์Šค๊ฐ€ ์–ด๋””์„œ ์‹œ์ž‘๋˜๋Š”์ง€๋„ ์•Œ๋ ค์ฃผ๋Š”๋ฐ ๊ฑฐ์ฃผ ์ง€์—ญ์ด ๋‹ค๋ฅด๊ฒŒ ๋˜์–ด์žˆ์œผ๋ฉด ์‘๋‹ต์ด ์˜ค๋ž˜๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ž˜๋ชป๋˜์–ด์žˆ๋‹ค๋ฉด ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ์ง€์—ญ์„ ๊ฑฐ์ฃผ ์ง€์—ญ๊ณผ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๊ณณ์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋„๋ก ํ•˜์ž.

 

๋‚˜๋Š” MySQL์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—”์ง„ ์˜ต์…˜์€ MySQL, ์—๋””์…˜์€ MySQL Community๋กœ ์„ค์ •์„ ํ•ด ์ฃผ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ…œํ”Œ๋ฆฟ์€ ํ”„๋ฆฌํ‹ฐ์–ด๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ”๋กœ ์•„๋ž˜ ์„ค์ •์—์„œ ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋งˆ์Šคํ„ฐ ์•”ํ˜ธ๋ฅผ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ด ์ •๋ณด๋Š” ์ดํ›„ DataGrip์œผ๋กœ MySQL์— ์ ‘์†ํ•  ๋•Œ ๊ผญ ํ•„์š”ํ•˜๋‹ˆ ์ž˜ ๋ฉ”๋ชจํ•ด๋‘์–ด์•ผ ํ•œ๋‹ค.

 

๋‹ค๋ฅธ ์„ค์ •์€ ๋”ฑํžˆ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ์ญ‰ ๋‚ด๋ ค์„œ ์™„๋ฃŒํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์„œ๋ฒ„์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค.

 

2. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์ƒ์„ฑ ๋ฐ ์„ค์ •

์ด๋ ‡๊ฒŒ ์™„๋ฃŒํ•ด๋„ ๋˜์ง€๋งŒ ์ดํ›„ DB์—์„œ TIMESTAMPํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‹œ๊ฐ„ ๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‹œ๊ฐ„๋Œ€๋ฅผ ์ž์‹ ์˜ ์‚ฌ๋Š” ๊ณณ์˜ ํ˜•์‹์œผ๋กœ ๋งž์ถฐ์ฃผ๊ธฐ ์œ„ํ•ด Timezone์„ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋˜ ํ•œ๊ธ€์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธ์ฝ”๋”ฉ ํ˜•์‹ ์„ค์ •๋„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด ์„ค์ •๋“ค์„ ์ง€์ •ํ•œ ๋’ค ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ง€์ •ํ•  ๊ฒƒ์ด๋‹ค. ์šฐ์„  ์œ— ๋‹จ๊ณ„๊นŒ์ง€ ์ž˜ ๋”ฐ๋ผ์™”๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ํ™”๋ฉด์ด ๋ณด์ผ ๊ฒƒ์ด๋‹ค. ์™ผ์ชฝ์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ํด๋ฆญํ•˜๋„๋ก ํ•˜์ž.

๊ทธ๋ฆฌ๊ณ  ์šฐ์ธก ์ƒ๋‹จ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

์ด๋ฆ„๊ณผ ์„ค๋ช…์€ ์ ๋‹นํžˆ ์ •ํ•ด์„œ ์ž…๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋‹จ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ํŒจ๋ฐ€๋ฆฌ๋Š” mysql8.0์œผ๋กœ ์ง€์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋‹ค๋ฅธ๊ฑธ๋กœ ์ง€์ •ํ•˜๋ฉด ์ดํ›„ ์„ค์ •ํ•˜๊ณ ์ž ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ ๋ชฉ๋ก์—์„œ ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ param ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์œผ๋กœ ๋“ค์–ด๊ฐ€๋„๋ก ํ•˜์ž.

์šฐ๋ฆฌ๋Š” ์ด ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์— ํƒ€์ž„์กด ์„ค์ •๊ณผ ์ธ์ฝ”๋”ฉ ์„ค์ •์„ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ๋จผ์ € ํƒ€์ž„์กด ์„ค์ •๋ถ€ํ„ฐ ํ•ด์ฃผ๋„๋ก ํ•˜์ž. ์œ„ ๊ฒ€์ƒ‰์ฐฝ์— zone์ด๋ผ๊ณ  ์ž…๋ ฅํ•˜๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ ํŽธ์ง‘์„ ํด๋ฆญํ•ด์ค€๋‹ค.

ํŒŒ๋ผ๋ฏธํ„ฐ ํŽธ์ง‘์„ ๋ˆ„๋ฅด๋ฉด time_zone ๊ฐ’์„ Asia/Seoul๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ง€์ •ํ•œ ๋’ค ์šฐ์ธก ์ƒ๋‹จ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

 

์ด์ œ ์ธ์ฝ”๋”ฉ ์„ค์ •์„ ํ•ด์ค„ ๊ฒƒ์ด๋‹ค. ์•„๊นŒ์™€ ๊ฐ™์ด ๊ฒ€์ƒ‰์ฐฝ์— char์ด๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด ๋งŽ์€ ๋ชฉ๋ก์ด ๋œจ๋Š”๋ฐ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๋ชจ๋‘ UTF-8๋กœ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน ์ ์šฉ

์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์—ฌํƒœ๊นŒ์ง€ ์„ค์ •ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉ๋งŒ ํ•˜๋ฉด ๋์ด๋‹ค. ๋‹ค์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋Œ์•„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  ์šฐ์ธก ์ƒ๋‹จ ์ˆ˜์ • ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

 

์ญ‰ ๋‚ด๋ฆฌ๋ฉด ์ถ”๊ฐ€๊ตฌ์„ฑ ๋ถ€๋ถ„์— DBํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์„ ์ง€์ •ํ•˜๋Š” ๊ณณ์ด ์žˆ๋‹ค. ์•„๊นŒ ๋งŒ๋“  param ํŒŒ๋ผ๋ฏธํ„ฐ ๊ทธ๋ฃน์œผ๋กœ ๋ฐ”๊ฟ”์ฃผ์ž.

 

๊ทธ๋ฆฌ๊ณ  ๋งจ ์•„๋ž˜ ๊ณ„์† ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ˆ˜์ • ๋œ ๋ถ€๋ถ„์„ ์š”์•ฝํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค. param ์œผ๋กœ ๋ฐ”๋€๊ฒƒ์„ ํ™•์ธํ•˜๊ณ  DB ์ธ์Šคํ„ด์Šค ์ˆ˜์ • ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์ˆ˜์ •์„ ์™„๋ฃŒํ•˜์ž. ๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ˆ˜์ •์‚ฌํ•ญ์ด ์ฆ‰์‹œ ์ ์šฉ ๋˜๋„๋ก ์„ค์ •์„ ๋ฐ”๊ฟ”์„œ ์ ์šฉํ–ˆ๋‹ค.

์ด์ œ ๋ฐ”๊พผ ์„ค์ •์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ… ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ ํ–ˆ๋‹ค๋ฉด RDS๊ตฌ์ถ• ๋ฐ ํƒ€์ž„์กด/์ธ์ฝ”๋”ฉ ์„ค์ •์ด ์™„๋ฃŒ๋œ ๊ฒƒ์ด๋‹ค.

๋Œ“๊ธ€