๐Ÿค– Backend/Database

Datagrip๊ณผ SSH Tunneling์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํŽธํ•˜๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ

sckwon770 2024. 3. 29. 08:42

์†Œ๋งˆ ๋ฉ˜ํ† ๋‹˜๊ณผ ๋ฐฐํฌ DB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•˜๋Š” ์ผ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๋Š” ๋„์ค‘์— ํ„ฐ๋ฏธ๋„์„ ์ผœ๋Š” ๋‚˜๋ฅผ ๋ณด๊ณ  ๊นœ์ง ๋†€๋ผ๋ฉฐ ํ„ฐ๋ฏธ๋„๋กœ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ๋ƒ๊ณ  ๋ฌผ์—ˆ๋˜ ๊ฒƒ์ด ์•„์ง๋„ ๊ธฐ์–ต๋‚œ๋‹ค. ์ปฌ๋Ÿผ๋ช… ์กฐ์ฐจ๋„ ์ œ๋Œ€๋กœ ๋ณด์ด์ง€ ์•Š๋Š” mysql cli๋ฅผ ์ผ๋˜ ์ด์œ ๋ฅผ ์ƒ๊ฐํ•ด๋ดค๋”๋‹ˆ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ์—ฌ๊ธฐ์ €๊ธฐ์„œ ๋ฐฐ์šธ ๋•Œ ์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋งŒ ๋ด์™”๊ณ  ํ”„๋กœ์ ํŠธ ๊ฐœ๋ฐœ๊นŒ์ง€๋งŒ ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๋‹จ๊ณ„๊นŒ์ง€ ๊ฐ€๋ณด์ง€ ์•Š์•„ ๋ถˆํŽธํ•จ์„ ํฌ๊ฒŒ ๋А๊ปด๋ณด์ง€ ๋ชปํ•ด์„œ ์˜€๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

Datagrip์„ ๋ฐฐ์šฐ๋ฉด์„œ ์‹ ์„ธ๊ณ„๋ฅผ ๋ง›๋ณด๊ณ  ์—ฌ๊ธฐ์ €๊ธฐ์— ์ธ„๋ผ์ดํ•ด์™”๋Š”๋ฐ, ๋ถˆํ˜ธํ•˜๋Š” ์‚ฌ๋žŒ์€ ๋ชป๋ณธ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜๋‚˜ ์•„์‰ฌ์šด ์ ์€ public subnet์— ์žˆ์–ด์•ผ๋งŒ ๊ฐ€๋Šฅํ•ด์„œ ๋ณด์•ˆ์ ์œผ๋กœ ์•„์‰ฝ๋‹ค๋Š” ๊ฒƒ์ด์—ˆ๋Š”๋ฐ, ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š” ๊ฒƒ์ด์˜€๋‹ค.... SSH Tunneling์„ ํ†ตํ•ด ์•ˆ์ „ํ•˜๋ฉด์„œ๋„ ํŽธํ•˜๊ฒŒ DB๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ๋ธ”๋กœ๊น…ํ•ด๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค!

 


๊ธฐ์กด ๋ฐฉ์‹์˜ ๋ฌธ์ œ

์ผ๋ฐ˜์ ์œผ๋กœ ๋งŽ์ด ์“ฐ๋Š” ๊ตฌ์กฐ๋Š” DB๋„ public subnet์— ๋‘๊ณ  ๊ฐœ๋ฐฉํ•œ ํฌํŠธ๋กœ ์ง์ ‘ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์—„๋ฐ€ํžˆ๋Š” private subnet์— ๋‘๊ณ  WAS์—์„œ๋งŒ ํฌํŠธ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์•ผํ•˜์ง€๋งŒ, ๋งค๋ฒˆ EC2 ํ„ฐ๋ฏธ๋„์— ์ ‘์†ํ•˜๊ณ  mysql client์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์—ฌ๊ฐ„ ๊ท€์ฐฎ์€๊ฒŒ ์•„๋‹ˆ๋‹ค. ํŠนํžˆ, Datagrip์€ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์ธ ๋กœ์ปฌ์ด๊ธฐ ๋•Œ๋ฌธ์— DB๊ฐ€ privat subnet์— ์žˆ๋‹ค๋ฉด, ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค.

 

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•


ํ•˜์ง€๋งŒ SSH Tunneling ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๋ฉด DB๋ฅผ private subnet์— ๋ถ„๋ฆฌํ•˜๋ฉด์„œ๋„ Datagrip์œผ๋กœ ์†์‰ฝ๊ฒŒ DB์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค. SSH Tunneling์€ ๋ง ๊ทธ๋Œ€๋กœ SSH ์ ‘์†์ด ๊ฐ€๋Šฅํ•œ ๋‚ด๋ถ€ ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•ด(ํ•œ ๋ฒˆ ๊ฑฐ์ณ์„œ) ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ๋งŒ ์ ‘์†๊ฐ€๋Šฅํ•œ DB์— ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

Datagrip SSH Tunneling

Datagrip์„ ํ†ตํ•ด SSH Tunneling ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. Data Source๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ DB ์ ‘์† ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š”๋ฐ, Host๋Š” ๋‚ด๋ถ€ IP๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๋‚ด๋ถ€ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

 

Use SSH tunnel์„ ํ™œ์„ฑํ™” ์‹œํ‚ค๊ณ  SSH configuration์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

 

 

์ด์šฉํ•  ์„œ๋ฒ„์˜ SSH ์ ‘์† ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ๋‚˜์˜ ๊ฒฝ์šฐ ๋Š˜ pem key๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, key ์ธ์ฆ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 


์ดํ›„ Test Connection ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ฑ๊ณต๋˜๋ฉด, ์„ธํŒ… ์„ฑ๊ณต์ด๋‹ค!