Cloud SQL์˜ ๋ณต์ œ ์ •๋ณด

๋ณต์ œ๋Š” Cloud SQL ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค๊ณ  ๋ณต์‚ฌ๋ณธ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์˜คํ”„๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์†Œ๊ฐœ

๋ณต์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ๋œ ์ด์œ ๋Š” ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ์ž…๋‹ˆ๋‹ค.

๊ทธ ์™ธ์˜ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋ฆฌ์ „ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  • ํ”Œ๋žซํผ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
  • ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ Cloud SQL๋กœ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

๋˜ํ•œ ์›๋ณธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์†์ƒ๋˜๋ฉด ๋ณต์ œ๋ณธ์„ ์Šน๊ฒฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud SQL ์ธ์Šคํ„ด์Šค์˜ ๊ฒฝ์šฐ ๋ณต์ œ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•˜๊ณ  ๋ณต์‚ฌ๋ณธ์„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ Cloud SQL์— ์žˆ์Šต๋‹ˆ๋‹ค.

์˜จํ”„๋ ˆ๋ฏธ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ฒฝ์šฐ ๋ณต์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ ๋ณต์ œ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ๋ณต์ œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ผ๊ณ  ํ•˜๊ณ , Cloud SQL์— ์žˆ๋Š” ๋ณต์‚ฌ๋ณธ์„ Cloud SQL ๋ณต์ œ๋ณธ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. Cloud SQL์˜ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ธ์Šคํ„ด์Šค(์†Œ์Šค ํ‘œํ˜„ ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ํ•จ)๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์žฌํ•ด ๋ณต๊ตฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ณต์ œ๋ณธ์„ ์Šน๊ฒฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„œ๋น„์Šค ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•œ ๋ฆฌ์ „์— ์žˆ๋Š” ์ธ์Šคํ„ด์Šค ๋Œ€์‹  ์ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์„ ์Šน๊ฒฉํ•˜์—ฌ ์†์ƒ๋œ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ต์ฒดํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud SQL์€ ๋‹ค์Œ ์œ ํ˜•์˜ ๋ณต์ œ๋ณธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ปค๋„ฅํ„ฐ ์ ์šฉ์„ ์‚ฌ์šฉํ•˜๋ฉด Cloud SQL ์ธ์ฆ ํ”„๋ก์‹œ ๋˜๋Š” Cloud SQL ์–ธ์–ด ์ปค๋„ฅํ„ฐ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ Cloud SQL ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐํ•˜๋„๋ก ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ ์ ์šฉ์„ ์‚ฌ์šฉํ•˜๋ฉด Cloud SQL์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ง์ ‘ ์—ฐ๊ฒฐ์„ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋„ฅํ„ฐ ์ ์šฉ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ์ธ์Šคํ„ด์Šค์˜ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ธ์Šคํ„ด์Šค์— ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ธ์Šคํ„ด์Šค์— ์ปค๋„ฅํ„ฐ ์ ์šฉ์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

Database Migration Service๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ์Šค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์—์„œ Cloud SQL๋กœ์˜ ์ง€์†์  ๋ณต์ œ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฐธ๊ณ : Cloud SQL์—์„œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ PostgreSQL์˜ ๋…ผ๋ฆฌ ๋ณต์ œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ด ์ž์ฒด ๋ณต์ œ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Cloud SQL์—์„œ๋Š” ๋‘ ์™ธ๋ถ€ ์„œ๋ฒ„ ๊ฐ„ ๋ณต์ œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜๋ฉด Cloud SQL ์ธ์Šคํ„ด์Šค์—์„œ ์ž‘์—…์„ ์˜คํ”„๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ์ •ํ™•ํ•œ ๋ณต์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ์™€ ๊ธฐํƒ€ ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์— ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์ฝ๊ธฐ ์ „์šฉ์ด๋ฉฐ ์—ฌ๊ธฐ์— ์“ธ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์ฟผ๋ฆฌ, ์ฝ๊ธฐ ์š”์ฒญ, ๋ถ„์„ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ๋ถ€ํ•˜๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ ์ด๋ฆ„๊ณผ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ณธ์— ์ง์ ‘ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ณธ์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์ด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ์ƒ์†๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์ œ๋ณธ์˜ ์ถ”๊ฐ€ VPC ๋น„๊ณต๊ฐœ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ HA๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋‹ค๋ฅธ ์˜์—ญ์— ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๊ฐ€ ํฌํ•จ๋œ ์˜์—ญ์— ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•ด๋„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ๊ณ„์† ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณ ๊ฐ€์šฉ์„ฑ ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ ์ ˆํ•œ ๋จธ์‹  ์œ ํ˜• ์„ ํƒ

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ vCPU ์ˆ˜์™€ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž‘์€ ๊ฒฝ์šฐ ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ํฌ๊ธฐ๊ฐ€ ์›Œํฌ๋กœ๋“œ์— ๋งž๊ฒŒ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์กฐ์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ฐ™์€ ์ธ์Šคํ„ด์Šค์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค๋Š” ์žฆ์€ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ(OOM) ์ด๋ฒคํŠธ์™€ ๊ฐ™์€ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰

๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋ฉด ๋ชจ๋“  ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ํฌ๊ธฐ๊ฐ€ ์ตœ์†Œํ•œ ์—…๋ฐ์ดํŠธ๋œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ์ €์žฅ์šฉ๋Ÿ‰ ์ด์ƒ์œผ๋กœ ์กฐ์ ˆ๋ฉ๋‹ˆ๋‹ค(ํ•„์š”ํ•œ ๊ฒฝ์šฐ).

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์— ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ์€ ๋จธ์‹  ์œ ํ˜•์ด ์žˆ๋Š” ๊ฒฝ์šฐ max_connections ํ”Œ๋ž˜๊ทธ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ

PostgreSQL ์ธ์Šคํ„ด์Šค์—์„œ max_connections ํ”Œ๋ž˜๊ทธ๋ฅผ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด Cloud SQL์ด ์ธ์Šคํ„ด์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์–‘์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๊ฐ’์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ง€์›๋˜๋Š” ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. PostgreSQL์—์„œ max_connections ๊ฐ’์€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—์„œ ํ•ญ์ƒ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ์ ๊ณ  max_connections ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋” ํฐ ๊ฐ’์˜ max_connections๋ฅผ ์ƒ์†ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ max_connections ์„ค์ •์— ์˜์กดํ•˜์—ฌ ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋ฉด ๊ฐ’์ด ์ธ์Šคํ„ด์Šค ๋จธ์‹  ์œ ํ˜•์— ๋น„ํ•ด ๋„ˆ๋ฌด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  1. ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ํฌ๊ธฐ๋ฅผ ๋” ํฐ ๋จธ์‹  ์œ ํ˜•์œผ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด max_connections ๊ฐ’๋ณด๋‹ค ์ž‘์€ ์ˆ˜์˜ ์—ฐ๊ฒฐ๋กœ ์ œํ•œ๋˜๋„๋ก ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ๋ฐ ๋ณต์ œ๋ณธ์˜ max_connections ํ”Œ๋ž˜๊ทธ๋ฅผ ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜๋Š” ํ•ด์‹œ ์ƒ‰์ธ ์ž‘์—…

ํ•ด์‹œ ์ƒ‰์ธ ์ž‘์—…์€ PostgreSQL 9.6์—์„œ ๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊น…์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Cloud SQL์—๋Š” PostgreSQL 10์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ„์ „์ด ํ•˜๋‚˜๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ PostgreSQL ์ถœ์‹œ ํŽ˜์ด์ง€์˜ ๋…ธ๋ž€์ƒ‰ ์ฃผ์˜ ์ƒ์ž์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Cloud SQL ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ•ด์‹œ ์ƒ‰์ธ ์—…๋ฐ์ดํŠธ๋Š” PostgreSQL 9.6์—์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์— ์ „ํŒŒ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณต์ œ๋ณธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ์—†๊ฑฐ๋‚˜ ์ฃผ์š” PostgreSQL ๋ฒ„์ „(10 ์ด์ƒ)์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๊ฐ„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ

๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋‹ค๋ฅธ ๋ฆฌ์ „์— ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๋‚ด ๋ณต์ œ๋ณธ ๋งŒ๋“ค๊ธฐ์™€ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ฆฌ์ „ ๊ฐ„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ๋ณธ:

  • ๋ณต์ œ๋ณธ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฆฌ์ „์— ๋” ๊ฐ€๊น๊ฒŒ ๋งŒ๋“ค์–ด ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฆฌ์ „ ์˜ค๋ฅ˜๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋„๋ก ์ถ”๊ฐ€ ์žฌํ•ด ๋ณต๊ตฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ํ•œ ๋ฆฌ์ „์—์„œ ๋‹ค๋ฅธ ๋ฆฌ์ „์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ๋ณธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฆฌ์ „ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋˜๋Š” ์žฌํ•ด ๋ณต๊ตฌ์šฉ ๋ณต์ œ๋ณธ ์Šน๊ฒฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฐ์‡„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ

์—ฐ์‡„ ๋ณต์ œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ๋ฆฌ์ „์ด๋‚˜ ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๋‹ค๋ฅธ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ ์•„๋ž˜์—์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์—ฐ์‡„ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

  • ์žฌํ•ด ๋ณต๊ตฌ: ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์—ฐ์‡„ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ํ† ํด๋กœ์ง€๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ค‘๋‹จ ์ค‘์— ์„ ํƒํ•œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ์Šน๊ฒฉ๋˜๊ณ  ์ƒˆ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ์•„๋ž˜์— ์žˆ๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์ด ๊ณ„์† ๋ณต์ œ๋˜์–ด ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.
  • ์„ฑ๋Šฅ ๊ฐœ์„ : ๋ณต์ œ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์œผ๋กœ ์˜คํ”„๋กœ๋“œํ•˜์—ฌ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ๋ถ€๋‹ด์„ ์ค„์ž…๋‹ˆ๋‹ค.
  • ์ฝ๊ธฐ ํ™•์žฅ: ์ฝ๊ธฐ ๋กœ๋“œ๋ฅผ ๊ณต์œ ํ•  ๋ณต์ œ๋ณธ์ด ๋” ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„์šฉ ์ ˆ๊ฐ: ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ์™€ ํ•จ๊ป˜ ํ•˜๋‚˜์˜ ์—ฐ์‡„ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํ‚น ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฉ์–ด

  • ์—ฐ์‡„ ๋ณต์ œ๋ณธ: ์ž์ฒด ๋ณต์ œ๋ณธ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ž…๋‹ˆ๋‹ค.
  • ์ˆ˜์ค€: ์—ฐ์‡„ ๋ณต์ œ๋ณธ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๋ณต์ œ๋ณธ ์ˆ˜์ค€์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ์ธ์Šคํ„ด์Šค์— 4๊ฐœ์˜ ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํ•ด๋‹น 4๊ฐœ์˜ ๋ณต์ œ๋ณธ์€ ๋™์ผํ•œ ์ˆ˜์ค€์— ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ๋™์œ„ ์ธ์Šคํ„ด์Šค: ๋™์ผํ•œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ๋˜๋Š” ์—ฌ๋Ÿฌ ๋ณต์ œ๋ณธ์ž…๋‹ˆ๋‹ค. ๋™์œ„ ์š”์†Œ๋Š” ๋ณต์ œ๋ณธ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๋™์ผํ•œ ์ˆ˜์ค€์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์—๋Š” ๊ณต์‹์ ์œผ๋กœ 8๊ฐœ์˜ ๋™์œ„ ์š”์†Œ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌํ”„ ๋ณต์ œ๋ณธ: ์ž์ฒด ๋ณต์ œ๋ณธ์ด ์—†๋Š” ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ž…๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์ˆ˜์ค€ ๋ณต์ œ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๋ฆฌํ”„ ๋ณต์ œ๋ณธ์€ ๋งˆ์ง€๋ง‰ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค.
  • ์Šน๊ฒฉ ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋ชจ๋“  ์ˆ˜์ค€์—์„œ ๋ณต์ œ๋ณธ์„ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์Šน๊ฒฉ๋˜๋ฉด ๋ณต์ œ๋ณธ์˜ ์—ฐ์‡„ ๋ณต์ œ๋ณธ ๊ณ„์ธต ๊ตฌ์กฐ๊ฐ€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค.

์—ฐ์‡„ ๋ณต์ œ๋ณธ ๊ตฌ์„ฑ

์—ฐ์‡„ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด ๋ณต์ œ๋ณธ์— ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ตœ๋Œ€ 4๊ฐœ ์ˆ˜์ค€์˜ ๋ณต์ œ๋ณธ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์ด ์—ฐ์‡„ ๋ณต์ œ๋ณธ ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๋งจ ์œ„๋กœ ์Šน๊ฒฉ๋˜๋ฉด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๊ฐ€ ๋˜๊ณ  ํ•ด๋‹น ์—ฐ์‡„ ๋ณต์ œ๋ณธ์€ ๊ณ„์† ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ์„ ๊ณ„ํšํ•˜๋ ค๋ฉด ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ๋ชฉํ‘œ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‘ ์„น์…˜์—์„œ๋Š” ์žฌํ•ด ๋ณต๊ตฌ ๋ฐ ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๋ณต์ œ๋ฅผ ์œ„ํ•œ ๊ตฌ์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์žฌํ•ด ๋ณต๊ตฌ

์—ฐ์‡„ ๋ณต์ œ๋ณธ์ด ์„œ๋น„์Šค ์ค‘๋‹จ ์‹œ ๋น ๋ฅด๊ฒŒ ๋ณต๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ณต์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”.

๊ตฌ์„ฑ

๊ฐœ๋ณ„ ๋ฆฌ์ „์— ์—ฐ์‡„ ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ์—ฐ์‡„ ๋ณต์ œ๋ณธ ๊ตฌ์„ฑ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ค‘๋‹จ

์„œ๋น„์Šค ์ค‘๋‹จ ์ค‘์˜ ํ”„๋กœ๋ชจ์…˜ ๋˜๋Š” ๋ณต์ œ๋ณธ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ”„๋กœ๋ชจ์…˜

๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ์ƒˆ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์žฌํ•ด ๋ณต๊ตฌ ๊ตฌ์„ฑ์˜ ๋ฆฌ์ „ B์— ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  • ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ๋œ ๋™์ผํ•œ ๋ฆฌ์ „์˜ ๋ณต์ œ๋ณธ(๋ณต์ œ๋ณธ A)
  • ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ๋ณต์ œ๋ณธ(์—ฐ์‡„ ๋ณต์ œ๋ณธ)

๋ฆฌ์ „ B์˜ ์—ฐ์‡„ ๋ณต์ œ๋ณธ์—์„œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ค‘๋‹จ ํƒญ์—์„œ ๋ฆฌ์ „ A์— ์„œ๋น„์Šค ์ค‘๋‹จ์ด ๋ฐœ์ƒํ•˜๋ฉด ์—ฐ์‡„ ๋ณต์ œ๋ณธ์ด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ์Šน๊ฒฉ๋ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์— ์ด๋ฏธ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์ด ์žˆ์œผ๋ฏ€๋กœ ๋ณต๊ตฌ ์‹œ๊ฐ„ ๋ชฉํ‘œ(RTO)๊ฐ€ ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค.

์Šน๊ฒฉ ํƒญ์—์„œ ์—ฐ์‡„ ๋ณต์ œ๋ณธ์ด ์Šน๊ฒฉ๋˜๋ฉด ํ•ด๋‹น ๋ณต์ œ๋ณธ๋„ ์Šน๊ฒฉ๋˜์–ด ๊ณ„์† ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๋ณต์ œ

์—ฐ์‡„ ๋ณต์ œ๋ณธ์˜ ๋˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋น„์šฉ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ฝ๊ธฐ ์šฉ๋Ÿ‰์„ ๋‘ ๋ฒˆ์งธ ๋ฆฌ์ „์— ๋ถ„์‚ฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ B์—์„œ ๋ณต์ œ๋˜๋Š” ์—ฐ์‡„ ๋ณต์ œ๋ณธ C์™€ D๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ณต์ œ๋ณธ B, C, D์— ์ฝ๊ธฐ ์ฟผ๋ฆฌ๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ๊ฐ ๋ณต์ œ๋ณธ์˜ ๋กœ๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์ „ ๊ฐ„ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋น„์šฉ์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ๋ณธ B๋กœ ์ „์†กํ•  ๋•Œ ํ•œ ๋ฒˆ๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. B์—์„œ C, D๋กœ ๋ณต์ œ ์‹œ ๋ฌด๋ฃŒ ๋ฆฌ์ „ ๋‚ด ๋„คํŠธ์›Œํฌ ์ „์†ก์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๋ณต์ œ์— ์—ฐ์‡„ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ตœ๋Œ€ 4๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋กœ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ A โ†’ ๋ณต์ œ๋ณธ B โ†’ ๋ณต์ œ๋ณธ C ๋ฐ ๋ณต์ œ๋ณธ D

์ œํ•œ์‚ฌํ•ญ

  • ํ•˜์œ„ ์ˆ˜์ค€์— ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ๋ณต์ œ๋ณธ์€ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋ฆฌํ”„ ๋ณต์ œ๋ณธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ ์œ„๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ˆœํ™˜ ๋ฆฌ์ „ ์ข…์† ํ•ญ๋ชฉ์€ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์—ฐ์‡„ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ๋ณธ์„ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ๋ฆฌ์ „์— ์œ„์น˜์‹œํ‚ค๋ ค๋ฉด ์—ฐ์‡„ ๋ณต์ œ๋ณธ๋„ ๋™์ผํ•œ ๋ฆฌ์ „์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋…ผ๋ฆฌ ๋ณต์ œ

Cloud SQL์„ ์‚ฌ์šฉํ•˜๋ฉด PostgreSQL์˜ ๋…ผ๋ฆฌ ๋ณต์ œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฒด ๋ณต์ œ ์†”๋ฃจ์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ผ๋ฆฌ์  ๋ณต์ œ๋Š” ๋‹ค์Œ์„ ํ—ˆ์šฉํ•˜๋Š” ์œ ์—ฐํ•œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ๋ณธ์œผ๋กœ ํ‘œ์ค€ ๋ณต์ œ
  • ํŠน์ • ํ…Œ์ด๋ธ” ๋˜๋Š” ํ–‰์˜ ์„ ํƒ์  ๋ณต์ œ
  • PostgreSQL ์ฃผ์š” ๋ฒ„์ „ ๊ฐ„์˜ ๋ณต์ œ
  • PostgreSQL ์ด์™ธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋ณต์ œ
  • ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์†Œ๋น„์ž๋กœ ์ŠคํŠธ๋ฆฌ๋ฐ๋˜๋Š” ๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ ์บก์ฒ˜(CDC) ์›Œํฌํ”Œ๋กœ

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋…ผ๋ฆฌ ๋ณต์ œ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด ํŽ˜์ด์ง€์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ์ œ๊ณต ๋…ผ๋ฆฌ ๋ณต์ œ
  • pglogical ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ

๋ณต์ œ ์‚ฌ์šฉ ์‚ฌ๋ก€

๋‹ค์Œ์€ ๋ณต์ œ ์œ ํ˜•๋ณ„ ์‚ฌ์šฉ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

์ด๋ฆ„ ๊ธฐ๋ณธ ๋ณต์ œ๋ณธ ์žฅ์  ๋ฐ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์ถ”๊ฐ€ ์ •๋ณด
์ฝ๊ธฐ ๋ณต์ œ๋ณธ Cloud SQL ์ธ์Šคํ„ด์Šค Cloud SQL ์ธ์Šคํ„ด์Šค
  • ์ถ”๊ฐ€ ์ฝ๊ธฐ ์šฉ๋Ÿ‰
  • ์• ๋„๋ฆฌํ‹ฑ์Šค ๋Œ€์ƒ
๋ฆฌ์ „ ๊ฐ„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ Cloud SQL ์ธ์Šคํ„ด์Šค Cloud SQL ์ธ์Šคํ„ด์Šค
  • ์ถ”๊ฐ€ ์ฝ๊ธฐ ์šฉ๋Ÿ‰
  • ์• ๋„๋ฆฌํ‹ฑ์Šค ๋Œ€์ƒ
  • ์ถ”๊ฐ€ ์žฌํ•ด ๋ณต๊ตฌ ๊ธฐ๋Šฅ
  • ์ฝ๊ธฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ๋ฆฌ์ „ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
๋…ผ๋ฆฌ ๋ณต์ œ ๋ชจ๋“  PostgreSQL ์ธ์Šคํ„ด์Šค ๋ชจ๋“  PostgreSQL ์ธ์Šคํ„ด์Šค ๋˜๋Š” ์™ธ๋ถ€ ์†Œ๋น„์ž
  • Cloud SQL ์™ธ๋ถ€์—์„œ ๋ณต์ œ
  • PostgreSQL ๋ฒ„์ „ ๊ฐ„ ๋ณต์ œ
  • ํ–‰ ๋ฐ ์—ด ํ•„ํ„ฐ๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ถ€ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ํ•˜์œ„ ์ง‘ํ•ฉ๋งŒ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. PostgreSQL 10์˜ pglogical 2.1 ๋ฐ ๋…ผ๋ฆฌ ๋ณต์ œ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.
  • PostgreSQL ์ด์™ธ์˜ ๋Œ€์ƒ์— ๋Œ€ํ•œ ๋ณต์ œ(๋ณ€๊ฒฝ ๋ฐ์ดํ„ฐ ์บก์ฒ˜)

๊ฒฐ์ œ

  • ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—๋Š” ํ‘œ์ค€ Cloud SQL ์ธ์Šคํ„ด์Šค์™€ ๋™์ผํ•œ ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ณต์ œ์—๋Š” ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋ฆฌ์ „ ๊ฐ„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๊ฐ€๊ฒฉ์€ ๋ฆฌ์ „์—์„œ ์ƒˆ Cloud SQL ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. Cloud SQL ์ธ์Šคํ„ด์Šค ๊ฐ€๊ฒฉ ์ฑ…์ •์„ ์ฐธ์กฐํ•˜์—ฌ ์ ์ ˆํ•œ ๋ฆฌ์ „์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ด๊ทธ๋ ˆ์Šค ๊ฐ€๊ฒฉ ์ฑ…์ •์˜ ์„ค๋ช…๋Œ€๋กœ ์ธ์Šคํ„ด์Šค์™€ ๊ด€๋ จ๋œ ์ผ๋ฐ˜ ๋น„์šฉ ์™ธ์—๋„ ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ๋ณธ์—๋Š” ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ๋ณต์ œ๋ณธ ์ธ์Šคํ„ด์Šค๋กœ ์ „์†ก๋œ ๋ณต์ œ ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋ฆฌ์ „ ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „์†ก ์š”๊ธˆ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Cloud SQL ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ๋น ๋ฅธ ์ฐธ์กฐ

์ฃผ์ œ ํ† ๋ก 
๋ฐฑ์—… ๋ณต์ œ๋ณธ์—์„œ ๋ฐฑ์—…์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
์ฝ”์–ด ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์˜ ์ฝ”์–ด ๊ฐœ์ˆ˜ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์–‘์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ์‚ญ์ œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ๋ชจ๋“  ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋…๋ฆฝํ˜• ์ธ์Šคํ„ด์Šค๋กœ ์Šน๊ฒฉํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
๋ณต์ œ๋ณธ ์‚ญ์ œ ๋ณต์ œ๋ณธ์„ ์‚ญ์ œํ•ด๋„ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊น… ์ค‘์ง€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ๋ฏธ๋ฆฌ ์“ฐ๊ธฐ ๋กœ๊ทธ๋ฅผ ์ค‘์ง€ํ•˜๋ ค๋ฉด ๋จผ์ € ๋ชจ๋“  ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์Šน๊ฒฉํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์žฅ์•  ์กฐ์น˜ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋Š” ๋ณต์ œ๋ณธ์ด DR ๋ณต์ œ๋ณธ์ธ ๊ฒฝ์šฐ์—๋งŒ ๋ณต์ œ๋ณธ์œผ๋กœ ์žฅ์•  ์กฐ์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ์ค‘๋‹จ ์‹œ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋„ ์žฅ์•  ์กฐ์น˜๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
๊ณ ๊ฐ€์šฉ์„ฑ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์ œ๋ณธ์—์„œ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ถ€ํ•˜ ๋ถ„์‚ฐ Cloud SQL์€ ๋ณต์ œ๋ณธ ๊ฐ„์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Cloud SQL ์ธ์Šคํ„ด์Šค์— ๋ถ€ํ•˜ ๋ถ„์‚ฐ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฐ๊ฒฐ ํ’€๋ง์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํ•˜ ๋ถ„์‚ฐ ์„ค์ •์œผ๋กœ ๋ณต์ œ๋ณธ ๊ฐ„์— ์ฟผ๋ฆฌ๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์™€ ์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์€ ์œ ์ง€๋ณด์ˆ˜ ๊ธฐ๊ฐ„, ์žฌ์˜ˆ์•ฝ, ์œ ์ง€๋ณด์ˆ˜ ๊ฑฐ๋ถ€ ๊ธฐ๊ฐ„์„ ๋น„๋กฏํ•œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ์œ ์ง€๋ณด์ˆ˜ ์„ค์ •์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์œ ์ง€๋ณด์ˆ˜ ์ค‘์— Cloud SQL์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์ „์— ๋ชจ๋“  ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์„ ๋จผ์ € ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.
์—ฌ๋Ÿฌ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ Cloud SQL์€ ์—ฐ์‡„ ๋ณต์ œ๋ณธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ํ•˜๋‚˜์— ๋ณต์ œ๋ณธ์„ ์ตœ๋Œ€ 10๊ฐœ๊นŒ์ง€ ๋งŒ๋“ค๊ณ  ์ด๋Ÿฌํ•œ ๋ณต์ œ๋ณธ์˜ ๋ณต์ œ๋ณธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ํฌํ•จํ•˜์—ฌ ์ตœ๋Œ€ 4๊ฐœ ์ˆ˜์ค€์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋น„๊ณต๊ฐœ IP ๋น„๊ณต๊ฐœ IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณต์ œ๋ณธ์— ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ์ƒ์†๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์ œ๋ณธ์˜ ์ถ”๊ฐ€ VPC ๋น„๊ณต๊ฐœ ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ๋ณต์› ๋ณต์ œ๋ณธ์ด ์žˆ๋Š” ๋™์•ˆ์—๋Š” ๋ณต์ œ๋ณธ์˜ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—…์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณต์›ํ•˜๊ฑฐ๋‚˜ ์ธ์Šคํ„ด์Šค์— point-in-time recovery๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋ณต์ œ๋ณธ์„ ๋ชจ๋‘ ์Šน๊ฒฉํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์„ค์ • postgres ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ”์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํฌํ•จํ•œ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค ์„ค์ •์€ ๋ณต์ œ๋ณธ์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
๋ณต์ œ๋ณธ ์ค‘์ง€ ๋ณต์ œ๋ณธ์„ stopํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์— restart, delete ๋˜๋Š” disable replication์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์ฒ˜๋Ÿผ ์ค‘์ง€ํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.
๋ณต์ œ๋ณธ ์—…๊ทธ๋ ˆ์ด๋“œ ์ฝ๊ธฐ ๋ณต์ œ๋ณธ์—๋Š” ๊ฐ€์šฉ์„ฑ์— ์ง€์žฅ์„ ์ฃผ๋Š” ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์–ธ์ œ๋“ ์ง€ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ” ๋ณต์ œ๋ณธ์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž ๋ณ€๊ฒฝ ์ž‘์—…์€ ๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์—์„œ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„