๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“ฆ Cloud/๐Ÿ—‚๏ธ Azure

[Azure] ์ž„๋Œ€ ์‚ฌ๋ฌด์‹ค์—์„œ ์‹œ์ž‘ํ•˜๋Š” ํด๋ผ์šฐ๋“œ.. Azure VM

by ์‚๋šค์˜ค๋ฆฌ 2026. 5. 21.

Azure VM๊ณผ ํด๋ผ์šฐ๋“œ์˜ ๊ด€๊ณ„

๋จผ์ € "ํด๋ผ์šฐ๋“œ"์™€ "Azure VM"์ด ์–ด๋–ค ๊ด€๊ณ„์ธ์ง€ ์ •ํ™•ํžˆ ์žก๊ณ  ๊ฐ€์•ผํ•œ๋‹ค.
์ด ๋‘˜์„ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ ํ˜ผ๋™ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ, ์‚ฌ์‹ค ํฌํ•จ ๊ด€๊ณ„์ด๋‹ค.

๐Ÿ’ก ๋น„์œ 
"ํด๋ผ์šฐ๋“œ"๋Š” ๊ฑด๋ฌผ ์ „์ฒด์ด๊ณ , "Azure VM"์€ ๊ทธ ๊ฑด๋ฌผ ์•ˆ์˜ ์ž„๋Œ€ ์‚ฌ๋ฌด์‹ค ํ•˜๋‚˜์ด๋‹ค.
๊ฑด๋ฌผ(ํด๋ผ์šฐ๋“œ) ์•ˆ์—๋Š” ์‚ฌ๋ฌด์‹ค(VM) ์™ธ์—๋„ ์ฐฝ๊ณ  (Blob), ์ „์šฉ ํšŒ์˜์‹ค(SQL) ๋“ฑ ๋‹ค์–‘ํ•œ ๊ณต๊ฐ„์ด ์žˆ๋‹ค.

Azure๋Š” Microsoft๊ฐ€ ์šด์˜ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ์ „์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ด ํ”Œ๋žซํผ ์œ„์—์„œ ์ˆ˜์‹ญ ๊ฐ€์ง€ ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณต๋˜๋Š”๋ฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ฐ”๋กœ Azure VM(๊ฐ€์ƒ ์ปดํ“จํ„ฐ)์ด๋‹ค.
์ฆ‰, "Azure VM์„ ์‚ฌ์šฉํ•œ๋‹ค"๋Š” ๊ฒƒ์€ ํด๋ผ์šฐ๋“œ๋ผ๋Š” ํฐ ๊ฑด๋ฌผ ์•ˆ์˜ ๋ฐฉ ํ•˜๋‚˜๋ฅผ ๋นŒ๋ ค ์“ฐ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

Azure ํ”Œ๋žซํผ

ํ‘œํ˜„ ํ™•์ธ ์ด์œ 
"Azure VM์€ ํด๋ผ์šฐ๋“œ ๋ฐฉ์‹์ด๋‹ค" โœ… ๋งž๋‹ค VM์€ ํด๋ผ์šฐ๋“œ ์œ„์—์„œ ๋™์ž‘ํ•˜๋Š” ์„œ๋น„์Šค์ด๋‹ค.
"Azure VM = ํด๋ผ์šฐ๋“œ๋‹ค" โš ๏ธ ๋ถ€์ •ํ™•ํ•˜๋‹ค VM์€ ํด๋ผ์šฐ๋“œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ์„œ๋น„์Šค ์ค‘ ํ•˜์ผ ๋ฟ์ด๋‹ค.
"Azure VM์€ ์›๊ฒฉ์œผ๋กœ ์ ‘์†ํ•ด์„œ ์“ฐ๋Š” ๊ฐ€์ƒ ์ปดํ“จํ„ฐ๋‹ค" โœ… ๊ฐ€์žฅ ์ •ํ™•ํ•˜๋‹ค VM์˜ ์‹ค์ œ ๋™์ž‘ ๋ฐฉ์‹์„ ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•˜๋Š” ํ‘œํ˜„์ด๋‹ค.

๐Ÿ’ก ํ•ต์‹ฌ ํ•œ ์ค„ ์ •๋ฆฌ : Azure VM = Micorsoft๊ฐ€ ํด๋ผ์šฐ๋“œ(Azure)์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒ ์ปดํ“จํ„ฐ ์„œ๋น„์Šค

 

 

VM(Virtual Machine)์ด๋ž€?

VM์€ Virtual Machine(๊ฐ€์ƒ ๋จธ์‹ )์˜ ์ค„์ž„๋ง์ด๋‹ค.
๋ฌผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹ˆ๋ผ, ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฐ€์ƒ์˜ ์ปดํ“จํ„ฐ์ด๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ๋งŒ์ง€๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ์žฅ๋น„๋Š” ์—†์ง€๋งŒ, ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ ‘์†ํ•˜๋ฉด ์ง„์งœ ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.

๐Ÿ’ก ๋น„์œ 
VM์€ ์ž„๋Œ€ ์ปดํ“จํ„ฐ์ด๋‹ค.
๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๊ตฌ๋งคํ•ด์„œ ์šด์˜ํ•˜๋Š” ๋Œ€์‹ , Microsoft ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ์žˆ๋Š” ์ˆ˜์ฒœ ๋Œ€์˜ ์„œ๋ฒ„ ์ค‘ ์ผ๋ถ€๋ฅผ ์ธํ„ฐ๋„ท์œผ๋กœ ๋นŒ๋ ค์„œ ๋‚ด ์ปดํ“จํ„ฐ์ฒ˜๋Ÿผ ์›๊ฒฉ์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ตฌ๋ถ„ ๋ฌผ๋ฆฌ ์„œ๋ฒ„ Azure VM
์žฅ๋น„ ์ค€๋น„ ์ง์ ‘ ๊ตฌ๋งค ํ•„์š” (๋น„์šฉ, ์‹œ๊ฐ„ ์†Œ์š”) ํด๋ฆญ ๋ช‡ ๋ฒˆ์œผ๋กœ ์ˆ˜๋ถ„ ๋‚ด ์ƒ์„ฑ ๊ฐ€๋Šฅ
์œ ์ง€๋ณด์ˆ˜ ์ง์ ‘ ์„ค์น˜ / ๊ด€๋ฆฌ / ๊ต์ฒด ํ•˜๋“œ์›จ์–ด ๊ด€๋ฆฌ๋Š” Azure๊ฐ€ ๋‹ด๋‹น
์žฅ์•  ๋Œ€์‘ ๋‚ด ์ฑ…์ž„ - ์ง์ ‘ ์กฐ์น˜ํ•ด์•ผ ํ•จ ํ•˜๋“œ์›จ์–ด ์žฅ์• ๋Š” Azure ์ฑ…์ž„
ํ™•์žฅ ๋ฐฉ๋ฒ• ์ƒˆ ์žฅ๋น„๋ฅผ ์ถ”๊ฐ€ ๊ตฌ๋งคํ•ด์•ผ ํ•จ ์„ค์ • ๋ณ€๊ฒฝ๋งŒ์œผ๋กœ ์‚ฌ์–‘ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฐ€๋Šฅ
๋น„์šฉ ๊ตฌ์กฐ ์ดˆ๊ธฐ ๋น„์šฉ ํฌ๊ณ  ๊ณ ์ • ๋น„์šฉ ๋ฐœ์ƒ ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ์ง€๋ถˆ (์ข…๋Ÿ‰์ œ)
โœ… ํฌ์ธํŠธ
VM์€ ๋‹จ์ˆœํ•œ ์ €์žฅ ๊ณต๊ฐ„์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” ์ปดํ“จํ„ฐ์ด๋‹ค.
์ ‘์†ํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ฆฌ๊ณ , ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๋“ฑ ์ผ๋ฐ˜ ์ปดํ“จํ„ฐ์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์ด ์ ์ด ๋‹จ์ˆœ ์ €์žฅ์†Œ์ธ Blob Storage์™€ ๊ฐ€์žฅ ํฌ๊ฒŒ ๋‹ค๋ฅธ ์ ์ด๋‹ค.

 

 

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ VM์˜ ์—ญํ• 

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด๋ž€, ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ๊ณณ์—์„œ๋ถ€ํ„ฐ ์ตœ์ข…์ ์œผ๋กœ ํ™œ์šฉ๋˜๋Š” ๊ณณ๊นŒ์ง€์˜ ํ๋ฆ„์„ ๋งํ•œ๋‹ค.
๋งˆ์น˜ ์›์œ ๊ฐ€ ์œ ์ „์—์„œ ์ถœ๋ฐœํ•ด์„œ ์ •์ œ ๊ณต์žฅ์„ ๊ฑฐ์ณ ์ฃผ์œ ์†Œ์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ, ๋ฐ์ดํ„ฐ๋„ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ ์ด๋™ํ•˜๊ณ  ๊ฐ€๊ณต๋œ๋‹ค.

๐Ÿ’ก ๋น„์œ 
์›๋ณธ DB(์›์‚ฐ์ง€)์™€ DW/DM ์„œ๋ฒ„(๊ณต์žฅ) ์‚ฌ์ด์—์„œ VM์€ ๋ฌผ๋ฅ˜ ํ—ˆ๋ธŒ ์—ญํ• ์„ ํ•œ๋‹ค.

์›์‚ฐ์ง€์—์„œ ๊ณต์žฅ์œผ๋กœ ๋ฌผ๊ฑด์„ ์ง์ ‘ ๋ณด๋‚ด๋Š” ๋Œ€์‹ , ์ค‘๊ฐ„ ๋ฌผ๋ฅ˜ ์„ผํ„ฐ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ํ•ด์„œ ์›์‚ฐ์ง€์— ๋ถ€๋‹ด์„ ์ฃผ์ง€ ์•Š๋Š” ๊ตฌ์กฐ์ด๋‹ค.

VM์ด ์ค‘๊ฐ„์— ์œ„์น˜ํ•˜๋Š” ์ด์œ 

์›๋ณธ DB์— ๋ถ„์„ ์ฟผ๋ฆฌ๋‚˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ถ”์ถœ ์ž‘์—…์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด, ์‹ค์ œ ์„œ๋น„์Šค์— ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
VM์€ ์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•œ ์™„์ถฉ์ง€๋Œ€(Buffer)์ด๋‹ค. ์›๋ณธ์˜ ๋ณต์‚ฌ๋ณธ์„ VM์— ์œ ์ง€ํ•˜๊ณ , ๋ชจ๋“  ๋ถ„์„/์ถ”์ถœ ์ž‘์—…์€ VM์—์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

์—ญํ•  ์„ค๋ช… ์™œ ํ•„์š”ํ•œ๊ฐ€?
DB ๋ฏธ๋Ÿฌ๋ง ์›๋ณธ DB๋ฅผ VM์— ์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณต์ œ ์›๋ณธ DB์— ์ง์ ‘ ์ ‘๊ทผํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด
์ค‘๊ฐ„ ๋ฒ„ํผ ๋ถ„์„/์ถ”์ถœ ์ž‘์—…์„ VM์—์„œ ๋Œ€์‹  ์ฒ˜๋ฆฌ ์›๋ณธ ์„œ๋น„์Šค์˜ ์„ฑ๋Šฅ ๋ณดํ˜ธ
ํŒŒ์ผ ๋ณ€ํ™˜ DB๋ฅผ .mdf/.ldf ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ ํ›„ Blob ์ „์†ก ์žฅ๊ธฐ ๋ณด๊ด€๊ณผ ๋ณต์›์„ ์œ„ํ•œ ํ‘œ์ค€ ํฌ๋งท ์‚ฌ์šฉ

 

 

 

๋ฆฌ์ „(Region)๋ณ„๋กœ VM์„ ๋‚˜๋ˆ„๋Š” ์ด์œ 

๋ฆฌ์ „(Region)์ด๋ž€ Azure ๋ฐ์ดํ„ฐ์„ผํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์œ„์น˜ํ•œ ์ง€์—ญ์„ ๋งํ•œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๋™์•„์‹œ์•„ ๋ฆฌ์ „, ๋ฏธ๊ตญ ๋™๋ถ€ ๋ฆฌ์ „, ์œ ๋Ÿฝ ์„œ๋ถ€ ๋ฆฌ์ „ ๋“ฑ์ด ์žˆ๋‹ค.
์„œ๋น„์Šค๊ฐ€ ๊ธ€๋กœ๋ฒŒ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ• ์ˆ˜๋ก, ๊ฐ ์ง€์—ญ์— VM์„ ๋”ฐ๋กœ ๋‘๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์ง„๋‹ค.

๐Ÿ’ก ๋น„์œ 
์ „ ์„ธ๊ณ„์— ์ง€์ ์„ ๊ฐ€์ง„ ๋ฌผ๋ฅ˜ ํšŒ์‚ฌ๋ฅผ ์ƒ๊ฐํ•ด๋ณด์ž.
๋ชจ๋“  ๋ฐฐ์†ก์„ ์„œ์šธ ๋ณธ์‚ฌ ์ฐฝ๊ณ  ํ•˜๋‚˜์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด, ๋ฏธ๊ตญ์ด๋‚˜ ์œ ๋Ÿฝ ๊ณ ๊ฐ์€ ๋ฐฐ์†ก ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
๊ฐ ์ง€์—ญ์— ํ˜„์ง€ ์ฐฝ๊ณ (๋ฆฌ์ „๋ณ„ VM)๋ฅผ ๋‘๋ฉด ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

โšก ๋ ˆ์ดํ„ด์‹œ(์ง€์—ฐ) ๊ฐ์†Œ

๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ€๋ฆฌ ๋ณด๋‚ด์ง€ ์•Š๊ณ , ๋ฐœ์ƒํ•œ ์ง€์—ญ ๊ทผ์ฒ˜์˜ VM์—์„œ ๋ฐ”๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
์‘๋‹ต ์†๋„๊ฐ€ ๋นจ๋ผ์ง€๊ณ  ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ํ–ฅ์ƒ๋œ๋‹ค.

๐Ÿ›ก๏ธ ์žฅ์•  ๊ฒฉ๋ฆฌ

ํ•œ ์ง€์—ญ VM์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ๋„ ๋‹ค๋ฅธ ๋ฆฌ์ „ VM์—๋Š” ์˜ํ–ฅ์ด ์—†๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ์žฅ์•  ๋ฒ”์œ„๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“‹ ๋ฐ์ดํ„ฐ ๊ทœ์ • ์ค€์ˆ˜

์ผ๋ถ€ ๊ตญ๊ฐ€/์ง€์—ญ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด๋‹น ๊ตญ๊ฐ€ ๋‚ด์—์„œ๋งŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฒ•๊ทœ(๋ฐ์ดํ„ฐ ๋ ˆ์ง€๋˜์‹œ)๊ฐ€ ์žˆ๋‹ค.
๋ฆฌ์ „๋ณ„ VM ๋ถ„๋ฆฌ๋กœ ์ด๋ฅผ ์ค€์ˆ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ” ์žฅ์•  ์›์ธ ํŒŒ์•… ์šฉ์ด

ํŠน์ • ์ง€์—ญ ๋ฐ์ดํ„ฐ์— ์ด์Šˆ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ, ํ•ด๋‹น ๋ฆฌ์ „ VM๋งŒ ์ง‘์ค‘ํ•ด์„œ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.
์ „์ฒด๋ฅผ ๋’ค์ง€์ง€ ์•Š์•„๋„ ๋˜๋‹ˆ ๋น ๋ฅธ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

Azure VM vs Azure Blob Storage

์ฒ˜์Œ ํด๋ผ์šฐ๋“œ๋ฅผ ์ ‘ํ•˜๋ฉด VM๊ณผ Blob Storage๋ฅผ ํ˜ผ๋™ํ•˜๊ธฐ ์‰ฝ๋‹ค.
๋‘˜ ๋‹ค Azure์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์ง€๋งŒ ์—ญํ• ์ด ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค.
VM์€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณณ์ด๊ณ , Blob์€ ํŒŒ์ผ์„ ๋ณด๊ด€ํ•˜๋Š” ๊ณณ์ด๋‹ค.

๐Ÿ’ก ๋น„์œ 
VM์€ ์š”๋ฆฌ์‚ฌ๊ฐ€ ์ผํ•˜๋Š” ์ฃผ๋ฐฉ๐Ÿณ, Blob์€ ์‹์žฌ๋ฃŒ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋ƒ‰๋™์ฐฝ๊ณ โ„๏ธ์ด๋‹ค.

์ฃผ๋ฐฉ์—์„œ ์š”๋ฆฌ(์—ฐ์‚ฐ/์ž‘์—…)๋ฅผ ํ•˜๊ณ , ๋‹น์žฅ ์“ฐ์ง€ ์•Š๋Š” ์‹์žฌ๋ฃŒ(ํŒŒ์ผ)๋Š” ์ฐฝ๊ณ ์— ๋„ฃ์–ด๋‘๋Š” ๊ตฌ์กฐ์ด๋‹ค.
์ฐฝ๊ณ ์—์„œ๋Š” ์š”๋ฆฌํ•  ์ˆ˜ ์—†๊ณ , ์ฃผ๋ฐฉ์— ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค.

๊ตฌ๋ถ„ AZURE VM AZURE BLOB STORAGE
ํ•ต์‹ฌ ์—ญํ•  ์—ฐ์‚ฐ / ์ฒ˜๋ฆฌ ์ž‘์—… ์ˆ˜ํ–‰ ํŒŒ์ผ ์ €์žฅ ์ „์šฉ
ํŠน์ง• CPU/๋ฉ”๋ชจ๋ฆฌ ์žˆ์Œ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๊ฐ€๋Šฅ ์ €์žฅ๋งŒ ํ•จ, ์—ฐ์‚ฐ ๋ถˆ๊ฐ€
๋น„์šฉ ๊ธฐ์ค€ ์ผœ์ ธ ์žˆ๋Š” ์‹œ๊ฐ„๋งŒํผ ๊ณผ๊ธˆ → ๊บผ๋‘๋ฉด ์ ˆ์•ฝ ๊ฐ€๋Šฅ ์ €์žฅ ์šฉ๋Ÿ‰๋งŒํผ ๊ณผ๊ธˆ → ์˜ค๋ž˜ ๋‘ฌ๋„ ์ €๋ ด
์ฟผ๋ฆฌ ๊ฐ€๋Šฅ? โœ… ๊ฐ€๋Šฅ โŒ ๋ถˆ๊ฐ€ (ํŒŒ์ผ ๊บผ๋‚ด์„œ VM/DW์—์„œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ)
์ ํ•ฉํ•œ ์šฉ๋„ DB ๋ณต์ œ, ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฑ์—… ํŒŒ์ผ ๋ณด๊ด€, ๋กœ๊ทธ ์•„์นด์ด๋ธŒ, ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ €์žฅ
โœ… ์ฐธ๊ณ 
Blob Storage์˜ ๋ณด๊ด€ ๊ธฐ๊ฐ„์€ Azure์—์„œ ์ž๋™์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.
ํŒ€์ด๋‚˜ ์กฐ์ง์˜ ์šด์˜ ์ •์ฑ…์— ๋”ฐ๋ผ ์ง์ ‘ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.
Azure์—๋Š” LifeCycle Management ๊ธฐ๋Šฅ์„ ํ†ตํ•ด "N์ผ ์ดํ›„ ์ž๋™ ์‚ญ์ œ" ๋˜๋Š” "N์ผ ์ดํ›„ ์ €๋น„์šฉ ๊ณ„์ธต์œผ๋กœ ์ด๋™" ๊ฐ™์€ ์ •์ฑ…์„ ์ง์ ‘ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

azcopy๋ž€?

azcopy๋Š” Azure๊ฐ€ ๊ณต์‹์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ปค๋งจ๋“œ๋ผ์ธ ํŒŒ์ผ ์ „์†ก ๋„๊ตฌ์ด๋‹ค.
Azure VM๊ณผ Azure Blob Storage ์‚ฌ์ด, ๋˜๋Š” Blob๊ณผ ๋กœ์ปฌ ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ ๋น ๋ฅด๊ฒŒ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ๋ณต์‚ฌ ๋ช…๋ น(cp, robocopy ๋“ฑ)๋ณด๋‹ค Azure ํ™˜๊ฒฝ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์–ด ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.

๐Ÿ’ก ๋น„์œ 
azcopy๋Š” Azure ์ „์šฉ ํ€ต๋ฐฐ์†ก ๊ธฐ์‚ฌ๐Ÿš€์ด๋‹ค.

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

โšก๊ณ ์† ์ „์†ก

์ผ๋ฐ˜ ํŒŒ์ผ ๋ณต์‚ฌ ๋Œ€๋น„ ํ›จ์”ฌ ๋น ๋ฅด๋‹ค.
๋ณ‘๋ ฌ ์ฒญํฌ ์ „์†ก์œผ๋กœ ๋Œ€์—ญํญ์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•œ๋‹ค.

๐Ÿ” ์ด์–ด๋ฐ›๊ธฐ

์ „์†ก ์ค‘ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋Š๊ฒจ๋„ ์ฒดํฌํฌ์ธํŠธ ๊ธฐ๋ฐ˜์œผ๋กœ ์ด์–ด๋ฐ›๊ธฐ ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ”€ ๋ณ‘๋ ฌ ์ „์†ก

์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋™์‹œ์— ์ „์†กํ•ด ์ „์ฒด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๊ทน๋Œ€ํ™”ํ•œ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ ํŒจํ„ด

# VM → Blob Storage (๋ฐฑ์—… ํŒŒ์ผ ์—…๋กœ๋“œ)
azcopy copy "/path/to/file.mdf" "https://[storage].blob.core.windows.net/[container]/"

# Blob Storage → DW Server (๋ณต์›์„ ์œ„ํ•ด ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ)
azcopy copy "https://[storage].blob.core.windows.net/[container]/file.mdf" "/local/path/"

# ํŠน์ • ์ปจํ…Œ์ด๋„ˆ ์•ˆ์˜ ๋ชจ๋“  ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ (์žฌ๊ท€ ์˜ต์…˜)
azcopy copy "https://[storage].blob.core.windows.net/[container]/*" "/local/path/" --recursive

 

โœ… ์ฐธ๊ณ 
azcopy๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Azure Storage ๊ณ„์ •์— ๋Œ€ํ•œ ์ธ์ฆ(SAS ํ† ํฐ ๋˜๋Š” Azure AD)์ด ํ•„์š”ํ•˜๋‹ค.
์ฒ˜์Œ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ถŒํ•œ ์„ค์ •์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

 

 

MSSQL์˜ .mdf / .ldf ํŒŒ์ผ

MSSQL(Microsoft SQL Server) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‘ ์ข…๋ฅ˜์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•œ๋‹ค.
๋ฐ”๋กœ .mdf ์™€ .ldf ์ธ๋ฐ, ์ด ๋‘ ํŒŒ์ผ์„ ํ•จ๊ป˜ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์™„์ „ํ•˜๊ฒŒ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ๋น„์œ 
.mdf๋Š” ์ฑ…์˜ ๋ณธ๋ฌธ, .ldf๋Š” ์ฑ…์˜ ์ˆ˜์ • ์ด๋ ฅ(ํŽธ์ง‘ ๊ธฐ๋ก)์ด๋‹ค.

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

์ •์ƒ ์šด์˜ ์‹œ ๋‘ ํŒŒ์ผ ๋ชจ๋‘ ํ•„์ˆ˜์ด๋‹ค!
.mdf + .ldf ๊ฐ€ ํ•จ๊ป˜ ์žˆ์–ด์•ผ ์™„๋ฒฝํ•œ ๋ณต์›์ด ๊ฐ€๋Šฅํ•˜๊ณ , ํŠน์ • ์‹œ์  ๋ณต์›(PITR)๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํŒŒ์ผ ์ •์‹ ๋ช…์นญ ์—ญํ•  ์—†์œผ๋ฉด?
.mdf Primary Data File ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ €์žฅ (ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค ๋“ฑ) DB ์ž์ฒด๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์—†์Œ
.ldf Log Data File ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ ์ €์žฅ (๋ณ€๊ฒฝ ์ด๋ ฅ ์ถ”์ ) DB๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์—ด๋ฆฌ์ง€ ์•Š์Œ (์‘๊ธ‰ ๋ณต์›์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ๋กœ๊ทธ ์œ ์‹ค)
โš ๏ธ ๋ณต์› ์‹œ ์ฃผ์˜!
Blob Storage์—์„œ .mdf / .ldf ํŒŒ์ผ์„ azcopy๋กœ ๋‚ด๋ ค๋ฐ›์€ ๋’ค MSSQL์— Attach(์ฒจ๋ถ€)ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
ํŒŒ์ผ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋‹ค์šด๋กœ๋“œ + Attach ์‹œ๊ฐ„์ด ์ˆ˜์‹ญ ๋ถ„์—์„œ ์ˆ˜ ์‹œ๊ฐ„๊นŒ์ง€ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
๊ธด๊ธ‰ ์ƒํ™ฉ์—์„œ๋Š” ์ฒ˜์Œ ํ•ด๋ณด๋ฉด ๋‹นํ™ฉํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ, ๋ฏธ๋ฆฌ ๋ณต์› ์ ˆ์ฐจ๋ฅผ ํ•œ ๋ฒˆ์”ฉ ์—ฐ์Šตํ•ด๋‘๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•œ๋‹ค.

.ldf ๋Š” ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ํ•„์ˆ˜!

"mdf ๊ฐ€ ๋ณธ์ฒด์ด๊ณ  ldf ๋Š” ์žˆ์œผ๋ฉด ์ข‹์€ ๊ฑฐ ์•„๋ƒ?" ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, .ldf ๋Š” ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ํ•„์ˆ˜์ด๋‹ค.
MSSQL์€ ์ •์ƒ ์šด์˜ ์‹œ ๋‘ ํŒŒ์ผ์ด ๋ชจ๋‘ ์žˆ์–ด์•ผ DB๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ’ก ๋น„์œ 
.mdf๊ฐ€ ์ง‘ ์ž์ฒด(๋ฒฝ, ์ง€๋ถ•, ๊ฐ€๊ตฌ)๋ผ๋ฉด, ,ldf๋Š” ์ง‘์˜ ์—ด์‡  + ๋ณด์•ˆ ์‹œ์Šคํ…œ์ด๋‹ค.

์ง‘์ด ์žˆ์–ด๋„ ์—ด์‡ ๊ฐ€ ์—†์œผ๋ฉด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†๋‹ค!
์ƒํ™ฉ .MDF .LDF ๊ฒฐ๊ณผ
์ •์ƒ ์šด์˜ โœ… ํ•„์ˆ˜ โœ… ํ•„์ˆ˜ DB ์ •์ƒ ๋™์ž‘
.ldf ์—†์ด ์‹œ์ž‘ ์‹œ๋„ โœ… ์žˆ์Œ โŒ ์—†์Œ DB๊ฐ€ ์—ด๋ฆฌ์ง€ ์•Š์Œ
.mdf ์—†์ด ์‹œ์ž‘ ์‹œ๋„ โŒ ์—†์Œ โœ… ์žˆ์Œ DB ์ž์ฒด๊ฐ€ ์กด์žฌ ๋ถˆ๊ฐ€

๊ทธ๋Ÿผ .mdf ๋งŒ์œผ๋กœ ๋ณต์›๋˜๋Š” ๊ฒฝ์šฐ๋Š”?

๋น„์ƒ ์ƒํ™ฉ์—์„œ .mdf๋งŒ ์žˆ์„ ๋•Œ ์‘๊ธ‰ ์ˆ˜๋‹จ์ด ์กด์žฌํ•˜๊ธด ํ•œ๋‹ค.
MSSQL์ด ๋นˆ .ldf ๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

-- .mdf๋งŒ ์žˆ์„ ๋•Œ ๊ฐ•์ œ Attach (์‘๊ธ‰ ์ˆ˜๋‹จ)
CREATE DATABASE MyDB ON
    (FILENAME = 'C:\data\MyDB.mdf')
FOR ATTACH_REBUILD_LOG

ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์—๋Š” ํฐ ๋Œ€๊ฐ€๊ฐ€ ๋”ฐ๋ฅธ๋‹ค.

๋ณต์› ๋ฐฉ์‹ ๊ฒฐ๊ณผ ์žƒ๋Š” ๊ฒƒ
.mdf + .ldf ๋ชจ๋‘ ๋ณต์› โœ… ์™„๋ฒฝํ•œ ๋ณต์› ์—†์Œ.
ํŠธ๋žœ์žญ์…˜ ์ด๋ ฅ ๋ณด์กด, ํŠน์ • ์‹œ์  ๋ณต์›(PITR) ๊ฐ€๋Šฅ
.mdf ๋งŒ ๋ณต์›
(REBUILD_LOG)
โš ๏ธ DB๋Š” ์—ด๋ฆผ ๊ธฐ์กด ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ ์ „๋ถ€ ์œ ์‹ค.
๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹ ์•ˆ ๋œ ์ž‘์—…์€ ์‚ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์Œ
๐Ÿ’ก ๋น„์œ 
.mdf + .ldf ๋ณต์› = ์ง‘ + ์—ด์‡  ๋‹ค ์žˆ์Œ → ์™„๋ฒฝํ•˜๊ฒŒ ์ž…์ฃผ
.mdf ๋งŒ ๋ณต์› = ์ง‘์€ ์žˆ๋Š”๋ฐ ์—ด์‡ ๊ฐ€ ์—†์Œ → ์ž๋ฌผ์‡  ์ƒˆ๋กœ ๊ต์ฒด(REBUILD_LOG)ํ•˜๋ฉด ๋“ค์–ด๊ฐˆ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ,์ด์ „ ๋ณด์•ˆ ๊ธฐ๋ก(ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ)์€ ์ „๋ถ€ ์‚ฌ๋ผ์ง„๋‹ค.

๐Ÿ’ก.ldf ๋Š” ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ํ•„์ˆ˜์ด๋‹ค! .mdf ๋งŒ์œผ๋กœ ๋ณต์›ํ•˜๋Š” ๊ฑด ์–ด๋””๊นŒ์ง€๋‚˜ ์‘๊ธ‰ ์ˆ˜๋‹จ์ผ ๋ฟ์ด๋‹ค.

 

 

๋ฐ์ดํ„ฐ ํŒŒ์ผ ํ˜•์‹ - CSV vs TSV

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋กœ ์ผํ•˜๋‹ค ๋ณด๋ฉด .csv ์™€ .tsv ํŒŒ์ผ์„ ์ž์ฃผ ๋งŒ๋‚˜๊ฒŒ ๋œ๋‹ค.
๋‘˜ ๋‹ค ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ํ‘œ ํ˜•์‹ ํŒŒ์ผ์ธ๋ฐ, ์นธ์„ ๋‚˜๋ˆ„๋Š” ๊ตฌ๋ถ„์ž๊ฐ€ ๋‹ค๋ฅด๋‹ค.

๐Ÿ’ก ๋น„์œ 
CSV์™€ TSV๋Š” ๋‘˜ ๋‹ค ๋ฉ”๋ชจ์žฅ์— ์ ์€ ํ‘œ์ด๋‹ค.
๋‹ค๋งŒ ์นธ์„ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค๋ฅด๋‹ค. CSV๋Š” ์‰ผํ‘œ(,)๋กœ ๋‚˜๋ˆ„๊ณ , TSV๋Š” ํƒญ(Tabํ‚ค)์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

์‹ค์ œ ํŒŒ์ผ ๋‚ด๋ถ€ ๋น„๊ต

// CSV (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„)
Time,UserId,Action,Value
2024-06-01 10:00,SRV-01,Login,100
2024-06-01 10:05,SRV-02,Purchase,500

// TSV (ํƒญ์œผ๋กœ ๊ตฌ๋ถ„ — ๋ˆˆ์—๋Š” ๋„“์€ ๊ณต๋ฐฑ์ฒ˜๋Ÿผ ๋ณด์ž„)
Time	UserId	Action	Value
2024-06-01 10:00	SRV-01	Login	100
2024-06-01 10:05	SRV-02	Purchase	500
๊ตฌ๋ถ„ CSV TSV
์ •์‹ ๋ช…์นญ Comma-Separated Values Tab-Separated Values
๊ตฌ๋ถ„์ž ์‰ผํ‘œ , ํƒญ \t
ํ™•์žฅ์ž .csv .tsv
๋ฉ”๋ชจ์žฅ์œผ๋กœ ์—ด๋ฉด ์‰ผํ‘œ๊ฐ€ ๋ณด์ž„ ๋„“์€ ๊ณต๋ฐฑ์ฒ˜๋Ÿผ ๋ณด์ž„
์—‘์…€๋กœ ์—ด๋ฉด ํ‘œ ํ˜•ํƒœ๋กœ ๋ณด์ž„ ํ‘œ ํ˜•ํƒœ๋กœ ๋ณด์ž„

์™œ CSV ๋Œ€์‹  TSV๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„๊นŒ?

๐Ÿ’ก ๋น„์œ 
ํƒ๋ฐฐ ์†ก์žฅ์— ์ฃผ์†Œ๋ฅผ ์ ์„ ๋•Œ ์‰ผํ‘œ๋ฅผ ์“ฐ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค - "์„œ์šธ์‹œ, ๊ฐ•๋‚จ๊ตฌ, ์—ญ์‚ผ๋™". ์ด๋•Œ ๊ตฌ๋ถ„์ž๋„ ์‰ผํ‘œ๋ฅผ ์“ฐ๋ฉด ์–ด๋””๊ฐ€ ์ง„์งœ ๊ตฌ๋ถ„์ž์ธ์ง€ ํ—ท๊ฐˆ๋ฆฐ๋‹ค.
ํƒญ์€ ๋ฐ์ดํ„ฐ ์•ˆ์— ๊ฑฐ์˜ ๋“ฑ์žฅํ•˜์ง€ ์•Š์œผ๋‹ˆ๊นŒ ๋” ์•ˆ์ „ํ•˜๋‹ค!

ํ•ต์‹ฌ์€ ๋ฐ์ดํ„ฐ ์•ˆ์— ๊ตฌ๋ถ„์ž๊ฐ€ ํฌํ•จ๋  ๊ฐ€๋Šฅ์„ฑ์ด๋‹ค.
๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋‚˜ ํ…์ŠคํŠธ ํ•„๋“œ์—๋Š” ์‰ผํ‘œ๊ฐ€ ์ž์ฃผ ๋“ค์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— CSV๋กœ ์ €์žฅํ•˜๋ฉด ํŒŒ์‹ฑ ์—๋Ÿฌ๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋‹ค.
TSV๋Š” ํƒญ์ด ๋ฐ์ดํ„ฐ์— ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๊ทนํžˆ ๋“œ๋ฌผ๊ธฐ ๋•Œ๋ฌธ์— ๋” ์•ˆ์ „ํ•˜๋‹ค.

์ƒํ™ฉ CSV TSV
๋ฐ์ดํ„ฐ์— ์‰ผํ‘œ๊ฐ€ ํฌํ•จ๋  ๋•Œ โš ๏ธ ๊ตฌ๋ถ„์ž๋ž‘ ๊ฒน์ณ์„œ ํŒŒ์‹ฑ ์—๋Ÿฌ ๊ฐ€๋Šฅ โœ… ํƒญ์€ ๋ฐ์ดํ„ฐ์— ๊ฑฐ์˜ ์•ˆ ๋‚˜์™€์„œ ์•ˆ์ „
๋ฐ์ดํ„ฐ์— ํƒญ์ด ํฌํ•จ๋  ๋•Œ โœ… ๋ฌธ์ œ์—†์Œ โš ๏ธ ๊ตฌ๋ถ„์ž๋ž‘ ๊ฒน์นจ (๊ทนํžˆ ๋“œ๋ฌธ ๊ฒฝ์šฐ)
๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ €์žฅ ๐ŸŸก ์“ธ ์ˆ˜ ์žˆ์ง€๋งŒ ์‰ผํ‘œ ํฌํ•จ ์‹œ ์ฃผ์˜ โœ… ๋กœ๊ทธ์— ์‰ผํ‘œ๊ฐ€ ๋งŽ์•„์„œ TSV๊ฐ€ ๋” ์•ˆ์ „
์ผ๋ฐ˜ ์ •ํ˜• ๋ฐ์ดํ„ฐ โœ… ๊ฐ€์žฅ ๋ณดํŽธ์  โœ… ๋™์ผํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

MSSQL์—์„œ TSV ๋‹ค๋ฃจ๊ธฐ

TSV ํŒŒ์ผ์„ MSSQL ํ…Œ์ด๋ธ”๋กœ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋Š” BULK INSERT์˜ ๊ตฌ๋ถ„์ž ์„ค์ •๋งŒ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋œ๋‹ค.

-- TSV ํŒŒ์ผ์„ MSSQL ํ…Œ์ด๋ธ”๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
BULK INSERT MyTable
FROM 'C:\data\sample.tsv'
WITH (
    FIELDTERMINATOR = '\t',   -- ํƒญ์œผ๋กœ ๊ตฌ๋ถ„ (CSV๋Š” ',')
    ROWTERMINATOR = '\n',     -- ์ค„๋ฐ”๊ฟˆ์œผ๋กœ ํ–‰ ๊ตฌ๋ถ„
    FIRSTROW = 2              -- ์ฒซ ํ–‰์ด ํ—ค๋”๋ฉด 2๋ถ€ํ„ฐ
)

๐Ÿ’กTSV = ํƒญ์œผ๋กœ ๋‚˜๋ˆˆ ํ…์ŠคํŠธ ํŒŒ์ผ.
                ๋ฐ์ดํ„ฐ์— ์‰ผํ‘œ๊ฐ€ ๋งŽ์ด ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ CSV ๋Œ€์‹  TSV๋ฅผ ์“ฐ๋ฉด ํŒŒ์‹ฑ ์—๋Ÿฌ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค!

 

 

์ „์ฒด ์•„ํ‚คํ…์ฒ˜ ํ•œ๋ˆˆ์— ๋ณด๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ ์„ค๋ช…ํ•œ ๊ฐœ๋…๋“ค์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜๋Š”์ง€ ์ „์ฒด ํ๋ฆ„์œผ๋กœ ์ •๋ฆฌํ•ด๋ดค๋‹ค.
๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์„œ ์ƒ๊ธฐ๊ณ , ์–ด๋–ค ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๋ฉฐ, ์–ด๋–ป๊ฒŒ ๊ฐ€๊ณต๋˜์–ด ์ตœ์ข…์ ์œผ๋กœ ์–ด๋””์„œ ํ™œ์šฉ๋˜๋Š”์ง€ ํ•œ๋ˆˆ์— ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

โœ… ์ฐธ๊ณ 
ETL์ด๋ž€?
Extract(์ถ”์ถœ) / Transform(๋ณ€ํ™˜) / Load(์ ์žฌ)์˜ ์•ฝ์ž์ด๋‹ค.
์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ด์–ด(E), ๋ถ„์„์— ๋งž๋Š” ํ˜•ํƒœ๋กœ ๊ฐ€๊ณตํ•˜๊ณ (T), ๋ชฉ์ ์ง€ DB์— ์ €์žฅํ•˜๋Š”(L) ์ „ ๊ณผ์ •์„ ๋งํ•œ๋‹ค.

 

 

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋กœ์„œ ์•Œ์•„๋‘๋ฉด ์ข‹์€ ํฌ์ธํŠธ

[โœ“] VM์€ ์‚ด์•„์žˆ๋Š” ์„œ๋ฒ„๋‹ค

์ ‘์†ํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆฌ๊ณ , ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋Š” ๋“ฑ ์ผ๋ฐ˜ ์„œ๋ฒ„์—์„œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
๋‹จ์ˆœ ์ €์žฅ์†Œ์ธ Blob๊ณผ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

[โœ“] Blob์€ ์ €์žฅ์†Œ์ผ ๋ฟ, ์—ฐ์‚ฐ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค

Blob์— ํŒŒ์ผ์„ ์˜ฌ๋ ค๋‘๊ณ  ๊ฑฐ๊ธฐ์„œ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์—†๋‹ค.
ํŒŒ์ผ์„ VM์ด๋‚˜ DW ์„œ๋ฒ„๋กœ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

[โœ“] ๋ฆฌ์ „๋ณ„ VM ๋ถ„๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์–ตํ•ด๋‘์ž

ํŠน์ • ์ง€์—ญ ๋ฐ์ดํ„ฐ์— ์ด์Šˆ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ, ์ „์ฒด๋ฅผ ๋’ค์ง€์ง€ ๋ง๊ณ  ํ•ด๋‹น ๋ฆฌ์ „ VM๋งŒ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค.
์žฅ์•  ๋ฒ”์œ„๋ฅผ ๋น ๋ฅด๊ฒŒ ํŠน์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘์š”ํ•œ ๊ตฌ์กฐ์ด๋‹ค.

[โœ“] azcopy ๊ธฐ๋ณธ ๋ช…๋ น์–ด๋Š” ๊ผญ ์ตํ˜€๋‘์ž

๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์„ VM ↔ Blob ์‚ฌ์ด์—์„œ ์˜ฎ๊ธธ ์ผ์ด ์ž์ฃผ ์ƒ๊ธด๋‹ค.
azcopy copy ๋ช…๋ น์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๊ณผ ์ธ์ฆ ๋ฐฉ์‹(SAS ํ† ํฐ)์€ ๋ฏธ๋ฆฌ ์ˆ™์ง€ํ•ด๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

[โœ“] DB ๋ณต์› ์ ˆ์ฐจ๋Š” ๋ฏธ๋ฆฌ ํ•œ ๋ฒˆ ๋”ฐ๋ผํ•ด๋ณด์ž

Blob์—์„œ .mdf / .ldf ๋ฅผ ๋‹ค์šด๋ฐ›์•„ MSSQL์— Attachํ•˜๋Š” ๊ณผ์ •์€ ์ฒ˜์Œ ํ•˜๋ฉด ์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.
๊ธด๊ธ‰ ์ƒํ™ฉ ์ „์— ๋ฏธ๋ฆฌ ์—ฐ์Šตํ•ด๋‘๋ฉด ์‹ค์ „์—์„œ ๋‹นํ™ฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

[โœ“] ๊ณ„์ • ์ „ํ™˜ ์‹œ ๊ถŒํ•œ์„ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•˜์ž

๋‹ค๋ฅธ ์‚ฌ๋žŒ ๊ณ„์ •์œผ๋กœ ํ•˜๋˜ ์ž‘์—…์„ ๋‚ด ๊ณ„์ •์œผ๋กœ ์ด๊ด€ํ–ˆ์„ ๋•Œ, ๋™์ผํ•œ IP ์žฅ๋น„๋ผ๋„ ํด๋” ์ ‘๊ทผ ๊ถŒํ•œ, ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ๊ถŒํ•œ, ๋„คํŠธ์›Œํฌ ๋“œ๋ผ์ด๋ธŒ ๋งˆ์šดํŠธ ๊ถŒํ•œ ๋“ฑ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.
์ด์ „์— ๋˜๋˜ ์ž‘์—…์ด ์•ˆ๋œ๋‹ค๋ฉด ๊ถŒํ•œ ๋ฌธ์ œ๋ฅผ ๋จผ์ € ์˜์‹ฌํ•˜์ž.

[โœ“] .ldf ํŒŒ์ผ์€ ์„ ํƒ์ด ์•„๋‹ˆ๋ผ ํ•„์ˆ˜

.mdf ๋งŒ ์žˆ์œผ๋ฉด ๋  ๊ฒƒ ๊ฐ™์ง€๋งŒ, MSSQL์€ .mdf + .ldf ๋‘˜ ๋‹ค ์žˆ์–ด์•ผ ์ •์ƒ ๋™์ž‘ํ•œ๋‹ค.
,mdf ๋งŒ์œผ๋กœ ๋ณต์›ํ•˜๋Š” ATTACH_REBUILD_LOG๋Š” ์‘๊ธ‰ ์ˆ˜๋‹จ์ผ ๋ฟ, ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ๊ฐ€ ์ „๋ถ€ ์œ ์‹ค๋œ๋‹ค.

 

 

References

์ฃผ์ œ ๋ฌธ์„œ ๋งํฌ
Azure VM ๊ฐœ์š” Azure Virtual Machines ๊ณต์‹ ๋ฌธ์„œ https://learn.microsoft.com/ko-kr/azure/virtual-machines/overview
Azure Blob Storage ๊ฐœ์š” Azure Blob Storage ์†Œ๊ฐœ https://learn.microsoft.com/ko-kr/azure/storage/blobs/storage-blobs-introduction
Blob Lifecycle ์ •์ฑ… Blob Storage ์ˆ˜๋ช… ์ฃผ๊ธฐ ๊ด€๋ฆฌ ์ •์ฑ… ๊ตฌ์„ฑ https://learn.microsoft.com/ko-kr/azure/storage/blobs/lifecycle-management-overview
azcopy ์‚ฌ์šฉ๋ฒ• azcopy ์‹œ์ž‘ ๊ฐ€์ด๋“œ https://learn.microsoft.com/ko-kr/azure/storage/common/storage-use-azcopy-v10
azcopy ์ธ์ฆ azcopy ์ธ์ฆ ๋ฐฉ๋ฒ• (SAS ํ† ํฐ / Azure AD) https://learn.microsoft.com/ko-kr/azure/storage/common/storage-use-azcopy-authorize-user-identity?tabs=windows
MSSQL .mdf / .ldf SQL Server ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ ๋ฐ ํŒŒ์ผ ๊ทธ๋ฃน https://learn.microsoft.com/ko-kr/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-ver17
MSSQL DB Attach ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„๋ฆฌ ๋ฐ ์—ฐ๊ฒฐ (Attach/Detach) https://learn.microsoft.com/ko-kr/sql/relational-databases/databases/database-detach-and-attach-sql-server?view=sql-server-ver17
Azure ๋ฆฌ์ „ Azure ์ง€์—ญ(Region) ์ดํ•ดํ•˜๊ธฐ https://learn.microsoft.com/ko-kr/azure/reliability/availability-zones-overview?tabs=azure-cli
ETL ๊ฐœ๋… ETL(์ถ”์ถœ, ๋ณ€ํ™˜, ๋กœ๋“œ) ์ดํ•ดํ•˜๊ธฐ https://learn.microsoft.com/ko-kr/azure/architecture/data-guide/relational-data/etl

 

'๐Ÿ“ฆ Cloud > ๐Ÿ—‚๏ธ Azure' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Azure] ํ˜ผ์ž ๋‹ค ํ•˜๋˜ MSSQL, ๋‚˜๋ˆ ์„œ ํ•˜๋Š” ADX  (0) 2026.06.01