Computer Science

์›๊ฒฉ์œผ๋กœ DB ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•  ๋•Œ, bind-address์˜ ์˜๋ฏธ

Summary ๐Ÿš€

ํ†ต์‹  ์š”์ฒญ์„ ๋ฐ›๋Š” NIC๊ฐ€ ๋‹ค๋ฅด๋ฉฐ, ์†Œ์ผ“ ์ƒ์„ฑ์‹œ ๊ฐ ์•„์ดํ”ผ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์ผ“ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค.
๋”ฐ๋ผ์„œ mysql.cnf ํŒŒ์ผ์— ์ž‘์„ฑํ•œ bind-address์— ์•Œ๋งž์€ ip๋ฅผ ๊ฐ–๋Š” ์†Œ์ผ“ ํŒŒ์ผ์—์„œ ์˜ค๋Š” ์š”์ฒญ๋งŒ ํ—ˆ์šฉํ•œ๋‹ค. 

 

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์™€ ๋””๋น„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด์„œ, ์›๊ฒฉ์œผ๋กœ DB์— ์ปค๋„ฅ์…˜ ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•ด์•ผํ–ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” DB ์ธ์Šคํ„ด์Šค์— mysql์„ ์„ค์น˜ํ•˜๊ณ , mysql.cnf ํŒŒ์ผ์—์„œ ๋ณด์•ˆ ๊ทธ๋ฃน์— ์•Œ๋งž์€ port์™€ bind-address๋ฅผ ์„ค์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๊ทธ์™€ ๊ด€๋ จ๋œ ๊ธ€์€ ์—ฌ๊ธฐ ์—์„œ ์ž์„ธํžˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์šฐ์„  DB ์ธ์Šคํ„ด์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๋ฐ˜๊ฐ์ด ๋“ค์—ˆ๋˜ ๋ถ€๋ถ„์€ bind-address๋ฅผ 0.0.0.0์œผ๋กœ ์„ค์ •ํ•ด์คŒ์œผ๋กœ์„œ ๋„คํŠธ์›Œํฌ ์ „์ฒด ๋Œ€์—ญ์—์„œ ์˜ค๋Š” ์š”์ฒญ์„ ํ—ˆ์šฉํ•ด์ฃผ์–ด์•ผ๋งŒ ์ปค๋„ฅ์…˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด์—ˆ๋‹ค. ์ฒ˜์Œ bind-address๋ฅผ ์ดํ•ดํ•˜๊ธฐ๋กœ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋Š” ์›น ์„œ๋ฒ„์˜ ip๋ฅผ ์ ์–ด์ฃผ์–ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ 0.0.0.0 ๋Œ€์‹  ์‹œ๋„ํ•ด๋ณธ ๊ฒƒ์€ ์„œ๋ฒ„์˜ private/public ip ๋ชจ๋‘ bind-address์— ํ• ๋‹นํ•ด๋ณด์•˜์ง€๋งŒ ์• ์ดˆ์— mysql.cnf์—์„œ ์„œ๋ฒ„์˜ private/public ip๋กœ bind-address๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ—ˆ์šฉ์กฐ์ฐจ ๋˜์ง€ ์•Š์•˜๋‹ค.

 

ํ•˜์ง€๋งŒ ์–ด์ œ, ์šฐํ…Œ์ฝ” ํฌ๋ฃจ์ธ ์—์–ด๊ฐ€ db ์ธ์Šคํ„ด์Šค์˜ private ip๋ฅผ bind-address์— ์ž‘์„ฑํ•ด์ฃผ์–ด๋„ ์ปค๋„ฅ์…˜์ด ์ด๋ฃจ์–ด์ง„๋‹ค๊ณ  ์•Œ๋ ค์ฃผ์—ˆ๋‹ค. ๋„๋Œ€์ฒด bind-address๋Š” ๋ฌด์—‡์ด๊ธธ๋ž˜ db ์ธ์Šคํ„ด์Šค์˜ private ip๋ฅผ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ์—ฐ๊ฒฐ์ด ๋˜๋Š” ๊ฒƒ์ผ๊นŒ?

 

Bind-address๋ž€

bind-address๋ž€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ์–ด๋–ค ์ฃผ์†Œ๋กœ์˜ ์š”์ฒญ์„ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ 0.0.0.0/0์„ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๋„คํŠธ์›Œํฌ ์ „์ฒด ๋Œ€์—ญ, ์ฆ‰ ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•ด์„œ ์š”์ฒญ์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๊ธฐ์— ๋ฌธ์ œ์—†์ด ์›๊ฒฉ ์ปค๋„ฅ์…˜์ด ์ด๋ฃจ์–ด์ง„๋‹ค. 

 

์ด ๋‚ด์šฉ์„ ์ ์šฉํ•ด์„œ, db ์ธ์Šคํ„ด์Šค์˜ private ip๊ฐ€ 1.2.3.4 ๋ผ๊ณ  ๊ฐ€์ •ํ•œ ๋’ค bind-address์— 1.2.3.4๋ฅผ ํ• ๋‹นํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด๋ณด์ž.

bind-address์— 1.2.3.4๋ฅผ ํ• ๋‹นํ–ˆ๋‹ค๋Š” ์˜๋ฏธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— 1.2.3.4๋กœ ์˜ค๋Š” ์š”์ฒญ์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ๊ฐ€ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์„œ๋ฒ„์—์„œ jdbc:mysql://1.2.3.4:3306/{schema} ๋กœ ์ปค๋„ฅ์…˜์„ ์š”์ฒญํ•˜๋ฉด ํ†ต๊ณผ๋˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

๊ทธ๋Ÿฐ๋ฐ, bind-address์— 127.0.0.1์„ ํ• ๋‹นํ•˜๋‚˜, ์ธ์Šคํ„ด์Šค์˜ Private ip๋ฅผ ํ• ๋‹นํ•˜๋‚˜  jdbc:mysql://1.2.3.4:3306/{schema}๋กœ ์˜ค๋Š” ์š”์ฒญ์€ ๋‘˜ ๋ชจ๋‘ ์„ฑ๊ณตํ•ด์•ผํ•˜๋Š” ๊ฒƒ ์•„๋‹Œ๊ฐ€? ๋ผ๋Š” ์˜๋ฌธ์ด ๋“ค ์ˆ˜ ์žˆ๋‹ค.

 

127.0.0.1์„ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ๊ณผ ์ธ์Šคํ„ด์Šค์˜ Private ip๋ฅผ ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์˜ ์ฐจ์ด

์š”์•ฝ: ์‹ค์ œ ํ†ต์‹  ์š”์ฒญ์„ ๋ฐ›๋Š” NIC๊ฐ€ ๋‹ค๋ฅด๊ณ  ์†Œ์ผ“ ์ƒ์„ฑ ์‹œ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

์šฐ๋ฆฌ ์„œ๋ฒ„์—๋Š” Network Interface Card๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. NIC์—๋Š” ํ•˜๋‚˜์˜ Mac ์ฃผ์†Œ๊ฐ€ ์žˆ๊ณ  ์ด ๋งฅ์ฃผ์†Œ์—๋Š” ํ•˜๋‚˜์˜ ์•„์ดํ”ผ๊ฐ€ ํ• ๋‹น๋œ๋‹ค. (์•„์ดํ”ผ๋Š” ๋ณดํ†ต ๊ณต์œ ๊ธฐ ํ˜น์€ ๋ผ์šฐํ„ฐ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๋กœ๋ถ€ํ„ฐ ๋™์  ํ• ๋‹น๋œ๋‹ค.) ์œ„ 3๋ถ„ ์š”์•ฝ์—์„œ ์†Œ์ผ“ ์ƒ์„ฑ ์‹œ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ๋‹ฌ๋ผ์ง€๊ธฐ์— ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์†Œ์ผ“ ํŒŒ์ผ์€ ํŒŒ์ผ ๋””์Šคํฌ๋ฆฝํ„ฐ, local ip, local port, remote ip, remote port๋“ฑ ์ด 5๊ฐ€์ง€์˜ ์ •๋ณด๋กœ ์ƒ์„ฑ๋˜๋Š” ํ•˜๋‚˜์˜ ํŒŒ์ผ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์†Œ์ผ“ ์ƒ์„ฑ ์‹œ localhost๋กœ ์š”์ฒญํ•  ๋• 127.0.0.1์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ ์†Œ์ผ“ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ , db ์ธ์Šคํ„ด์Šค์˜ private ip๋กœ ์š”์ฒญํ•  ๊ฒฝ์šฐ private ip์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ ์†Œ์ผ“ ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ๋‹ค. 

 

์ฆ‰, bind-address์— 127.0.0.1์„ ํ• ๋‹นํ•˜๋ฉด 127.0.0.1 ์ •๋ณด๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ์†Œ์ผ“ ํŒŒ์ผ์„ ํ†ตํ•ด์„œ ์˜จ ์š”์ฒญ๋งŒ mysql ์„œ๋ฒ„์—์„œ ํ—ˆ์šฉํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๊ธฐ์—, private-ip๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋„ ์ปค๋„ฅ์…˜์ด ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

 

 

์ฐธ๊ณ  ์ž๋ฃŒ

-https://dev.mysql.com/doc/refman/5.7/en/ipv6-server-config.html

-http://jkkang.net/unix/netprg/chap2/net2_1.html