๐ณ Docker study 5th
The New Standard for Big Data Management: ADLS2 and Docker Integration Guide
by Arielle
์ง๋์ฃผ๊น์ง ์ฐ๋ฆฌ๋ ๋ก์ปฌ๊ณผ ๊ฐ์๋จธ์ ์ ์ฐ๊ฒฐ์ ํตํด 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๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค๊ณ ํ๋ ์ฌ๋งํ ๋น ๋ฐ์ดํฐ ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ๋๋ฐ๋ ํฐ ๋ฌด๋ฆฌ๊ฐ ์์ ๊ฒ ๊ฐ๋ค.
Storage Account๋ฅผ ์ด๊ธฐ ์์ฑํ ๋ ์๋ ์ฌ์ง์ฒ๋ผ ์ธ๋ถ์ ์ธ ์กฐ๊ฑด๋ค์ ์ค์ ํ ์ ์๋ค. ๋๋ โkaggleaccountshโ๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ฑํด ์ฃผ์๋ค.
ํ๋จ์ Review + create๋ฅผ ๋๋ฅด๋ฉด ๋ค์ ํ์ด์ง๋ก ๋์ด๊ฐ๊ฒ ๋๊ณ ํด๋น storage ์ ๊ทผ ๋ฐฉ์๋ ์ ํ์ด ๊ฐ๋ฅํ๊ณ ๋๋ key ๋ฐฉ์์ผ๋ก ์ ํํด์ฃผ์๋ค. ์ฌ๊ธฐ์ ํ๊ฐ์ง ์ค์ํ ํฌ์ธํธ๋ ๋ฐ๋ก Enable hierarchical namespace๋ฅผ ํ์ฑํ ํด์ฃผ๋ ๊ฒ์ด๋ค. ์ด ์ต์ ์ ํ์ฑํ ์ฌ๋ถ๋ ์ ํํ ์ด๋ค ์คํ ๋ฆฌ์ง๊ฐ ํ์ํ์ง์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ง๋ง, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ์์ฑ ๊ณผ์ ์์ ์ด ์ต์ ์ ์ ํํด ์ฃผ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค!
๊ทธ ์ด์ ์ ๋ํด์ ์ดํดํ๊ณ ์ ํ๋ค๋ฉด ๋จธ๋ฆฟ์์ ํฉ์ด์ ธ์๋ ์ฌ๋ฌ ๊ฐ๋ ๋ค์ ์ ์ ๋ฆฌํ๊ณ ๊ฐ์ผํ๋ค. Blob Storage ๋ถํฐ ์์ํด๋ณด๋๋ก ํ๋ค!
๐๏ธย 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๋ฅผ ํ์ฉํด ๋ง๋ค์ด์ง ํด๋์ธ ๊ฒ์ด๋ค!
๐๏ธย 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๋ผ๋ ์ด๋ฆ์ผ๋ก ํด๋๋ฅผ ์์ฑํด ์ฃผ์๊ณ , ์ค์ ๋ก ๋ก์ปฌ์ ํ ์คํธ ํ์ผ์ ํด๋น ํด๋์ ์ ๋ก๋ํด์ฃผ์๋ค.
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
๋ก ํจํค์ง๋ฅผ ์ค์นํด์ฃผ๋ฉด ๋๋ค!
์ด์ด์ ์๋ ์ฝ๋๋ฅผ ๊ฐ๊ฐ ์คํํด์ฃผ๋ฉด ๊ธฐ๋ณธ์ ์ธ ํจํค์ง ์ค์น๋ ์๋ฃ๋๋ค.
sudo dpkg -i packages-microsoft-prod.deb
, sudo apt-get update
2๏ธโฃย ์ดํ ๊ฐ์๋จธ์ ์ Storage Account์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๋ถ์ฌํด ์ฃผ์๋ค. mkdir mycontainer
, mkdir blobfuse
๋ก ๋จผ์ ํด๋๋ฅผ ์์ฑํ๊ณ ์ดํ /blobfuse/
ํ์ ๊ฒฝ๋ก์ blobfuse.cfg
ํ์ผ์ ์์ฑํด ์ฃผ์๋ค.
blobfuse.cfg
ํ์ผ์ Blob Storage์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์ค์ ํ์ผ์ด๋ค. ๋ฐ๋ผ์ ์ด ํ์ผ ์์ Storage Account์ Container์ ์ ๊ทผํ ์ ์๋ ์ ๋ณด๋ค์ ๋ด์ ๊ถํ์ ๋ถ์ฌํ ์ ์๋ค! ( ์ฝ๋์ฐธ๊ณ ๐ย Authorize access to your storage account)
Storage Account ์ด๋ฆ, ํค, ์ปจํ ์ด๋ ์ด๋ฆ์ ์ค์ ํด ์ฃผ๋ฉด ๋๋ค. ๋ง์ง๋ง ์ค์ keyย ๋ฐฉ์์ผ๋ก ์ธ์ฆํ๋ค๋ ๋ป์ด๋ ์์ ํ ํ์๊ฐ ์๋ค. ๋๋ฒ์งธ account key๊ฐ์ ๊ฒฝ์ฐ์๋ Azure ์์ Storage accounts > ์์ฑํ storage ๋ก ์ ๊ทผ ํ Security +networking > Access keys ์นดํ ๊ณ ๋ฆฌ์์ ํ์ธ ๊ฐ๋ฅํ๋ค. ๋ณด๋ฉด key 1,2๊ฐ ์๋๋ฐ ์ฒซ๋ฒ์งธ ํ๋์ ์ค๋ก ํ์ํด ๋์ ํค๋ฅผ ๋ณต์ฌํด์ nano ํธ์ง๊ธฐ์ ๋ถ์ฌ ๋ฃ์ผ๋ฉด ๋๋ค.
3๏ธโฃย nano ํธ์ง๊ธฐ๋ก ํ์ผ์ ์ ์ ์ฅ ํ blobfuse
๋ฅผ ์ฌ์ฉํ์ฌ Blob Storage๋ฅผ ๋ก์ปฌ ํ์ผ ์์คํ
์ ๋ง์ดํธ ํด์ฃผ์๋ค. ํด๋น ๋ช
๋ น์ด๋ ์๋ ๋ช
๋ น์ด๋ฅผ ์ฐธ๊ณ ํ๋ฉด ๋๋ค!
blobfuse <Blob Storage๋ฅผ ๋ง์ดํธํ ๋ก์ปฌ ๊ฒฝ๋ก> --tmp-path=<blobfuse๊ฐ ์ฌ์ฉํ ์์ ์ ์ฅ ๊ฒฝ๋ก> --config-file=/<์์์ ์์ฑํ nano.cfg ํ์ผ ๊ฒฝ๋ก>
์์ ์ธ ๋จ๊ณ๋ฅผ ๋ฌด์ฌํ ์งํํ๋ค๋ฉด ๊ฐ์๋จธ์ ์์๋ โADSL2 ํ์ผ ์ ๋ก๋ ์ค์ต ์ค .txtโ ๋ผ๋ ํด๋๋ฅผ ํ์ธํ ์ ์๋ค. ์ด ํ์ผ์ ์ฐ๋ฆฌ๊ฐ ์์ Azure Storage Account > mounteddrive ํด๋์ ์ ๋ก๋ ํด๋ ํ์ผ์ด๋ค! ์ฐ๋์ด ์ต์ข ์ ์ผ๋ก ์ ๋์๋ค! ๐
2. Using Azure Storage Explorer
Azure Storage Explorer๋ฅผ ์ฌ์ฉํ๋ฉด ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง ๊ด๋ฆฌ๋ฅผ GUI๋ฅผ ํตํด ๋ ์ฝ๊ฒ ์ปจํธ๋กคํ ์ ์๋ค. ๋๋ ๋งฅ๋ถ์ ์ฌ์ฉํ๊ธฐ์ macOS arm64๋ก ์ค์นํด ์ฃผ์๋ค. ์๋์ฐ, ๋ฆฌ๋ ์ค๋ ์์ผ๋ ๋ณธ์ธ์ ๋ก์ปฌ ์ด์์ฒด์ ์ ๋ง๊ฒ ์ค์นํด ์ฃผ๋ฉด ๋๋ค. ์ค์น ๋ฐฉ๋ฒ์ ์ฌ์ฐ๋ ์ฒ์ฒํ ํ๋ฉด ํฐ ์ด๋ ค์ ์์ด ์งํ๋ ๊ฒ์ด๋ค. ์๋๋ ์ค์น ํ ์ด๊ธฐ ํ๋ฉด์ด๋ค!
<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โ ์ต์ ์ ์ ํํด์ฃผ๋ฉด ๋๋ค.
์ฐ๊ฒฐ ๋ฐฉ์์ ๋น์ฐํ โConnection string(Key or SAS)โ๋ฅผ ์ ํํด ์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฌ๋ฉด โConnecting Stringโ ํค๋ฅผ ์ ๋ ฅํ๋ผ๋ ํ์ ์ด ๋จ๊ฒ ๋๋๋ฐ, ํด๋น ํค๋ ์๋ ์ฌ์ง์ ์ฐธ๊ณ ํด ๋ถ์ฌ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค! ์ฐธ๊ณ ๋ก Display name์ ํค๋ฅผ ์ ๋ ฅํ๋ฉด ์๋ ์์ฑ๋๋ ์ฌ์ฉ์๊ฐ ์ํ๋๋๋ก ์์ ํด ์ฃผ๋ฉด ๋๋ค.
๐ย 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โ๋ก ์ฐ๊ฒฐ ์งํ!)
Azure Storage Explorer์์๋ โADLS Gen2 container or directoryโ ์ต์ ์ ์ ํํด์ฃผ๋ฉด ๋๋ค.
์ดํ์ ๋์ค๋ โEnter Connection Innfoโ ํ์ด์ง์ ๊ฒฝ์ฐ์๋ โBlob SAS URLโ์ ๋ณต์ฌํด์ ๊ทธ๋๋ก ๋ถ์ฌ ๋ฃ์ด์ฃผ์๋ค.
์๋ ์ฌ์ง์ผ๋ก Key ๋ฐฉ์๊ณผ SAS ๋ฐฉ์์ ์ฐจ์ด์ ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค. ์ปจํ
์ด๋ ๋ณ ์ฐ์ธก์ ๊ดํธ๋ก ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ๋์๋์ง ํ์๊ฐ ๋์ด์๊ธด ํ์ง๋ง, ํด๋ ๊ตฌ์กฐ ์ธก๋ฉด์์ ๋ณด๋ฉด SAS์ ๊ฒฝ์ฐ Storage Account/Blob Container/mounteddrive2
๋ก ์ฐ๋๋์ด ์๊ณ Key์ ๊ฒฝ์ฐ Storage Account/kaggleaccountsh/Blob Containers
๊ฒฝ๋ก๋ก ์ ๊ทผ ๋์์์ ํ์ธ ํ ์ ์๋ค.
์ถ๊ฐ๋ก ํ ํฐ์ ์ด์ฉํ SAS ์ฐ๊ฒฐ ๋ฐฉ์์์ ๊ฝค ์ ๊ธฐํ ์ ๋ ๋ฐฐ์ ๋ค. ๋ฐ๋ก ์น์์ ์ปจํ ์ด๋ ๋ด ํ์ผ์ ํ์ธํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์๋ ์น ์ฃผ์๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค!
โ https://Storage account.blob.core.windows.net/container/folder/file?Blob SAS token
์ง๊ธ ๋ณด๋ฉด mounteddrive2/testdrive/connect with token feat.SAS.txt
๊ฒฝ๋ก๋ก ํ
์คํธ ํ์ผ์ด ์์นํด ์๋ค.
๋ณธ์ธ์ Storage, Container ๊ฒฝ๋ก์ ๋ง๊ฒ ์ฃผ์๋ฅผ ์์ ํด์ ์คํํ๋ฉด ์ ๊ธฐํ๊ฒ๋ ์น์์ ํด๋น ํ์ผ์ ์ง์ ํ์ธ ํ ์ ์๋ค. (๋๋ ์ด ๋ถ๋ถ์ด ๊ฝค ์ ๊ธฐํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฒญ ์ ์ฉํ๊ฒ ์ฐ์ผ ์๋ ์์ ๊ฑฐ๋ผ ์๊ฐํ๋ค! ๐ฒ )
โ ย https://kaggleaccountsh.blob.core.windows.net/mounteddrive2/testdrive/connect with token feat.SAS.txt?Blob SAS token
๐ย 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 ์นดํ ๊ณ ๋ฆฌ์์ ์ ์ ๋ฅผ ๋ฑ๋กํด ์ฃผ์ด์ผ ํ๋ค.
โDataEngineerโ๋ผ๋ ์ด๋ฆ์ผ๋ก ์ ์ ๋ฅผ ํ๋ ์์ฑํด ์ฃผ์๊ณ ํจ์ค์๋๋ ์ค์ ํด ์ฃผ์๋ค.(์ถํ ๋ณ๊ฒฝ ๊ฐ๋ฅ)
์ดํ ์ ๊ทผ์ ํ์๋ก ํ๋ ์ปจํ ์ด๋๋ก ๋ค์ด๊ฐ Access Control(IAM) > +ADD > Storage Blob Data Contributor > +select memerbers ์์๋๋ก ์งํํ๋ฉด ๋๋ค. (์๋ ์ฌ์ง ์ฐธ๊ณ !)
์ต์ข ์ ์ผ๋ก ํ์ธํด ๋ณด๋ฉด DataEngineer๋ผ๋ ์๋ก์ด ์ ์ ์๊ฒ ํด๋น ์ปจํ ์ด๋์ ๋ํ ๊ถํ(Role)์ด ๋ถ์ฌ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค. ์ด๋ฐ ๋ฐฉ์์ผ๋ก ๋ค๋ฅธ ์ ์ ๋ค ํน์ ๊ทธ๋ฃน๋ค์๊ฒ๋ ๊ถํ์ ๋ถ์ฌํ๋ฉด ๋๋ค!
๊ถํ ๋ถ์ฌ๊ฐ ์๋ฃ ๋์์ผ๋ Azure Storage Explorer์์๋ ์ ์๋ํ๋์ง ํ์ธํด๋ณด๋๋ก ํ์. ์๋ก ๋ฑ๋กํ ์ ์ ๋ก ๋ก๊ทธ์ธํ๊ฒ ๋๋ฉด OAuth์ ๊ด๋ จํด์ OTP๋ฅผ ์๊ตฌํ ์ ์๋๋ฐ ๋ณธ์ธ์ด ์ํ๋ ๊ฒ์ผ๋ก ์งํํด์ฃผ๋ฉด ๋๋ค. (๋๋ Google OTP๋ก ์งํํ๋ค!) โAuthenticated. You can return to Storage Explorerโ ๋ฌธ๊ตฌ๊ฐ ๋จ๋ฉด ์ ๋๋ก ์งํ๋ ๊ฒ์ด๋ ์ฐธ๊ณ ํ๋ฉด ์ข๊ฒ ๋ค!
์ดํ Azure Storage Explorer์์ ์์ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์งํํด์ฃผ๋ฉด ๋๋ค. (ํ๋จ ์ฌ์ง ์ฐธ๊ณ !)
์ดํ ์ ์์ ํ์ํ URL์ ํด๋น ์ปจํ ์ด๋์ Properties ์นดํ ๊ณ ๋ฆฌ์์ ํ์ธ ๊ฐ๋ฅํ๋ค!
๐ย summary(RBAC)
- Description : Azure AD์ ์ญํ ๊ธฐ๋ฐ ๊ถํ ๊ด๋ฆฌ๋ฅผ ํตํด ์คํ ๋ฆฌ์ง ๊ณ์ ์ ๋ํ ์ ๊ทผ์ ์ ์ดํจ. ์ฌ์ฉ์๋ ํ ๋น๋ ์ญํ ์ ๋ฐ๋ผ ํ์ํ ๊ถํ๋ง ๊ฐ์ง๊ฒ ๋จ!
- Pros: Azure AD๋ฅผ ํตํด ์ค์ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๊ณ ์ธ๋ถ์ ์ธ ๊ถํ ์ค์ ์ด ๊ฐ๋ฅํจ. ์กฐ์ง ์ฐจ์์์ ๊ด๋ฆฌํ๋ ๋ฐ ์ ์ฉํจ.
- Cons: ๊ด๋ จ ์ค์ ์ด ๋ณต์กํจ.
- When to Use? : ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์๋ ํ๊ฒฝ์์ ๊ฐ ์ฌ์ฉ์๋ ๊ทธ๋ฃน์ ์ ๊ทผ ๊ถํ์ ๊ด๋ฆฌํ ๋ ์ ์ฉํจ.
์ด๋ฒ ์ฃผ์ฐจ๋ ํด๋๋ฅผ ๊ด๋ฆฌํ๋ ์ธก๋ฉด์์ ํนํ ๊ถํ์ ๋ํด ๋ค๋ฃจ์๋ค. ์ข ๋ฅ๋ ๋ค์ํ๊ณ ๋๋ถ์ ํฌ์คํ ์๋ ์๋์ ์ผ๋ก ๊ธธ์๋ ๊ฒ ๊ฐ๋ค. ์ฒ์ ๊ฐ์๋ฅผ ๋ฃ๊ณ ๊ณต๋ถํ ๋๋ โ์ด๊ฒ ๋ด๊ฐ ์ง๊ธ ์ดํดํ๊ฒ ๋ง๋? ใ ใ ..โ ๋ผ๊ณ ์๊ฐ์ด ๋ค ์ ๋๋ก ๊ฝค ๋ํด ํ๋ค๊ณ ๋๊ผ๋ค. ์๋ง ์ด ๋ด์ฉ์ ์ฒ์ ์ ํด๋ณธ ์ฌ๋์ด๋ผ๋ฉด ๋์ ๋น์ทํ๊ฒ ๋๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ค. ํน์ ์กฐ๊ธ์ด๋ผ๋ ์ ๋งค ํ๋ค๊ณ ๋๋๋ค๋ฉด ์ค๋์ ๊ธ์ ์ฒ์๋ถํฐ ๋ค์ ์ฝ์ด๋ณด๊ธธ ๋ฐ๋๋ค! ๋๋ ๊ธ๋ก ์ ๋ฆฌํด๋ณด๋ ๊ทธ์ ์ผ ์ ๋ฆฌ์ ํจ๊ป ์ดํด๊ฐ ๋์๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ง ์ต์ํจ์ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค.
Microsoft์์ โIdentity and Access Administrator Associateโ ๋ผ๋ ์ญ๋ ๊ฒ์ฆ ์ธ์ฆ์๋ ๋ฐ๊ธํ๊ณ ์๋ ๊ฒ ๊ฐ๋ค. ๋ ์ญ์ ์๊ฐ๋ณด๋ค ์ด์ชฝ์ ํฅ๋ฏธ๋ฅผ ๋๋ผ๋ ๊ฒ ๊ฐ์๋ฐ ๊ฒจ์ธ๋ฐฉํ์ ํ๋ฒ ๋์ ํด ๋ณผ๊น ์๊ฐ์ด ๋ ๋ค!โ๏ธ
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
Subscribe via RSS