๐Ÿณ Docker study 5th

The New Standard for Big Data Management: ADLS2 and Docker Integration Guide

by Arielle


Docker Study

์ง€๋‚œ์ฃผ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ๋กœ์ปฌ๊ณผ ๊ฐ€์ƒ๋จธ์‹ ์˜ ์—ฐ๊ฒฐ์„ ํ†ตํ•ด Dockerfile, Image, Container๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ๋…ํŠนํ•˜๊ฒŒ Microsoft Azure์€ ๊ฐ€์ƒ์—ฐ๊ฒฐ ๋ฐฉ์‹ ์™ธ์—๋„ ADLS2(Azure Data Lake Storage Gen2)๋ผ๋Š” ์ผ๋ช… ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ํ”Œ๋žซํผ์„ ์šด์˜ํ•˜๊ณ  ์žˆ๋‹ค.

์‚ฌ์‹ค ADLS2? ๊ณต๋ถ€ํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋“ค์–ด๋ณธ ์ ๋„ ์—†๋Š” ์นœ๊ตฌ์˜€๋‹ค. ํ˜น์‹œ ์˜ค๋Š˜์˜ ํฌ์ŠคํŒ…์„ ๋“ค์–ด๊ฐ€๊ธฐ ์•ž์„œ โ€œADLS2? ๊ผญ ์•Œ์•„์•ผ ๋˜๋‚˜?๐Ÿ˜ฌโ€ ๋ผ๊ณ  ๋– ์˜ฌ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. โ€˜Data Lakeโ€™๋ผ๋Š” ๊ฐœ๋…์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„, ๋จธ์‹ ๋Ÿฌ๋‹, IoT, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋“ฑ ์‹ค์ œ ์ด ADLS๋ฅผ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ์—…๋“ค์ด ๋งŽ์•„์ง„ ๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ดค์„ ๋•Œ, Docker๊ฐ™์€ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ๊ณต๋ถ€ํ•˜๋Š” ์ž…์žฅ์—์„œ ์ด๋Š” ๋ถ„๋ช… ์‹œ๋„ˆ์ง€๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค!

์˜ค๋Š˜์€ ์ด ADLS2๊ฐ€ ๋„๋Œ€์ฒด ์–ด๋–ค ์—ญํ• ์„ ํ•˜๊ณ , ์™œ ์šฐ๋ฆฌ๊ฐ€ ์•Œ์•„๋‘๋ฉด ์ข‹์„์ง€, ๊ทธ๋ฆฌ๊ณ  Docker์™€์˜ ์—ฐ๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”์ง€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐ ํ•ด๋ณด๋„๋ก ํ•œ๋‹ค!๐Ÿš€


1. Connecting Azure Storage Account with Blobfuse

Azure Storage Account๋Š” Microsoft Azure์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ์ด ์ €์žฅ์†Œ๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ๊ธฐ์—…์ด๋‚˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•„์š”์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์†์‰ฝ๊ฒŒ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ํ”Œ๋žซํผ ์ •๋„๋กœ ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜๋Š” ๊ทธ ์ค‘ ํŠนํžˆ โ€˜Blob Storageโ€™๋ฅผ ์ด์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด ๋‘์—ˆ๋Š”๋ฐ ์ƒ๊ฐ๋ณด๋‹ค ๋˜๊ฒŒ ์ข‹์•˜๋˜ ์ ์€ ์ด๋ฏธ์ง€, ์Šคํฌ๋ฆฝํŠธํŒŒ์ผ(python, c, c++ etc.), ํ…์ŠคํŠธํŒŒ์ผ, ์—‘์…€ํŒŒ์ผ ๋“ฑ ์ง„์งœ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“  ๋ชจ๋‘ ์˜ฌ๋ ค๋‘๊ณ  ๋‚ด๊ฐ€ ๊ฐ€์ƒํ™˜๊ฒฝ์—์„œ ์ž‘์—…์„ ํ•˜๋˜, ๋กœ์ปฌ์—์„œ ์ž‘์—…์„ ํ•˜๋˜ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. (์•ž์œผ๋กœ๋Š” ๊ฐ€์ ธ์˜จ๋‹ค๋Š” ๊ฐœ๋…์„ ๋งˆ์šดํŠธ(mount)๋ผ๊ณ  ์ •๋ฆฌํ• ๊ฒŒ์š”!) ๊ทธ๋ฆฌ๊ณ  ์ฐธ๊ณ ๋กœ ์•„์ง์€ ๋ฌด์—‡์ธ์ง€ ์ž˜ ๊ฐ์ด ์•ˆ์žกํžˆ๋Š” ์ด โ€˜Blob Storageโ€™์— โ€˜Data Lakeโ€™ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ด ๋งŒ๋“ค์–ด์ง„ ๊ฒƒ์ด ๋ฐ”๋กœ ์ด๋ฒˆ ํฌ์ŠคํŒ…์˜ ํ‚ค์›Œ๋“œ, ADLS์ธ ๊ฒƒ์ด๋‹ค!

๊ทธ๋Ÿผ ์ง€๊ธˆ๋ถ€ํ„ฐ ๋‹จ๊ณ„๋ณ„๋กœ ์–ด๋–ป๊ฒŒ Storage Account๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ€์ƒํ™˜๊ฒฝ๊ณผ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์ด์–ด์„œ ์ด์•ผ๊ธฐํ•ด๋ณด๋ก ํ•˜๊ฒ ๋‹ค!

1.1 Creating a Storage Account

๊ฐ€์žฅ ๋จผ์ € ํ•ด์•ผ ํ•  ์ผ์€ Azure์—์„œ Storage Account๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์„ ๋ณด๋ฉด 500TB๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•˜๋‹ˆ ์›ฌ๋งŒํ•œ ๋น…๋ฐ์ดํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ๋Š” ํฐ ๋ฌด๋ฆฌ๊ฐ€ ์—†์„ ๊ฒƒ ๊ฐ™๋‹ค.

Descriptive Alt Text

Storage Account๋ฅผ ์ดˆ๊ธฐ ์ƒ์„ฑํ•  ๋•Œ ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์„ธ๋ถ€์ ์ธ ์กฐ๊ฑด๋“ค์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋Š” โ€˜kaggleaccountshโ€™๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๋‹ค.

Descriptive Alt Text

ํ•˜๋‹จ์˜ Review + create๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋‹ค์Œ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋˜๊ณ  ํ•ด๋‹น storage ์ ‘๊ทผ ๋ฐฉ์‹๋„ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋‚˜๋Š” key ๋ฐฉ์‹์œผ๋กœ ์„ ํƒํ•ด์ฃผ์—ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•œ๊ฐ€์ง€ ์ค‘์š”ํ•œ ํฌ์ธํŠธ๋Š” ๋ฐ”๋กœ Enable hierarchical namespace๋ฅผ ํ™œ์„ฑํ™” ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ด ์˜ต์…˜์˜ ํ™œ์„ฑํ™” ์—ฌ๋ถ€๋Š” ์ •ํ™•ํžˆ ์–ด๋–ค ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ํ•„์š”ํ•œ์ง€์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์Šคํ† ๋ฆฌ์ง€ ์ƒ์„ฑ ๊ณผ์ •์—์„œ ์ด ์˜ต์…˜์„ ์„ ํƒํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค!

๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ๋จธ๋ฆฟ์†์— ํฉ์–ด์ ธ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ๋…๋“ค์„ ์„ ์ •๋ฆฌํ•˜๊ณ  ๊ฐ€์•ผํ•œ๋‹ค. Blob Storage ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด๋„๋ก ํ•œ๋‹ค!

Descriptive Alt Text


๐Ÿ—‚๏ธย Blob Storage

#๊ธฐ๋ณธ ์ค‘์˜ ๊ธฐ๋ณธ

Blob Storage๋Š” ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ(์ด๋ฏธ์ง€, ๋™์˜์ƒ, ๋กœ๊ทธ ํŒŒ์ผ ๋“ฑ)๋ฅผ ์ €์žฅํ•˜๋Š” Azure์˜ ๊ธฐ๋ณธ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค์ด๋‹ค๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ๊ฐ„๋‹จํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ธ๋ฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋”๋ผ๋„ ์–ธ์ œ๋“  ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๊ณ  ์—ฌ๋Ÿฌ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์™€๋„ ์ž˜ ์—ฐ๋™๋œ๋‹ค. ๋‹จ์ˆœํ•œ ๊ตฌ์กฐ์™€ ๋”๋ถˆ์–ด ํ™•์žฅ๊ฐ€๋Šฅ์„ฑ์ด ๊ฐ€์žฅ ํฐ ๋ฉ”๋ฆฌํŠธ์ด์ง€๋งŒ ์˜คํžˆ๋ ค ์ด ์žฅ์ ์œผ๋กœ ์ธํ•ด ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค.

์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด๋ณด๋ฉด ์ด๋ ‡๋‹ค. ๋งŒ์•ฝ ๋‚ด๊ฐ€ ํŠน์ • ํŒŒ์ผ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋ฐ”๋กœ ํ•ด๋‹น ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๊ณ  ๋งจ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ํ•˜๋‚˜์”ฉ ๊ทธ ํŒŒ์ผ์„ ์ฐพ์œผ๋Ÿฌ ๋‚˜์„œ์•ผ ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค. ๊ทธ๋ž˜์„œ Hierarchical Namespace ๊ฐœ๋…์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ ๊ฒƒ์ด๊ณ . ๋Œ€๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ํ™•์žฅ์„ฑ์˜ ๊ฐ•์ ์ธ Blob Storage์— ์ด Hierarchical Namespace ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ด ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค.


๐Ÿ—‚๏ธย Hierarchical Namespace

#๊น”๋”ํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์˜ ๋น„๊ฒฐ

Hierarchical Namespace(๊ณ„์ธต์  ๋„ค์ž„์ŠคํŽ˜์ด์Šค)๋Š” ๋ง ๊ทธ๋Œ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์ธต์ ์ธ ํด๋” ๊ตฌ์กฐ๋กœ ์ •๋ฆฌํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์ปดํ“จํ„ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด ๊ทธ ์•ˆ์— ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค์„ ์ •๋ฆฌํ•ด ๋‘๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์Šคํ† ๋ฆฌ์ง€ ๊ณต๊ฐ„ ์•ˆ์—์„œ๋„ ํด๋”(์—ฌ๊ธฐ์„œ๋Š” Container๋ผ๊ณ  ๋ถ€๋ฆ„. ๋‹จ, ๋„์ปค์˜ ๊ฐ€์ƒํ™˜๊ฒฝ Container์™€ ์ด๋ฆ„๋งŒ ๋˜‘๊ฐ™๊ณ  ๊ธฐ๋Šฅ์€ ์™„์ „ํžˆ ๋‹ค๋ฆ„!)๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์—์„œ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์Šคํ† ๋ฆฌ์ง€ ์ƒ์„ฑ ๊ณผ์ •์—์„œ ํ•ด๋‹น ์˜ต์…˜์„ ์„ ํƒํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ด๊ฒŒ ์™œ ๊ทธ๋Ÿด๊นŒ?

์ผ๋ฐ˜์ ์ธ Blob Storage์—์„œ๋Š” ํŒŒ์ผ๋“ค์ด ํ‰๋ฉด์ ์ธ ๊ตฌ์กฐ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒŒ ๋ฌด์Šจ ๋œป์ด๋ƒ ํ•˜๋ฉด ํŒŒ์ผ์ด ๊ณ„์ธต์ ์ธ ํด๋” ๊ตฌ์กฐ๋กœ ์ €์žฅ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŒŒ์ผ ๊ฒฝ๋กœ๊ฐ€ ๊ทธ์ € ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด์ฒ˜๋Ÿผ ์ฒ˜๋ฆฌ๋œ๋‹ค๋Š” ๋ง์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด /dockercourse/python/run.py๋ผ๋Š” ๊ฒฝ๋กœ๋ฅผ ๋ณด๋ฉด python์ด ํด๋”์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, Blob Storage์—์„œ๋Š” ์‹ค์ œ๋กœ ํด๋”๊ฐ€ ์•„๋‹ˆ๋‹ค! ์ด ๊ฒฝ๋กœ ์ „์ฒด๊ฐ€ ํŒŒ์ผ ์ด๋ฆ„์˜ ์ผ๋ถ€์ผ ๋ฟ, python์ด๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ ์ž์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹Œ ์ ์„ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

์œ„์—์„œ ์–ธ๊ทธํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๋Š” Hierarchical Namespace๋ฅผ ์‚ฌ์šฉํ•ด Blob Storge๋ฅผ ADLS2์ฒ˜๋Ÿผ ํด๋” ๊ตฌ์กฐ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ Microsoft Azure Storage Explorer์„ ์ด์šฉํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ํด๋”์˜ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค. mounteddrive ํด๋”๊ฐ€ ๋ฐ”๋กœ Hierarchical Namespace๋ฅผ ํ™œ์šฉํ•ด ๋งŒ๋“ค์–ด์ง„ ํด๋”์ธ ๊ฒƒ์ด๋‹ค!

Descriptive Alt Text


๐Ÿ—‚๏ธย ADLS2

#ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€์˜ ๊ฒŒ์ž„ ์ฒด์ธ์ € #์ž์œจ์ฃผํ–‰ ํ”„๋กœ์ ํŠธ

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

์ž์œจ์ฃผํ–‰ ํ”„๋กœ์ ํŠธ์ฒ˜๋Ÿผ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ณ  ๋น„์šฉ ๊ด€๋ฆฌ์™€ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ๊นŒ์ง€ ์‹ ๊ฒฝ์จ์•ผ ๋˜๋Š” ๋ถ„์•ผ๋Š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ฐจ๋Ÿ‰์—์„œ ์ˆ˜์ง‘๋˜๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ์„ผ์„œ ๋ฐ์ดํ„ฐ, ๋น„๋””์˜ค ์ŠคํŠธ๋ฆผ, ์ฃผํ–‰ ๊ธฐ๋ก ๋“ฑ์„ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์Šคํ† ๋ฆฌ์ง€๋กœ ๊ด€๋ฆฌํ•  ์ ˆ๋Œ€์ ์ธ ํ•„์š”๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ADLS2 (Azure Data Lake Storage Gen2)๋Š” ์ด ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ์˜ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค.

ADLS2๋Š” ๋งˆ์น˜ ์ž์œจ์ฃผํ–‰ ์‹œ์Šคํ…œ์˜ ์ •๋ˆ๋œ ๋„๋กœ์™€ ๊ฐ™๋‹ค. Hierarchical Namespace ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์น˜ ๋„๋กœ ์œ„์˜ ๊ตํ†ต ํ๋ฆ„์ฒ˜๋Ÿผ ์ฒด๊ณ„์ ์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ž์œจ์ฃผํ–‰์—์„œ ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋น„๋””์˜ค ํ”ผ๋“œ, ๋ผ์ด๋‹ค(LiDAR) ๋ฐ์ดํ„ฐ, ์„ผ์„œ ๊ฐ’ ๋“ฑ ๋งค์šฐ ๋‹ค์–‘ํ•œ๋ฐ, ADLS2๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํด๋” ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ฆฌํ•ด ๋งˆ์น˜ ๋„๋กœ ๊ตฌ์—ญ์„ ๋‚˜๋ˆ„๋“ฏ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„๋ฅ˜ํ•˜๊ณ  ์ฒด๊ณ„์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ์กด์˜ ๋ฐฉ์‹์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๊ณณ์— ํ‰๋ฉด์ ์œผ๋กœ ์Œ“์•„๋‘์–ด ์ฐพ๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ๋‹ค๋ฉด ADLS2๋Š” ๊ณ„์ธต์  ํด๋” ๊ตฌ์กฐ ๋•๋ถ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ํด๋”๋ฅผ ์ฐพ๋Š” ์‹œ๊ฐ„ ์ ˆ์•ฝ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ž์œจ์ฃผํ–‰ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์–ด๋–ค ํ•œ ํŒ€์€ ์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‹ค๋ฅธ ํŒ€์€ ๋น„๋””์˜ค ํ”ผ๋“œ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์—ฌ๋Ÿฌ ํŒ€์ด ๋™์‹œ์— ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ„๋ช…ํ•œ ๊ฑด ๋ชจ๋“  ํŒ€์ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ํ•„์š”๋Š” ์—†๋‹ค! ADLS2๋Š” โ€˜Granular Access Controlโ€™ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํŠน์ • ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.

์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ํŒ€์€ ๊ทธ ๋ฐ์ดํ„ฐ์—๋งŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ  ๋น„๋””์˜ค ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํŒ€์€ ํ•ด๋‹น ์˜์—ญ์—๋งŒ ์ ‘๊ทผํ•˜๋„๋ก ์„ค์ •ํ•ด ๋ฐ์ดํ„ฐ ๋ณด์•ˆ์ด ๊ฐ•ํ™”๋˜๊ณ  ํŒ€๋ณ„๋กœ ํ•„์š”ํ•œ ์ •๋ณด๋งŒ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์–ด ํšจ์œจ์ ์ธ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

์ž์œจ์ฃผํ–‰์€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋งŒํผ ์–ธ์ œ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธ‰์ฆํ•  ์ˆ˜ ์žˆ์–ด ์ €์žฅ ์šฉ๋Ÿ‰์„ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๊ธฐ์กด ๋ฐฉ์‹์—์„œ๋Š” ์šฉ๋Ÿ‰์„ ํฌ๊ฒŒ ์„ค์ •ํ•ด๋‘๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๊ณต๊ฐ„์— ๋Œ€ํ•ด์„œ๋„ ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์•ผ ํ–ˆ์ง€๋งŒ ADLS2๋Š” ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ๋น„์šฉ์„ ์ง€๋ถˆํ•˜๋ฉด ๋œ๋‹ค.

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


๋‹ค์‹œ storage account ์ƒ์„ฑ์œผ๋กœ ๋Œ์•„์™€ ์ด์•ผ๊ธฐ๋ฅผ ์ด์–ด๋‚˜๊ฐ€๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ์ƒ์„ฑ ์ž‘์—…์ด ๋๋‚˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด Storage accounts์— ๋‚ด๊ฐ€ ๋งŒ๋“  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ƒ์„ฑ๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ์ž‘์—…์ด ์ด ์ปจํ…Œ์ด๋„ˆ ์•ˆ์— ์œ„์—์„œ ์ •๋ฆฌํ•œ Hierarchical Namespace ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ํด๋”๋“ค์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋Š” mountedrive๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ํด๋”๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๊ณ , ์‹ค์ œ๋กœ ๋กœ์ปฌ์˜ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ํ•ด๋‹น ํด๋”์— ์—…๋กœ๋“œํ•ด์ฃผ์—ˆ๋‹ค.

Descriptive Alt Text

Descriptive Alt Text

1.2 Connecting a Storage Account to a Virtual Machine

Blob Storage๋ฅผ ๊ฐ€์ƒ๋จธ์‹ ๊ณผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํฌ๊ฒŒ ์„ธ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

1๏ธโƒฃย ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ ๋‚˜๋Š” Ubuntu ํŒจํ‚ค์ง€(์ฝ”๋“œ ์ฐธ๊ณ  ๐Ÿ‘‰Configure the Microsoft package repository)๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

๊ทธ ์ „์— ๋จผ์ € cat /etc/os-release ๋กœ ์—ฐ๋™ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฐ€์ƒ๋จธ์‹ ์˜ ์šด์˜์ฒด์ œ๋ฅผ ํ™•์ธํ•ด ์ฃผ์—ˆ๋‹ค. ๋ณด๋ฉด ๋‚˜์˜ ๊ฐ€์ƒ๋จธ์‹ ์€ Ubuntu 22.04 ๋ฒ„์ „์œผ๋กœ ๋‚˜์˜จ๋‹ค. ์ดํ›„ sudo wget https://packages.microsoft.com/config/ubuntu/<VERSION_ID ๋„ฃ๊ธฐ>/packages-microsoft-prod.deb ๋กœ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค!

Descriptive Alt Text

์ด์–ด์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๊ฐ๊ฐ ์‹คํ–‰ํ•ด์ฃผ๋ฉด ๊ธฐ๋ณธ์ ์ธ ํŒจํ‚ค์ง€ ์„ค์น˜๋Š” ์™„๋ฃŒ๋œ๋‹ค.

sudo dpkg -i packages-microsoft-prod.deb , sudo apt-get update

Descriptive Alt Text

2๏ธโƒฃย ์ดํ›„ ๊ฐ€์ƒ๋จธ์‹ ์— Storage Account์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด ์ฃผ์—ˆ๋‹ค. mkdir mycontainer, mkdir blobfuse ๋กœ ๋จผ์ € ํด๋”๋ฅผ ์ƒ์„ฑํ–ˆ๊ณ  ์ดํ›„ /blobfuse/ ํ•˜์œ„ ๊ฒฝ๋กœ์— blobfuse.cfg ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๋‹ค.

blobfuse.cfg ํŒŒ์ผ์€ Blob Storage์— ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์„ค์ • ํŒŒ์ผ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์ด ํŒŒ์ผ ์•ˆ์— Storage Account์™€ Container์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋“ค์„ ๋‹ด์•„ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค! ( ์ฝ”๋“œ์ฐธ๊ณ  ๐Ÿ‘‰ย Authorize access to your storage account)

Descriptive Alt Text

Storage Account ์ด๋ฆ„, ํ‚ค, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„์„ ์„ค์ •ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์€ keyย ๋ฐฉ์‹์œผ๋กœ ์ธ์ฆํ•œ๋‹ค๋Š” ๋œป์ด๋‹ˆ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋‘๋ฒˆ์งธ account key๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” Azure ์—์„œ Storage accounts > ์ƒ์„ฑํ•œ storage ๋กœ ์ ‘๊ทผ ํ›„ Security +networking > Access keys ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ณด๋ฉด key 1,2๊ฐ€ ์žˆ๋Š”๋ฐ ์ฒซ๋ฒˆ์งธ ํŒŒ๋ž‘์ƒ‰ ์ค„๋กœ ํ‘œ์‹œํ•ด ๋†“์€ ํ‚ค๋ฅผ ๋ณต์‚ฌํ•ด์„œ nano ํŽธ์ง‘๊ธฐ์— ๋ถ™์—ฌ ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

Descriptive Alt Text

3๏ธโƒฃย nano ํŽธ์ง‘๊ธฐ๋กœ ํŒŒ์ผ์„ ์ž˜ ์ €์žฅ ํ›„ blobfuse ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Blob Storage๋ฅผ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋งˆ์šดํŠธ ํ•ด์ฃผ์—ˆ๋‹ค. ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค!

blobfuse <Blob Storage๋ฅผ ๋งˆ์šดํŠธํ•  ๋กœ์ปฌ ๊ฒฝ๋กœ> --tmp-path=<blobfuse๊ฐ€ ์‚ฌ์šฉํ•  ์ž„์‹œ ์ €์žฅ ๊ฒฝ๋กœ> --config-file=/<์œ„์—์„œ ์ƒ์„ฑํ•œ nano.cfg ํŒŒ์ผ ๊ฒฝ๋กœ>

์•ž์˜ ์„ธ ๋‹จ๊ณ„๋ฅผ ๋ฌด์‚ฌํžˆ ์ง„ํ–‰ํ–ˆ๋‹ค๋ฉด ๊ฐ€์ƒ๋จธ์‹ ์—์„œ๋„ โ€˜ADSL2 ํŒŒ์ผ ์—…๋กœ๋“œ ์‹ค์Šต ์ค‘ .txtโ€™ ๋ผ๋Š” ํด๋”๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ํŒŒ์ผ์€ ์šฐ๋ฆฌ๊ฐ€ ์•ž์„œ Azure Storage Account > mounteddrive ํด๋”์— ์—…๋กœ๋“œ ํ•ด๋‘” ํŒŒ์ผ์ด๋‹ค! ์—ฐ๋™์ด ์ตœ์ข…์ ์œผ๋กœ ์ž˜ ๋˜์—ˆ๋‹ค! ๐Ÿ˜†

Descriptive Alt Text

Descriptive Alt Text


2. Using Azure Storage Explorer

Azure Storage Explorer๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ๋ฅผ GUI๋ฅผ ํ†ตํ•ด ๋” ์‰ฝ๊ฒŒ ์ปจํŠธ๋กคํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚˜๋Š” ๋งฅ๋ถ์„ ์‚ฌ์šฉํ•˜๊ธฐ์— macOS arm64๋กœ ์„ค์น˜ํ•ด ์ฃผ์—ˆ๋‹ค. ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค๋„ ์žˆ์œผ๋‹ˆ ๋ณธ์ธ์˜ ๋กœ์ปฌ ์šด์˜์ฒด์ œ์— ๋งž๊ฒŒ ์„ค์น˜ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ์„ค์น˜ ๋ฐฉ๋ฒ•์€ ์‰ฌ์šฐ๋‹ˆ ์ฒœ์ฒœํžˆ ํ•˜๋ฉด ํฐ ์–ด๋ ค์›€ ์—†์ด ์ง„ํ–‰๋  ๊ฒƒ์ด๋‹ค. ์•„๋ž˜๋Š” ์„ค์น˜ ํ›„ ์ดˆ๊ธฐ ํ™”๋ฉด์ด๋‹ค!

Descriptive Alt Text

<1.2 Connecting a Storage Account to a Virtual Machine> ์—์„œ๋Š” Storage Account์™€ ๊ฐ€์ƒ๋จธ์‹  ๊ฐ„์˜ ์—ฐ๋™์„ ์ง„ํ–‰ํ–ˆ์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ด Azure Storage Explorer์™€ Storage Account๊ฐ„์˜ ์—ฐ๋™์„ ํ•ด๋ณด์•˜๋‹ค. Explorer ์—ฐ๋™ ๋ฐฉ์‹์€ 1๏ธโƒฃย KEY ๋ฐฉ์‹, 2๏ธโƒฃย SAS(Shared Access Signature) ๋ฐฉ์‹, 3๏ธโƒฃย RBAC(Role Based Access Control) ๋ฐฉ์‹ ์ด ์„ธ๊ฐ€์ง€๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.(์‚ฌ์‹ค ๋” ๋งŽ๋‹ค! ๐Ÿ‘‰ย Authorization mechanisms)

โ€˜์—ฐ๋™ํ•˜๋Š”๋ฐ ๊ผญ ์„ธ๊ฐ€์ง€๋‚˜ ์•Œ์•„์•ผ ๋˜๋‚˜?โ€™ ๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ดํ•ดํ•œ๋‹ค. ๋‚˜์—ญ์‹œ ์ผ๋‹จ ํ•˜๋‚˜๋ผ๋„ ์ •ํ™•ํžˆ ์•Œ์ž ์ฃผ์˜๋‹ˆ๊นŒ ๋ง์ด๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์„ธ๊ฐ€์ง€ ๋ฐฉ์‹์„ ๋ชจ๋‘ ์†Œ๊ฐœํ•˜๋Š” ์ด์œ ๋Š” ๊ฐ๊ฐ์˜ ๋ฐฉ์‹๋“ค์ด ๊ฐ€์ง„ ์žฅ๋‹จ์ ์ด ๋ช…ํ™•ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋‚ด๊ฐ€ ์–ด๋–ค ํ™˜๊ฒฝํ™˜๊ฒฝ์—์„œ Storage Account๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ ์ง€ ์‚ฌ์‹ค ์•„๋ฌด๋„ ๋ชจ๋ฅธ๋‹ค. ๋ฐ์ดํ„ฐ ๊ถŒํ•œ ๋ฌธ์ œ๋„ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ , ๋ณด์•ˆ ๋ฌธ์ œ, ์–ด์ฉŒ๋ฉด ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํŒ€์— ๋„˜๊ฒจ์•ผ ํ•˜๋Š” ์‹œ๊ฐ„ ๋ฌธ์ œ๋„ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋ฌด์กฐ๊ฑด ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•๋งŒ ๊ณ ์ง‘ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์‹์„ ์•Œ์•„๋‘๊ณ  ์ƒํ™ฉ์— ๋งž๊ฒŒ ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์ฒ˜ํ•˜๋Š” ๊ฒƒ์ด ๋” ์„ผ์Šค์žˆ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ธธ์ด ์•„๋‹๊นŒ?

2.1 Key

์ฒซ๋ฒˆ์งธ๋Š” 1๏ธโƒฃย KEY ๋ฐฉ์‹์ด๋‹ค. ๋ง ๊ทธ๋Œ€๋กœ Storage ๊ณ„์ •์˜ Access key๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ •์— ๋Œ€ํ•ด ์ „์ฒด ๊ถŒํ•œ์„ ๋ถ€์—ฌ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฐฉ์‹์˜ ์ตœ๋Œ€ ์žฅ์ ์€ ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์–ด๋Š ํ™˜๊ฒฝ์—์„œ๋“  ํ•ด๋‹น ์Šคํ† ๋ฆฌ์ง€์˜ ํ‚ค๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ๋ˆ„๊ตฌ๋“  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ์‹์—๋Š” ๋ณด์•ˆ ๋ฆฌ์Šคํฌ๊ฐ€ ๋”ฐ๋ฅธ๋‹ค. Access Key์™€ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ •์ด ์ผ๋Œ€์ผ๋กœ ๋Œ€์‘๋˜๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค๊ฐ€ ์œ ์ถœ๋  ๊ฒฝ์šฐ ๊ณ„์ • ์ „์ฒด์˜ ๋ณด์•ˆ์ด ์œ„ํ—˜ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์žฅ์ ๋ณด๋‹ค ๋‹จ์ ์ด ๋” ์ปค๋ณด์ด๋Š” ์ด ๋ฐฉ์‹์„ ๊ทธ๋Ÿผ ๋Œ€์ฒด ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ? ์ฃผ๋กœ ํ…Œ์ŠคํŠธ๋‚˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ฒ˜๋Ÿผ ์‹œ๊ฐ„ ํšจ์œจ์„ฑ์ด ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ์œ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ถ„๋ช… ๋น ๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ๋Š” ์œ ๋ฆฌํ•˜์ง€๋งŒ, ์ƒ์‚ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์ด๋‹ค. ๊ทธ๋Ÿฌ๋‹ˆ ๋ณด์•ˆ์ด ์ค‘์š”ํ•œ ๊ณณ์—์„œ๋Š” ๋‹ค๋ฅธ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค!

์—ฐ๋™ ๋ฐฉ๋ฒ•๋„ ๊ฝค ๊ฐ„๋‹จํ•œ ํŽธ์ด๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ์›ํ•˜๋Š” Storage Account๋ฅผ ์šฐํด๋ฆญ(Connect to Azure Storage) ํ•˜๋ฉด ํŒ์—…์ฐฝ์ด ๋œจ๋Š”๋ฐ โ€˜Storage account or serviceโ€™ ์˜ต์…˜์„ ์„ ํƒํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

Descriptive Alt Text

์—ฐ๊ฒฐ ๋ฐฉ์‹์€ ๋‹น์—ฐํžˆ โ€˜Connection string(Key or SAS)โ€™๋ฅผ ์„ ํƒํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.

Descriptive Alt Text

๊ทธ๋Ÿฌ๋ฉด โ€˜Connecting Stringโ€™ ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ผ๋Š” ํŒ์—…์ด ๋œจ๊ฒŒ ๋˜๋Š”๋ฐ, ํ•ด๋‹น ํ‚ค๋Š” ์•„๋ž˜ ์‚ฌ์ง„์„ ์ฐธ๊ณ ํ•ด ๋ถ™์—ฌ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค! ์ฐธ๊ณ ๋กœ Display name์€ ํ‚ค๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™ ์ƒ์„ฑ๋˜๋‹ˆ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š”๋Œ€๋กœ ์ˆ˜์ •ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.

Descriptive Alt Text

Descriptive Alt Text


๐Ÿ‘‡ย summary(Key)

  • Description : Storage Account์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ ‘๊ทผ.
  • Pros: ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ. ํ‚ค๋งŒ ์žˆ์œผ๋ฉด ์–ด๋Š ํ™˜๊ฒฝ์—์„œ๋“  ์Šคํ† ๋ฆฌ์ง€์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•จ!
  • Cons: ๋ณด์•ˆ ์œ„ํ—˜์ด ํผ. Access Key๊ฐ€ ์ „์ฒด Storage ๊ณ„์ •๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด ํ‚ค๊ฐ€ ์œ ์ถœ๋˜๋ฉด ๊ณ„์ • ์ „์ฒด๊ฐ€ ์œ„ํ—˜ํ•ด์งˆ ์ˆ˜ ์žˆ์Œ.
  • When to Use? : ํ…Œ์ŠคํŠธ๋‚˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ๋น ๋ฅด๊ฒŒ ์—ฐ๊ฒฐ์ด ํ•„์š”ํ•  ๋•Œ ์œ ์šฉํ•˜์ง€๋งŒ ๊ทธ์™ธ(์šด์˜)์˜ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ.

2.2 SAS

2๏ธโƒฃย SAS(Shared Access Signature)์€ ํ† ํฐ์„ ์ด์šฉํ•ด Storage Account ์ „์ฒด๊ฐ€ ์•„๋‹Œ ๋‚ด๋ถ€์˜ ํด๋” ์ฆ‰ Container ๋ณ„๋กœ ์ œํ•œ๋œ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํŠน์ • Container์— ๋Œ€ํ•ด ์ฝ๊ธฐ, ์“ฐ๊ธฐ ๋“ฑ์˜ ์ˆ˜์ • ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์–ด ๊ฝค ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค. ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ๋„ ์ข‹์€ ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹น์—ฐํžˆ Key ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ Container ํ•˜๋‚˜ํ•˜๋‚˜๋ฅผ ์›ํ•˜๋Š” ๋Œ€๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด ๋ณด์•ˆ์„ฑ ์ธก๋ฉด์—์„œ ํ›จ์”ฌ ์•ˆ์ „ํ•œ ๊ฒƒ์ด ์‚ฌ์‹ค์ด๋‹ค. ๋‹จ์ ์€ ํ† ํฐ์˜ ํŠน์„ฑ ์ƒ ๊ธฐ๊ฐ„ ๋งŒ๋ฃŒ๋ฅผ ์‹ ๊ฒฝ ์จ์•ผ ํ•˜์ง€๋งŒ ๋ณด์•ˆ ์ธก๋ฉด์˜ ์žฅ์ ์ด ๋” ์ปค๋ณด์ด๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

์•„๋ž˜๋Š” โ€˜mounteddrive2โ€™๋ผ๋Š” ์ƒˆ๋กœ์šด Container๋ฅผ ๋งŒ๋“ค์–ด SAS ๋ฐฉ์‹์„ ์‹ค์Šตํ•ด ๋ณธ ์‚ฌ์ง„์ด๋‹ค. Settomgs > Shared access tockens ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ํ† ํฐ์˜ ๊ธฐ๊ฐ„์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ํšŒ์‚ฌ ์™ธ๋ถ€ ํŒŒํŠธ๋„ˆ ํ˜น์€ ์ž„์‹œ ํ…Œ์ŠคํŠธ ํ”„๋กœ๊ทธ๋žจ ์ƒ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ๋•Œ, ๊ทธ ๋•Œ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์ผ์‹œ์ ์œผ๋กœ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. (ํ•ด๋‹น ํŽ˜์ด์ง€ ํ•˜๋‹จ์˜ โ€˜Blob SAS URLโ€™๋กœ ์—ฐ๊ฒฐ ์ง„ํ–‰!)

Descriptive Alt Text

Azure Storage Explorer์—์„œ๋Š” โ€˜ADLS Gen2 container or directoryโ€™ ์˜ต์…˜์„ ์„ ํƒํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ดํ›„์— ๋‚˜์˜ค๋Š” โ€˜Enter Connection Innfoโ€™ ํŽ˜์ด์ง€์˜ ๊ฒฝ์šฐ์—๋Š” โ€˜Blob SAS URLโ€™์„ ๋ณต์‚ฌํ•ด์„œ ๊ทธ๋Œ€๋กœ ๋ถ™์—ฌ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.

Descriptive Alt Text

Descriptive Alt Text

์•„๋ž˜ ์‚ฌ์ง„์œผ๋กœ Key ๋ฐฉ์‹๊ณผ SAS ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ๋ณ„ ์šฐ์ธก์— ๊ด„ํ˜ธ๋กœ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์—ฐ๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ‘œ์‹œ๊ฐ€ ๋˜์–ด์žˆ๊ธด ํ•˜์ง€๋งŒ, ํด๋” ๊ตฌ์กฐ ์ธก๋ฉด์—์„œ ๋ณด๋ฉด SAS์˜ ๊ฒฝ์šฐ Storage Account/Blob Container/mounteddrive2 ๋กœ ์—ฐ๋™๋˜์–ด ์žˆ๊ณ  Key์˜ ๊ฒฝ์šฐ Storage Account/kaggleaccountsh/Blob Containers ๊ฒฝ๋กœ๋กœ ์ ‘๊ทผ ๋˜์—ˆ์Œ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Descriptive Alt Text

์ถ”๊ฐ€๋กœ ํ† ํฐ์„ ์ด์šฉํ•œ SAS ์—ฐ๊ฒฐ ๋ฐฉ์‹์—์„œ ๊ฝค ์‹ ๊ธฐํ•œ ์ ๋„ ๋ฐฐ์› ๋‹ค. ๋ฐ”๋กœ ์›น์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด ํŒŒ์ผ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์œผ๋กœ ์•„๋ž˜ ์›น ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค!

โœ… https://Storage account.blob.core.windows.net/container/folder/file?Blob SAS token

์ง€๊ธˆ ๋ณด๋ฉด mounteddrive2/testdrive/connect with token feat.SAS.txt ๊ฒฝ๋กœ๋กœ ํ…์ŠคํŠธ ํŒŒ์ผ์ด ์œ„์น˜ํ•ด ์žˆ๋‹ค.

Descriptive Alt Text

Descriptive Alt Text

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

โœ…ย https://kaggleaccountsh.blob.core.windows.net/mounteddrive2/testdrive/connect with token feat.SAS.txt?Blob SAS token

Descriptive Alt Text


๐Ÿ‘‡ย summary(SAS)

  • Description : Storage Account ๋‚ด Container์— ๋Œ€ํ•œ ๊ถŒํ•œ ์ ‘๊ทผ.
  • Pros: ๊ถŒํ•œ ๊ธฐ๊ฐ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด key ๋ฐฉ์‹๋ณด๋‹ค ๋” ์•ˆ์ „ํ•จ.
  • Cons: SAS ํ† ํฐ์ด ๋งŒ๋ฃŒ๋˜๋ฉด ์ƒˆ๋กœ ๋ฐœ๊ธ‰ํ•ด์•ผ ํ•จ.
  • When to Use? : ํŠน์ • ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์ œํ•œ๋œ ๋ฆฌ์†Œ์Šค์— ์ผ์‹œ์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ ์œ ์šฉํ•จ!

2.3 RBAC

3๏ธโƒฃย RBAC(Role Based Access Control)์€ ์ด๋ฆ„์€ ์–ด๋ ค์›Œ ๋ณด์ด๋Š”๋ฐ ์‚ฌ์‹ค ์„ธ ๊ฐ€์ง€ ๋ฐฉ์‹ ์ค‘์—์„œ ์•„๋งˆ ๊ฐ€์žฅ ์ต์ˆ™ํ•œ ๋ฐฉ์‹์ผ ๊ฒƒ์ด๋‹ค. ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ์ ์ด ์žˆ๋‹ค๋ฉด ๋”์šฑ ์‰ฝ๊ฒŒ ์ดํ•ด๊ฐ€ ๊ฐ€๋Šฅํ•œ๋ฐ, ํŠน์ • ๋ฐ์ดํ„ฐ(ํด๋”, ์ปจํ…Œ์ด๋„ˆ, ๋“œ๋ผ์ด๋ธŒ)์— ํŠน์ • ์‚ฌ์šฉ์ž๋งŒ์ด ๊ถŒํ•œ์„ ๋ถ€์—ฌ ๋ฐ›๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋ฌธ์„œ์—๋Š” โ€˜Azure AD์˜ ์—ญํ•  ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ๊ด€๋ฆฌโ€™ ์ด์ •๋„๋กœ ์ •์˜๋˜๊ณ  ์žˆ๋Š”๋ฐ, โ€˜Azure AD(Azure Active Directory)โ€™๋Š” ํšŒ์‚ฌ ๋‚ด ๋ชจ๋“  ์‚ฌ์šฉ์ž์™€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋„๊ตฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์— ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ  ์—ญํ• ๋ณ„๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์‚ฌ ๋‚ด์—์„œ ์–ด๋–ค ์‚ฌ๋žŒ์€ ๋ฐ์ดํ„ฐ์— ์ฝ๊ธฐ๋งŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์–ด๋–ค ์‚ฌ๋žŒ์€ ์“ฐ๊ธฐ๋‚˜ ์ˆ˜์ • ๊ถŒํ•œ๊นŒ์ง€ ๊ฐ€์ง€๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค!

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

์ผ๋‹จ ์ด RBAC ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Microsoft Entra ID ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ์œ ์ €๋ฅผ ๋“ฑ๋กํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.

Descriptive Alt Text

โ€˜DataEngineerโ€™๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์œ ์ €๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ๊ณ  ํŒจ์Šค์›Œ๋“œ๋„ ์„ค์ •ํ•ด ์ฃผ์—ˆ๋‹ค.(์ถ”ํ›„ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ)

Descriptive Alt Text

์ดํ›„ ์ ‘๊ทผ์„ ํ•„์š”๋กœ ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋กœ ๋“ค์–ด๊ฐ€ Access Control(IAM) > +ADD > Storage Blob Data Contributor > +select memerbers ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜๋ฉด ๋œ๋‹ค. (์•„๋ž˜ ์‚ฌ์ง„ ์ฐธ๊ณ !)

Descriptive  Alt Text

Descriptive Alt Text

Descriptive Alt Text

์ตœ์ข…์ ์œผ๋กœ ํ™•์ธํ•ด ๋ณด๋ฉด DataEngineer๋ผ๋Š” ์ƒˆ๋กœ์šด ์œ ์ €์—๊ฒŒ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ์— ๋Œ€ํ•œ ๊ถŒํ•œ(Role)์ด ๋ถ€์—ฌ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ ์œ ์ €๋“ค ํ˜น์€ ๊ทธ๋ฃน๋“ค์—๊ฒŒ๋„ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋ฉด ๋œ๋‹ค!

Descriptive Alt Text

๊ถŒํ•œ ๋ถ€์—ฌ๊ฐ€ ์™„๋ฃŒ ๋˜์—ˆ์œผ๋‹ˆ Azure Storage Explorer์—์„œ๋„ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜์ž. ์ƒˆ๋กœ ๋“ฑ๋กํ•œ ์œ ์ €๋กœ ๋กœ๊ทธ์ธํ•˜๊ฒŒ ๋˜๋ฉด OAuth์™€ ๊ด€๋ จํ•ด์„œ OTP๋ฅผ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ณธ์ธ์ด ์›ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ง„ํ–‰ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. (๋‚˜๋Š” Google OTP๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค!) โ€œAuthenticated. You can return to Storage Explorerโ€ ๋ฌธ๊ตฌ๊ฐ€ ๋œจ๋ฉด ์ œ๋Œ€๋กœ ์ง„ํ–‰๋œ ๊ฒƒ์ด๋‹ˆ ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹๊ฒ ๋‹ค!

Descriptive Alt Text

์ดํ›„ Azure Storage Explorer์—์„œ ์•ž์„  ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ง„ํ–‰ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. (ํ•˜๋‹จ ์‚ฌ์ง„ ์ฐธ๊ณ !)

Descriptive Alt Text

Descriptive Alt Text

Descriptive Alt Text

์ดํ›„ ์ ‘์†์— ํ•„์š”ํ•œ URL์€ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ์˜ Properties ์นดํ…Œ๊ณ ๋ฆฌ์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•˜๋‹ค!

Descriptive Alt Text

Descriptive Alt Text


๐Ÿ‘‡ย summary(RBAC)

  • Description : Azure AD์˜ ์—ญํ•  ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ํ†ตํ•ด ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ •์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ์ œ์–ดํ•จ. ์‚ฌ์šฉ์ž๋Š” ํ• ๋‹น๋œ ์—ญํ• ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ๊ฐ€์ง€๊ฒŒ ๋จ!
  • Pros: Azure AD๋ฅผ ํ†ตํ•ด ์ค‘์•™ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ  ์„ธ๋ถ€์ ์ธ ๊ถŒํ•œ ์„ค์ •์ด ๊ฐ€๋Šฅํ•จ. ์กฐ์ง ์ฐจ์›์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์œ ์šฉํ•จ.
  • Cons: ๊ด€๋ จ ์„ค์ •์ด ๋ณต์žกํ•จ.
  • When to Use? : ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ ๊ฐ ์‚ฌ์šฉ์ž๋‚˜ ๊ทธ๋ฃน์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์œ ์šฉํ•จ.


์ด๋ฒˆ ์ฃผ์ฐจ๋Š” ํด๋”๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ธก๋ฉด์—์„œ ํŠนํžˆ ๊ถŒํ•œ์— ๋Œ€ํ•ด ๋‹ค๋ฃจ์—ˆ๋‹ค. ์ข…๋ฅ˜๋„ ๋‹ค์–‘ํ•˜๊ณ  ๋•๋ถ„์— ํฌ์ŠคํŒ… ์–‘๋„ ์ƒ๋Œ€์ ์œผ๋กœ ๊ธธ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ฒ˜์Œ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ๊ณต๋ถ€ํ• ๋•Œ๋Š” โ€˜์ด๊ฒŒ ๋‚ด๊ฐ€ ์ง€๊ธˆ ์ดํ•ดํ•œ๊ฒŒ ๋งž๋‚˜? ใ…Žใ…Ž..โ€™ ๋ผ๊ณ  ์ƒ๊ฐ์ด ๋“ค ์ •๋„๋กœ ๊ฝค ๋‚œํ•ด ํ•˜๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. ์•„๋งˆ ์ด ๋‚ด์šฉ์„ ์ฒ˜์Œ ์ ‘ํ•ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ๋‚˜์™€ ๋น„์Šทํ•˜๊ฒŒ ๋Š๋‚„ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ํ˜น์‹œ ์กฐ๊ธˆ์ด๋ผ๋„ ์• ๋งค ํ•˜๋‹ค๊ณ  ๋Š๋‚€๋‹ค๋ฉด ์˜ค๋Š˜์˜ ๊ธ€์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ฝ์–ด๋ณด๊ธธ ๋ฐ”๋ž€๋‹ค! ๋‚˜๋„ ๊ธ€๋กœ ์ •๋ฆฌํ•ด๋ณด๋‹ˆ ๊ทธ์ œ์•ผ ์ •๋ฆฌ์™€ ํ•จ๊ป˜ ์ดํ•ด๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์•„๋งˆ ์ต์ˆ™ํ•จ์˜ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

Microsoft์—์„œ โ€˜Identity and Access Administrator Associateโ€™ ๋ผ๋Š” ์—ญ๋Ÿ‰ ๊ฒ€์ฆ ์ธ์ฆ์„œ๋„ ๋ฐœ๊ธ‰ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‚˜ ์—ญ์‹œ ์ƒ๊ฐ๋ณด๋‹ค ์ด์ชฝ์— ํฅ๋ฏธ๋ฅผ ๋Š๋ผ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๊ฒจ์šธ๋ฐฉํ•™์— ํ•œ๋ฒˆ ๋„์ „ํ•ด ๋ณผ๊นŒ ์ƒ๊ฐ์ด ๋“ ๋‹ค!โœŒ๏ธ

Descriptive Alt Text


Reference

Azure Data Lake (ADL) Gen 2 Implementation Best Practices

How to mount Azure Blob Storage as a file system with BlobFuse v1

Azure Storage Explorer in Desktop

Microsoft Certified: Identity and Access Administrator Associate

Access control model in Azure Data Lake Storage

Tags: DockerBigDataADLS2CloudStorageAzureDataLake

Subscribe via RSS