๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณด์กด

์ด ๋ฌธ์„œ์—์„œ๋Š” Storage Transfer Service๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์†Œ์Šค์™€ ๋Œ€์ƒ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ๋ณด์กด๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์š”

Storage Transfer Service๋Š” ๋‹ค์Œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.

  • Cloud Storage, Amazon S3, ๋˜๋Š” Microsoft Azure Blob Storage์—์„œ ์‹œ์ž‘๋œ ์ „์†ก์šฉ ์‚ฌ์šฉ์ž ์ƒ์„ฑ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

  • Cloud Storage ๋ฒ„ํ‚ท ๊ฐ„ ์ „์†ก์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋Š” ๊ฐ์ฒด ACL, ๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค, ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค, ๊ฐ์ฒด ๋งŒ๋“ค๊ธฐ ์‹œ๊ฐ„(customTime ํ•„๋“œ ๊ฐ’), ์ž„์‹œ ๋ณด์กด ์กฐ์น˜๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์†Œ์Šค์—์„œ Cloud Storage ๋ฒ„ํ‚ท์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ ๋Œ€์ƒ ๋ฒ„ํ‚ท์˜ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋Š” ์ „์†ก์˜ ์ผ๋ถ€๋กœ ์ง€์›๋˜๋Š” ํด๋ž˜์Šค๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŒŒ์ผ ํฌ๊ธฐ ๋ฐ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ์‹œ๊ฐ„(mtime)์€ POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ์‹œ์ž‘๋œ ์ „์†ก์— ๋Œ€ํ•ด ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. mtime์€ ํด๋”์— ๋Œ€ํ•ด ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์„ ํƒ์ ์œผ๋กœ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ, ์ˆซ์ž UID, ์ˆซ์ž GID ๋ฐ ์ˆซ์ž MODE๋Š” POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฐ„์˜ ์ „์†ก์„ ์œ„ํ•ด ๋ณด์กด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฐ„ ์ „์†ก์—๋งŒ UID, GID ๋˜๋Š” MODE๊ฐ€ ๋ณด์กด๋˜๋Š” ๊ฒฝ์šฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋„ ํด๋”์— ๋Œ€ํ•ด ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. Cloud Storage๋Š” ๋Œ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ํด๋”๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค๊ณ  UID, GID ๋˜๋Š” MODE๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋นˆ ํด๋”๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. mtime์€ ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    ๋งค๋‹ˆํŽ˜์ŠคํŠธ์— ์˜ํ•ด ์ „์†กํ•˜๋Š” ๊ฒฝ์šฐ ํด๋” ์ˆ˜์ค€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ฌธ์„œ์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ์–ธ๊ธ‰๋˜์ง€ ์•Š์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณด์กด ๋ฐฉ์‹

๋‹ค์Œ ์„น์…˜์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์†Œ์Šค ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ๋ฅผ ๋‚˜์—ดํ•˜๊ณ  Storage Transfer Service ๋ฐ Storage Transfer Service์—์„œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ ๋ณด์กดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ชฉ๋ก์€ ์†Œ์Šค ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Amazon S3 ๋˜๋Š” S3 ํ˜ธํ™˜ ์Šคํ† ๋ฆฌ์ง€์—์„œ Cloud Storage๋กœ ์ „์†ก

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ ๋ณด์กด ๋ฐฉ์‹
Amazon S3 ๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ(์˜ˆ๋ฅผ ๋“ค์–ด Cache-Control, Content-Disposition, Content-Type) ๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
ํ‚ค:๊ฐ’ ์Œ์œผ๋กœ ํ˜•์‹์ด ์ง€์ •๋œ Amazon S3 ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ์ฒด ํ‚ค ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋Œ€์ƒ Cloud Storage ๊ฐ์ฒด์—์„œ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ ๋‚˜์ค‘์— ์ด๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ETag x-goog-source-etag ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ, ์ด ํ‚ค๋Š” ๋‚˜์ค‘์— ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด ํฌ๊ธฐ size๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
Amazon S3 ์•ก์„ธ์Šค์ œ์–ด ๋ชฉ๋ก(ACL). ์ „์ฒด ๋ชฉ๋ก์€ ์•ก์„ธ์Šค์ œ์–ด ๋ชฉ๋ก(ACL) ๊ฐœ์š”์˜ ์กฐ๊ฑด๋ถ€ ํ‚ค ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ •์˜ํ•œ Amazon S3 ๊ฐ์ฒด ํƒœ๊ทธ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ์ฒด ํƒœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ETag ๋ฐ ๊ฐ์ฒด ํฌ๊ธฐ๋ฅผ ์ œ์™ธํ•œ Amazon S3 ์‹œ์Šคํ…œ ์ •์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ „์ฒด ๋ชฉ๋ก์€ ๊ฐ์ฒด ํ‚ค ๋ฐ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์‹œ์Šคํ…œ ์ •์˜ ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์†Œ์Šค์˜ ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ์‹œ๊ฐ„ timeCreated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ updated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

์ „์†ก ์ค‘ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์ธ ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํŠน์ • ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

Microsoft Azure Storage์—์„œ Cloud Storage๋กœ ์ „์†ก

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ ๋ณด์กด ๋ฐฉ์‹
Microsoft Azure Storage ๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ๋ฅผ ๋“ค์–ด Cache-Control, Content-Disposition, Content-Type) ๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
ํ‚ค:๊ฐ’ ์Œ์œผ๋กœ ํ˜•์‹์ด ์ง€์ •๋œ Microsoft Azure Storage ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Blob ์„œ๋น„์Šค ๋ฆฌ์†Œ์Šค์˜ ์†์„ฑ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ • ๋ฐ ๊ฒ€์ƒ‰์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋Œ€์ƒ Cloud Storage ๊ฐ์ฒด์—์„œ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ, ๋‚˜์ค‘์— ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ETag x-goog-source-etag ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ, ์ด ํ‚ค๋Š” ๋‚˜์ค‘์— ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด ํฌ๊ธฐ size๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
Azure Data Lake Storage(ADLS) 2์„ธ๋Œ€์—์„œ ์ง€์›ํ•˜๋Š” POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ถŒํ•œ์ž…๋‹ˆ๋‹ค. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Microsoft Azure Storage ์•ก์„ธ์Šค ์ œ์–ด(ํŠนํžˆ x-ms-blob-public-access). ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปจํ…Œ์ด๋„ˆ ACL ๊ฐ€์ ธ์˜ค๊ธฐ์˜ ์‘๋‹ต ํ—ค๋” ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Microsoft Azure Storage ์ƒ‰์ธ ํƒœ๊ทธ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Blob ์ƒ‰์ธ ํƒœ๊ทธ๋กœ Azure Blob ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ์ฐพ๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Microsoft Azure Storage ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ๋ฅผ ๋“ค์–ด Last-Modified, x-ms-creation-time, x-ms-version, x-ms-request-server-encrypted, x-ms-encryption-scope). ์ž์„ธํ•œ ๋‚ด์šฉ์€ Blob ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์†Œ์Šค์˜ ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ์‹œ๊ฐ„ timeCreated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ updated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

์ „์†ก ์ค‘ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์ธ ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํŠน์ • ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

Cloud Storage ๋ฒ„ํ‚ท ๊ฐ„ ์ „์†ก

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ ๋ณด์กด ๋ฐฉ์‹

Cloud Storage ๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ(์˜ˆ๋ฅผ ๋“ค์–ด Cache-Control, Content-Disposition, Content-Type).

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ํ˜•์‹์ด ์ง€์ •๋œ Cloud Storage ์‚ฌ์šฉ์ž ์ •์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋Œ€์ƒ Cloud Storage ๊ฐ์ฒด์—์„œ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ, ๋‚˜์ค‘์— ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ฒด ํฌ๊ธฐ size๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
๊ฐ์ฒด ์ƒ์„ฑ x-goog-reserved-source-generation ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ๋กœ ๋ณด์กด๋˜๋ฉฐ, ์ด ํ‚ค๋Š” ๋‚˜์ค‘์— ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด ๋ณด์กด ์กฐ์น˜

์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ณด์กด ์กฐ์น˜๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ ๋ฒ„ํ‚ท์— ๊ธฐ๋ณธ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ณด์กด ์กฐ์น˜ ์†์„ฑ์ด ์‚ฌ์šฉ ์„ค์ •๋˜์—ˆ์œผ๋ฉด ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ๋ณด์กด ์กฐ์น˜๊ฐ€ ์ „์†ก๋œ ๊ฐ์ฒด์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ž„์‹œ ๋ณด์กด ์กฐ์น˜๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. ์ „์†ก ์ค‘ ์ž„์‹œ ๋ณด์กด ์กฐ์น˜๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด metadataOptions ๊ฐ์ฒด์˜ temporaryHold ํ•„๋“œ๋ฅผ TEMPORARY_HOLD_SKIP์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์•ก์„ธ์Šค์ œ์–ด ๋ชฉ๋ก(ACL)

ACL์€ ์„ ํƒ์ ์œผ๋กœ ๋ณด์กด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

ACL์„ ๋ณด์กดํ•  ๋•Œ๋Š” ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์ง€ ์•Š๋„๋ก ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud Storage ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

์ „์†ก ์ค‘ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†Œ์Šค ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์ธ ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํŠน์ • ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค

๊ณ ๊ฐ ๊ด€๋ฆฌ ์•”ํ˜ธํ™” ํ‚ค(CMEK)๋ฅผ ๊ฐ์ฒด์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ์ฒด๊ฐ€ ๋Œ€์ƒ ๋ฒ„ํ‚ท์— ๊ธฐ๋ก๋  ๋•Œ ์„ ํƒ์ ์œผ๋กœ ๋™์ผํ•œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋™์ž‘์€ ๋ฒ„ํ‚ท์˜ ์•”ํ˜ธํ™” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์— ์“ฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›๋ž˜ CMEK๋ฅผ ๋ณด์กดํ•  ๋•Œ๋Š” ๋‹ค์Œ ์ œํ•œ์‚ฌํ•ญ์— ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ

timeCreated๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด์กด ๊ฐ’์€ Cloud Storage์—์„œ ์ „์†ก๋œ ๊ฐ์ฒด์˜ customTime ํ•„๋“œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

updated ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋Š” ๋‹ค๋ฅธ Cloud Storage ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ: etag, componentCount)์ž…๋‹ˆ๋‹ค. ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Cloud Storage์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ชฉ๋ก์€ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Cloud Storage๋กœ URL ๋ชฉ๋ก ์ „์†ก

URL ๋ชฉ๋ก์— ๋Œ€ํ•œ ์ƒ์„ธ ์„ค๋ช…์€ URL ๋ชฉ๋ก ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ ๋ณด์กด ๋ฐฉ์‹
๊ณ ์ • ํ‚ค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•„๋“œ(์˜ˆ๋ฅผ ๋“ค์–ด Cache-Control, Content-Disposition, Content-Type). ์ˆ˜์ • ๊ฐ€๋Šฅํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
Content-Length ๋ฐ MD5

์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

์†Œ์Šค๊ฐ€ MD5 ํ•ด์‹œ ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ’์„ ๋ณด์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ๋ณด์กด ๋ฐฉ์‹์€ Content-Length ๋ฐ MD5์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ์„ฑ ์‹œ๊ฐ„, ์ˆ˜์ • ์‹œ๊ฐ„, ๊ธฐํƒ€ ์†Œ์Šค๋ณ„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)

๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์†Œ์Šค์˜ ํƒ€์ž„์Šคํƒฌํ”„ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑ ์‹œ๊ฐ„ timeCreated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ updated๋Š” Cloud Storage์—์„œ ๊ฐ์ฒด์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋Š” ์‹œ๊ฐ„์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

์ „์†ก ์ค‘ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์ธ ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํŠน์ • ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ ์ „์†ก

POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ํŒŒ์ผ์„ ์ „์†กํ•  ๋•Œ Storage Transfer Service๋Š” ์„ ํƒ์ ์œผ๋กœ ํŠน์ • ์†์„ฑ์„ ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋ฉด Storage Transfer Service๋Š” ๋ณด์กด๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ POSIX ์†์„ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ˆ์‹œ ๋ณด์กด ๋ฐฉ์‹
์ˆ˜์ •๋œ ์‹œ๊ฐ„(mtime)

๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

mtime์€ goog-reserved-file-mtime ํ‚ค๋ฅผ ํ†ตํ•ด ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ํฌ๊ธฐ

๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ํฌ๊ธฐ๋Š” size๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.

์ˆซ์ž UID
์ˆซ์ž GID
์ˆซ์ž MODE
์‹ฌ๋ณผ๋ฆญ ๋งํฌ

์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

๋ณด์กด ๋ฐฉ์‹์€ metadataOptions ๊ฐ์ฒด๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ ํƒ์  POSIX ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณด์กด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ธฐ๋ณธ ๋™์ž‘์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํด๋” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํด๋” ์ˆ˜์ค€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ํŒŒ์ผ ๊ฐ„ ์ „์†ก์— ๋Œ€ํ•ด์„œ๋งŒ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค. ์ „์†ก์˜ UID, GID, MODE ๋ณด์กด ์„ค์ •์ด ํ•ด๋‹น ์ „์†ก์— ๋Œ€ํ•ด ํŒŒ์ผ ๋ฐ ํด๋”์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

mtime์€ ํด๋”์— ๋Œ€ํ•ด ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. mtime์€ ๋Œ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ํด๋”์˜ ์ƒ์„ฑ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

ํด๋” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋งค๋‹ˆํŽ˜์ŠคํŠธ ์ „์†ก์— ๋Œ€ํ•ด ๋ณด์กด๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

์ „์†ก ์ค‘ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ ๊ฐ์ฒด์˜ ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ๋Œ€์ƒ ๋ฒ„ํ‚ท์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „์†ก ์ค‘์ธ ๋ชจ๋“  ๊ฐ์ฒด์—์„œ ํŠน์ • ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ metadataOptions ์ฐธ์กฐ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

์„ ํƒ์  POSIX ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ณด์กด

ํ•˜๋‚˜ ์ด์ƒ์˜ ์ˆซ์ž UID, ์ˆซ์ž GID, ์ˆซ์ž MODE, ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ณด์กดํ•˜๋ ค๋ฉด ์ „์†ก ์ž‘์—… ๋ณธ๋ฌธ์— metadataOptions ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์˜ต์…˜์€ POSIX-Cloud Storage ์ „์†ก๊ณผ Cloud Storage-POSIX ์ „์†ก์— ๋ชจ๋‘ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ›„์ž์˜ ๊ฒฝ์šฐ ํŒŒ์ผ์ด Cloud Storage๋กœ ์ฒ˜์Œ ์ „์†ก๋  ๋•Œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

{
  "description": "metadata-example",
  "projectId": "example-project-id"
  "transferSpec": {
    ...
    "transferOptions": {
      "metadataOptions": {
        "gid":     "GID_NUMBER",       # Default is "GID_SKIP"
        "uid":     "UID_NUMBER",       # Default is "UID_SKIP"
        "mode":    "MODE_PRESERVE",    # Default is "MODE_SKIP"
        "symlink": "SYMLINK_PRESERVE"  # Default is "SYMLINK_SKIP"
      }
    }
  }
}

POSIX - Cloud Storage

๋ณด์กด๋œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Cloud Storage์— ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

  • ์ˆซ์ž GID๋Š” goog-reserved-posix-gid๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ˆซ์ž UID๋Š” goog-reserved-posix-uid๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ˆซ์ž MODE๋Š” goog-reserved-posix-mode๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

๊ธฐํ˜ธํ™”๋œ ๋งํฌ์˜ ๊ฒฝ์šฐ Storage Transfer Service๋Š” ๋Œ€์ƒ ๋งํฌ๋ฅผ Cloud Storage์˜ ๊ฐ์ฒด๋กœ ์œ ์ง€ํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

  • ๊ฐ์ฒด ํ‚ค๋Š” ๋Œ€์ƒ ํ”„๋ฆฌํ”ฝ์Šค์™€ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ(root_directory ๊ธฐ์ค€)์˜ ๊ฒฝ๋กœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ:
    • ๋ชจ๋“  ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” Cloud Storage ๊ฐ์ฒด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋ณด์กด๋ฉ๋‹ˆ๋‹ค.
    • ์ปค์Šคํ…€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. goog-reserved-file-is-symlink:true
  • ๊ฐ์ฒด ์ฝ˜ํ…์ธ ๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‹ฌ๋ณผ๋ฆญ ๋งํฌ sym-> dir1/target์˜ ๊ฒฝ์šฐ ๊ฐ์ฒด์˜ ์ฝ˜ํ…์ธ ๋Š” 'dir1/target'์ž…๋‹ˆ๋‹ค.

Storage Transfer Service๋Š” ๋งํฌ๋ฅผ ๊ฒ€์ฆํ•˜๊ฑฐ๋‚˜ ๋Œ€์ƒ ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Cloud Storage - POSIX

ํŒŒ์ผ์ด Cloud Storage๋กœ ์ „์†ก๋  ๋•Œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์กด๋˜๋ฉด POSIX ํŒŒ์ผ ์‹œ์Šคํ…œ์œผ๋กœ ๋‹ค์‹œ ์ „์†ก๋  ๋•Œ ํ•ด๋‹น ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์ผ์— ๋‹ค์‹œ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์˜ต์…˜์„ ๋ณด์กดํ•˜๋„๋ก ์„ค์ •๋œ ๊ฒฝ์šฐ Storage Transfer Service๋Š” ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฐํ˜ธํ™”๋œ ๋งํฌ: Storage Transfer Service๋Š” ๋Œ€์ƒ ๋งํฌ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ธฐํ˜ธํ™”๋œ ๋งํฌ ํŒŒ์ผ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋Œ€์ƒ ํŒŒ์ผ์ด ์—†์œผ๋ฉด ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ๊นจ์ง‘๋‹ˆ๋‹ค.
  • GID, UID ๋ฐ MODE: Cloud Storage ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ์ €์žฅ๋œ ๊ฐ’์€ ํŒŒ์ผ์— ๋‹ค์‹œ ์“ฐ์—ฌ์ง‘๋‹ˆ๋‹ค.

POSIX - POSIX

ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฐ„ ์ „์†ก์€ ํŒŒ์ผ ๋ฐ ํด๋”์˜ GID, UID ๋ฐ MODE๋ฅผ ์„ ํƒ์ ์œผ๋กœ ๋ณด์กดํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ์ˆ˜์ • ์‹œ๊ฐ„์€ ํŒŒ์ผ์— ์ €์žฅ๋˜์ง€๋งŒ ํด๋”์—๋Š” ์ €์žฅ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. mtime์€ ๋Œ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ํด๋”์˜ ์ƒ์„ฑ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

Storage Transfer Service๋Š” ์ค‘๊ฐ„ ๋ฒ„ํ‚ท์— 0๋ฐ”์ดํŠธ ํด๋” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ๋‹ค์Œ ํ•ด๋‹น ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํด๋”์— ๋‹ค์‹œ ๋ณต์‚ฌํ•˜์—ฌ ํด๋” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ ์ค‘๊ฐ„ ๋ฒ„ํ‚ท์— ๋งŒ๋“  ๊ฐ์ฒด ์ˆ˜๊ฐ€ ์ „์†ก ์ค‘์ธ ํŒŒ์ผ ์ˆ˜๋ณด๋‹ค ๋งŽ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.