๐ŸŽˆ AWS Elastic File System ๋ž€?

AWS EFS๋Š” ํŒŒ์ผ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” AWS์˜ ๋Œ€ํ‘œ fully-managed file storage ์„œ๋น„์Šค์ด๋‹ค.

ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ OS์—์„œ ์ด์šฉ๋˜๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์‚ฌ์šฉ๋˜๋Š” ๋น„๊ต์  ์นœ์ˆ™ํ•œ ๋ฐฉ์‹์˜ ์Šคํ† ๋ฆฌ์ง€์ด๋‹ค.

AWS EFS๊ฐ€ ๊ฐ–๋Š” ์ฃผ์š” ํŠน์ง•๋“ค์„ ์•Œ์•„๋ณด์ž.

EFS ์˜ ํŠน์ง•

๊ณ„์ธต์  ๊ตฌ์กฐ

ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋Š” block ํ˜น์€ object ๋ฐฉ์‹์˜ ์Šคํ† ๋ฆฌ์ง€์™€ ๋‹ฌ๋ฆฌ, ํด๋”์™€ ํŒŒ์ผ๋กœ ๊ตฌ์„ฑ๋œ ๊ณ„์ธต์  ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค.

๊ณต์œ  ๊ฐ€๋Šฅ

AWS EFS๋Š” SAN ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋œ AWS EBS์™€ ๋‹ค๋ฅด๊ฒŒ, NFS(Network File System)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฌ๋Ÿฌ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ๋™์ผํ•œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. AWS EFS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜ ์ฒœ ์—ฌ๊ฐœ์˜ concurrent NFS connection์„ ์ง€์›ํ•œ๋‹ค.

์œ ์—ฐํ•œ ํ™•์žฅ

Elastic ์ด๋ผ๋Š” ์ด๋ฆ„์ฒ˜๋Ÿผ, AWS EFS๋Š” ํŒŒ์ผ์ด ์ถ”๊ฐ€/์‚ญ์ œ๋จ์— ๋”ฐ๋ผ ์Šคํ† ๋ฆฌ์ง€์˜ ์šฉ๋Ÿ‰์ด ํƒ„๋ ฅ์ ์œผ๋กœ ์ฆ๊ฐ€/๊ฐ์†Œํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง•์€ ์ ์ ˆํ•œ ์šฉ๋Ÿ‰๊ณผ IOPS ๋“ฑ์„ ์˜ˆ์ธกํ•˜๊ธฐ ํž˜๋“  ๊ณต์œ  ํŒŒ์ผ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์šด์˜์˜ ๋ฒˆ๊ฑฐ๋กœ์›€์„ ํฌ๊ฒŒ ์ค„์—ฌ์ค„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

๋‹ค์–‘ํ•œ ์„ฑ๋Šฅ ์˜ต์…˜

Throughtput, IOPS ๋“ฑ๊ณผ ๊ฐ™์ด ๋””์Šคํฌ ์„ฑ๋Šฅ๊ณผ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์˜ต์…˜์„ ์ œ๊ณตํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ์— ๋งž์ถ˜ ์ตœ์ ์˜ file storage๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ์š” ์˜ต์…˜์œผ๋กœ General Purpose์™€ Max I/O ๋ชจ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค. General Purpose๋ชจ๋“œ์™€ Max I/O ๋ชจ๋“œ๋Š” ๊ฐ๊ฐ low-latency์™€ high throughput & high IOPS์— ์ตœ์ ํ™” ๋˜์–ด์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, latency-sensitiveํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ General Purpose, Large-scale and data-heavy ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Max I/O๊ฐ€ ์ข‹์€ ์„ ํƒ์ง€๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

๊ณ ๊ฐ€์šฉ์„ฑ

AWS EFS๋Š” ์„œ๋กœ ๋‹ค๋ฅธ AZ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋†’์€ ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ •์„ฑ๊ณผ ๊ฐ€์šฉ์„ฑ์„ ๋ณด์žฅํ•œ๋‹ค.

๋ณด์•ˆ ์ •์ฑ…

AWS EFS๋Š” VPC security group๊ณผ network ACL์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋„คํŠธ์›Œํฌ ์ •์ฑ…์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ, IAM์„ ํ†ตํ•œ ๊ถŒํ•œ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. AWS EFS๋ฅผ ๋งˆ์šดํŠธํ•œ ์ดํ›„์—๋Š” ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๋™์ผํ•˜๊ฒŒ POSIX permission ์„ค์ •์„ ์ง€์›ํ•œ๋‹ค.

Architecture

efs1.PNG

NFS client

NFS server์— ํ•ด๋‹นํ•˜๋Š” AWS EFS๋ฅผ ๋งˆ์šดํŠธํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค์— ํ•ด๋‹นํ•œ๋‹ค. NFS client๋Š” mount point๋ฅผ ํ†ตํ•ด AWS EFS์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆผ ์ƒ์—์„œ๋Š” ๋ชจ๋“  AZ์—์„œ AWS EFS๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ‘œํ˜„๋˜์—ˆ์œผ๋‚˜, ์‹ค์ œ๋กœ๋Š” storage class์— ๋”ฐ๋ผ์„œ AWS EFS์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” AZ์˜ ์ˆ˜๊ฐ€ ์ œํ•œ๋  ์ˆ˜ ์žˆ๋‹ค.

Mount target

NFS client๊ฐ€ AWS EFS๋ฅผ ๋งˆ์šดํŠธํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ NFSv4 endpoint๋กœ IP ์ฃผ์†Œ์™€ DNS๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Standard storage class๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ๊ฐ AZ๋งˆ๋‹ค 1๊ฐœ์˜ mount taget์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. One Zone storage class๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, AWS EFS๊ฐ€ ์œ„์น˜ํ•œ AZ์—๋งŒ ์ œํ•œ์ ์œผ๋กœ 1๊ฐœ์˜ mount point๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

DNS name/ File System ID

NFS client๊ฐ€ ํŽธ๋ฆฌํ•˜๊ฒŒ AWS EFS์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” DNS ์„œ๋น„์Šค์ด๋‹ค.

๐Ÿงจ ๋งˆ๋ฌด๋ฆฌ

์ด๋ ‡๊ฒŒ ์œ„์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” efs๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์‹ค์Šต๋„ ์ง„ํ–‰ํ•ด ๋ณด์ž.