LogoEurekaCodes
AwsStorage

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ•

AWS S3๋Š” ์—…๊ณ„ ์ตœ๊ณ ์˜ ํ™•์žฅ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๊ฐ€์šฉ์„ฑ ๋ฐ ๋ณด์•ˆ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” <u>์˜จ๋ผ์ธ ์˜ค๋ธŒ์ ํŠธ(</u><u>๊ฐ์ฒด)</u><u> </u><u>์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค</u>์ด๋‹ค. (์ฐธ๊ณ ๋กœ S ์•ž๊ธ€์ž๊ฐ€ 3๊ฐœ๋ผ์„œ S3 ์ด๋ผ๊ณ  ํ•œ๋‹ค.

S3 (Simple Storage Service) ๊ฐœ๋…

AWS S3๋Š” ์—…๊ณ„ ์ตœ๊ณ ์˜ ํ™•์žฅ์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๊ฐ€์šฉ์„ฑ ๋ฐ ๋ณด์•ˆ๊ณผ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์˜จ๋ผ์ธ ์˜ค๋ธŒ์ ํŠธ(๊ฐ์ฒด)** **์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค์ด๋‹ค.

(์ฐธ๊ณ ๋กœ S ์•ž๊ธ€์ž๊ฐ€ 3๊ฐœ๋ผ์„œ S3 ์ด๋ผ๊ณ  ํ•œ๋‹ค.)

์‰ฝ๊ฒŒ ๋งํ•˜์ž๋ฉด, ์Šคํ† ๋ฆฌ์ง€ ์ฆ‰ ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ ์ฒ˜๋Ÿผ ํŒŒ์ผ ์ €์žฅ ์„œ๋น„์Šค์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ** **์˜จ๋ผ์ธ์œผ๋กœ ์˜ค๋ธŒ์ ํŠธ ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ์„œ๋น„์Šค๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์•ž์— ์˜จ๋ผ์ธ์ด๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋ถ™๋Š” ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ ์กฐ์ž‘์— HTTP/HTTPS๋ฅผ ํ†ตํ•œ API๊ฐ€ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋˜ํ•œ ํŽธ๋ฆฌํ•œ UI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์–ด๋””์„œ๋‚˜ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์‰ฝ๊ฒŒ ์›น ๊ทœ๋ชจ ์ปดํ“จํŒ… ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

S3๋Š” ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์–‘์— ๋Œ€ํ•œ ๋น„์šฉ๋„ ์ €๋ ดํ•˜๊ณ , ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์–‘์ด ๋ฌดํ•œ์— ๊ฐ€๊น๋‹ค.

๋˜ํ•œ 'elastic'ํ•œ ์„ฑ์งˆ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ์Šคํ† ๋ฆฌ์ง€ ํ™•์žฅ, ์ถ•์†Œ์— ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

S3๋Š” FTP ์„œ๋ฒ„์ฒ˜๋Ÿผ ๋‹จ์ˆœํ•œ ํŒŒ์ผ ์ €์žฅ ์˜์—ญ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๋‹ค์–‘ํ•œ AWS ์„œ๋น„์Šค์˜ ์‚ฌ์šฉ ๋กœ๊ทธ ์ €์žฅ, ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, EBS ์Šค๋ƒ…์ƒท์˜ ์ €์žฅ ์˜์—ญ ๊ธฐ๋Šฅ ๋“ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ด์™ธ์—๋„ ๋น… ๋ฐ์ดํ„ฐ ๋ถ„์„์˜ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜ On-Premise ํ™˜๊ฒฝ์˜ ์žฌ๋‚œ๋ณต๊ตฌ ์ „์šฉ ๋ฐ์ดํ„ฐ ๋ฐฑ์—…, Auto Scaling์„ ํ™œ์šฉํ•œ EC2 ์ธ์Šคํ„ด์Šค์˜ ๋กœ๊ทธ ์ €์žฅ ๋“ฑ์œผ๋กœ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ํญ ๋„“๊ฒŒ ํ™œ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

S3๋Š” ์ง€์—ญ๋ณ„ ์„œ๋น„์Šค๋กœ์„œ ์ง€์—ญ๋ณ„ ์žฌ๋‚œ ์ƒํ™ฉ์— ๋Œ€๋น„ํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋ฐ˜๋ณต ์ €์žฅ์„ ํ•œ๋‹ค.

S3 ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ํŠน์ง•

๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€๋ž€ ๊ฐ์ฒด๋กœ ๋œ ํŒŒ์ผ์„ ๋‹ค๋ฃจ๋Š” ์ €์žฅ์†Œ ๋ผ๋Š” ๋ง์ด๋‹ค.

์ด์˜ ๋ฐ˜๋Œ€๋ง์ด EC2๋ฅผ ๋ฐฐ์šธ๋•Œ ๋“ฑ์žฅํ–ˆ๋˜ EBS(Block storage Service)Visit Website ๊ฐ€ ์žˆ๋‹ค. (EBS๋Š” ์ผ์ข…์˜ SSD๋‚˜ ํ•˜๋“œ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค)

๋ณดํ†ต ์šฐ๋ฆฌ๋Š” OS๋‚˜ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณธ์ฒด์— ๊ฝ‚ํ˜€์žˆ๋Š” ํ•˜๋“œ๋ผ๋Š” ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•˜๊ณ  ๊ตฌ๋™์‹œํ‚จ๋‹ค. ์ด๋Š” ๋งค์šฐ ์ž์—ฐ์Šค๋Ÿฌ์šฐ๋ฉด์„œ ๋‹น์—ฐํ•œ ๋™์ž‘์ด์ง€๋งŒ,

S3์˜ ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

S3์— ํŒŒ์ผ์„ ์„ค์น˜ํ•˜๋Š” ํ–‰์œ„๋Š” ํ• ์ˆ˜๋Š” ์—†๊ณ , ๊ทธ๋ƒฅ ์ด๋ฏธ์ง€๋‚˜ ๋™์˜์ƒ ํŒŒ์ผ ๋“ฑ๋งŒ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰, ํŒŒ์ผ ์—…๋กœ๋“œ, ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ๋งŒ ๊ฐ€๋Šฅํ•˜์ง€, ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด์„œ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์—†๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

S3์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • S3๋Š” ์ €์žฅ ์šฉ๋Ÿ‰์ด ๋ฌดํ•œ๋Œ€์ด๊ณ  ํŒŒ์ผ ์ €์žฅ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค. ์šฉ๋Ÿ‰์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ์ž‘์—…์ด ํ•„์š”์—†๋‹ค.
  • ๋น„์šฉ์€ EC2์™€ EBS๋กœ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ์ €๋ ดํ•˜๋‹ค
  • S3 ์ž์ฒด๊ฐ€ ์ˆ˜์ฒœ ๋Œ€ ์ด์ƒ์˜ ๋งค์šฐ ์„ฑ๋Šฅ์ด ์ข‹์€ ์›น ์„œ๋ฒ„๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์–ด์„œ EC2์™€ EBS๋กœ ๊ตฌ์ถ•ํ–ˆ์„ ๋•Œ ์ฒ˜๋Ÿผ Auto Scaling์ด๋‚˜ Load Balancing์— ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • ์›นํ•˜๋“œ ์„œ๋น„์Šค์™€ ๋น„์Šทํ•˜์ง€๋งŒ, ๋ณ„๋„์˜ ํด๋ผ์ด์–ธํŠธ ์„ค์น˜๋‚˜ ActiveX๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ , HTTP ํ”„๋กœํ† ์ฝœ(restful)๋กœ ํŒŒ์ผ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • S3 ์ž์ฒด๋กœ ์ •์  ์›น์„œ๋น„์Šค ๊ฐ€๋Šฅ (html ํŒŒ์ผ์„ ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅํ•˜๊ณ , html ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋ฉด ๊ทธ๊ฒŒ ํ™ˆํŽ˜์ด์ง€)
  • ๋™์  ์›นํŽ˜์ด์ง€์™€ ์ •์  ์›นํŽ˜์ด์ง€๊ฐ€ ์„ž์—ฌ์žˆ์„ ๋•Œ ๋™์  ์›นํŽ˜์ด์ง€๋งŒ EC2์—์„œ ์„œ๋น„์Šคํ•˜๊ณ  ์ •์  ์›นํŽ˜์ด์ง€๋Š” S3๋ฅผ ์ด์šฉํ•˜๋ฉด ์„ฑ๋Šฅ๋„ ๋†’์ด๊ณ  ๋น„์šฉ๋„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

S3 ์‚ฌ์šฉ ์˜ˆ

  • ํด๋ผ์šฐ๋“œ ์ €์žฅ์†Œ (๊ฐœ์ธ ํŒŒ์ผ ๋ณด๊ด€, ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ์ฒ˜๋Ÿผ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  • ์„œ๋น„์Šค์˜ ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ €์žฅ์†Œ - ์ด๋ฏธ์ง€, ๋™์˜์ƒ, ๋น…๋ฐ์ดํ„ฐ (ex: ๋„ทํ”Œ๋ฆญ์Šค)
  • ์„œ๋น„์Šค ๋กœ๊ทธ ์ €์žฅ ๋ฐ ๋ถ„์„
  • AWS ์•„๋ฐ๋‚˜๋ฅผ ์ด์šฉํ•œ ๋น…๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ ๋ฐ ๋ถ„์„
  • ์„œ๋น„์Šค ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ ์„œ๋ฒ„ (์ด๋ฏธ์ง€ ์„œ๋ฒ„, ๋™์˜์ƒ ์„œ๋ฒ„)
  • ์ค‘์š”ํ•œ ํŒŒ์ผ์€ EC2์˜ SSD (EBS: Elastic Block Store)์— ์ €์žฅํ•˜์ง€ ๋ง๊ณ  S3์— ์ €์žฅ
  • glacier์™€์˜ ์—ฐ๋™์œผ๋กœ ๋น„์šฉ ์ ˆ๊ฐ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜ ๊ฐ€๋Šฅ (๋น™ํ•˜๋ผ๋Š” ๋œป์œผ๋กœ ์ž์ฃผ ์“ฐ์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ S3์—์„œ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜)

S3 ๋ฒ„ํ‚ท / ๊ฐ์ฒด ๊ฐœ๋…

S3์—๋Š” Bucket๊ณผ Object๋ผ๋Š” ๋‹จ์œ„๊ฐ€ ์žˆ๋‹ค.

  • ๊ฐ์ฒด(Object)๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” ์ €์žฅ ๋‹จ์œ„์ด๋ฉฐ
  • ๋ฒ„ํ‚ท(Bucket)์€ ์ด๋Ÿฌํ•œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. [AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท์€ ๊ทธ๋ƒฅ ๋””๋ ‰ํ† ๋ฆฌ/ํด๋” ๊ฐœ๋…์œผ๋กœ ํ‚ค๋Š” ํŒŒ์ผ๋ช…์œผ๋กœ ์ดํ•ดํ•ด๋„ ๋œ๋‹ค.

๋งŒ์•ฝ User๋ผ๋Š” ์ด๋ฆ„์˜ ๋ฒ„ํ‚ท์— profile.png ๊ฐ์ฒด ํŒŒ์ผ์„ ์ €์žฅํ•˜๋ฉด http://User.s3.amazonaws.com/profile.png๋ผ๋Š” URL์ด ์ƒ์„ฑ๋˜๊ฒŒ ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3์„ ๊ตฌ์„ฑํ• ๋•Œ, **๋ฒ„ํ‚ท(Bucket)**์ด๋ผ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋†“์„ ๋ฆฌ์ „์„ ์„ ํƒํ•˜๊ณ , ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— **๊ฐ์ฒด(Object)**๋ผ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ํ˜•ํƒœ๋กœ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค.

ํ•œ ๊ณ„์ • ๋‹น Bucket์€ ์ตœ๋Œ€ 100๊ฐœ๊นŒ์ง€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฒ„ํ‚ท ๋‹จ์œ„๋กœ ์ ‘๊ทผ ์ œํ•œ์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

๋‹จ, Bucket์˜ ์†Œ์œ ๊ถŒ์€ ์ด์ „ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

S3์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๊ฐ์ฒด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๊ฐ์ฒด๋Š” ํ•˜๋‚˜ ๋‹น 1Byte์—์„œ ์ตœ๋Œ€ 5TB๊นŒ์ง€ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ˆ˜๋Š” ์ œํ•œ์ด ์—†๋‹ค.

๊ฐ ๊ฐ์ฒด๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์ง€๋‹ˆ๋Š”๋ฐ S3 ๋ฒ„ํ‚ท์— ์˜ฌ๋ฆฌ๋Š” ๊ฐ์ฒด๊ฐ€ ๋ฐ”๋กœ ๋ฐ์ดํ„ฐ์ด๊ณ  ์ตœ์ข… ์ˆ˜์ •์ผ, ํŒŒ์ผ ํƒ€์ž… ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค.

(๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ๋„ค์ž„-๋ฒจ๋ฅ˜ ์Œ์œผ๋กœ ์ด์šฐ๋Ÿฌ์ ธ ์žˆ๋‹ค.)

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

๋”ฐ๋ผ์„œ** **S3 ๋‚ด์—์„œ ๋ฒ„ํ‚ท, ํ‚ค, ๋ฒ„์ „ ID๋ฅผ ํ†ตํ•ด ํŠน์ • ๊ฐ์ฒด๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3 ๋ฆฌ์ „(Region) ๊ตฌ์„ฑ

  • S3๊ฐ€ ์ƒ์„ฑํ•œ ๋ฒ„ํ‚ท์„ ์ €์žฅํ•  ์œ„์น˜๋ฅผ ์ง€์ •ํ•œ๋‹ค.
  • ๋ฆฌ์ „ ๊ฐ„ ๊ฐ์ฒด ๊ณต์œ ๋Š” ๋ถˆ๊ฐ€๋Šฅ
  • ๋ฒ„ํ‚ท ์œ„์น˜(๋ฆฌ์ „)์„ ์–ด๋””์— ์ง€์ •ํ•˜๋ƒ์— ๋”ฐ๋ผ ์ง€์—ฐ ์‹œ๊ฐ„, ๋น„์šฉ ๋“ฑ์ด ๊ฒฐ์ •๋˜๊ฒŒ ๋œ๋‹ค.

S3 ๋ฒ„ํ‚ท(bucket) ๊ตฌ์„ฑ

  • Amazon S3์—์„œ ์ƒ์„ฑ๋˜๋Š” ์ตœ์ƒ์œ„์˜ ๋””๋ ‰ํ† ๋ฆฌ์ด๋ฉฐ, Amazon S3์— ์ €์žฅ๋œ ๊ฐ์ฒด์˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋‹ค.
  • S3์ƒ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ๋ฒ„ํ‚ท์— ํฌํ•จ๋œ๋‹ค.
  • ๋ฒ„ํ‚ท์˜ ์ด๋ฆ„์€ S3์—์„œ ์œ ์ผํ•ด์•ผ ํ•œ๋‹ค.๊ฒŒ์ž„ ์•„์ด๋””๊ฐ™์ด ์ค‘๋ณต๋ ์ˆ˜๊ฐ€ ์—†๋‹ค. ์ฆ‰, ์ „์„ธ๊ณ„์— ์–ด๋””์—๋„ ์ค‘๋ณต๋œ ์ด๋ฆ„์ด ์กด์žฌ ํ•  ์ˆ˜ ๊ฐ€ ์—†๋‹ค.
  • ํ•œ ๊ณ„์ • ๋‹น ์ตœ๋Œ€ 100๊ฐœ์˜ ๋ฒ„ํ‚ท ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
  • ๋ฒ„ํ‚ท ์ฃผ์†Œ๋Š” https://bucketname.s3.Region.amazonaws.com ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
  • ๋ฒ„ํ‚ท์„ ์ƒ์„ฑํ•˜๋ฉด default๋กœ private์ƒํƒœ์ด๋‹ค.
  • ๋ฒ„ํ‚ท ์†Œ์œ ๊ถŒ์€ ์ด์ „ํ•  ์ˆ˜ ์—†๋‹ค.
  • ๋ฒ„ํ‚ท ์•ˆ์— ๋‹ค๋ฅธ ๋ฒ„ํ‚ท์„ ๋‘˜ ์ˆ˜ ์—†๋‹ค. [AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3 ๊ฐ์ฒด(Object) ๊ตฌ์„ฑ

S3 Object์—๋Š” Key, Value, Version ID, Metadata, CORS(Cross Origin Resource Sharing)์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

  • Key : ํŒŒ์ผ์˜ ์ด๋ฆ„
    • ๋ฒ„ํ‚ท ๋‚ด ๊ฐ์ฒด์˜ ๊ณ ์œ ํ•œ ์‹๋ณ„์ž. ๋ฒ„ํ‚ท ๋‚ด ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ํ‚ค๋ฅผ ๊ฐ–๋Š”๋‹ค.
    • ๋ฒ„ํ‚ท, ํ‚ค ๋ฐ ๋ฒ„์ „ ID์˜ ์กฐํ•ฉ์€ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•œ๋‹ค.
  • Value : ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ
    • S3์€ Key - Value ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์ง€๋งŒ, Key์˜ ์ ‘๋‘์–ด ๋ฐ ์Šฌ๋ž˜์‹œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋” ๊ฐœ๋… ๊ฐ™์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ์œˆ๋„์šฐ ํŒŒ์ผ์˜ ํด๋” ๊ฒฝ๋กœ๋ฅผ ์กฐํšŒํ•ด๋ณด๋ฉด \Documents\img\cloud.png ์ด๋ ‡๊ฒŒ ๋˜์–ด์žˆ๋Š”๋ฐ, ์ด์™€๊ฐ™์ด url๋กœ /awsinaction/img/cloud.png ๊ฐ™์ด ๊ตฌ์„ฑ ๋˜์–ด์ง„๋‹ค๋Š” ๋ง์ด๋‹ค.
  • Version Id : ํŒŒ์ผ์˜ ๋ฒ„์ „ ์•„์ด๋””
    • Version ID๋Š” S3์˜ ๊ณ ์œ  ํŠน์ง• ์ค‘ ํ•˜๋‚˜ ์ด๋‹ค. ๊ฐ™์€ ํŒŒ์ผ์ด์ง€๋งŒ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋•๋Š” ์ธ์‹ํ‘œ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค. ๋งŒ์•ฝ ์ด์ „ ๋ฒ„์ „์œผ๋กœ ๋Œ์•„๊ฐ€๊ณ  ์‹ถ๋‹ค๋ฉด Version ID๋ฅผ ํ†ตํ•ด ์‰ฝ๊ฒŒ ๋ณต์› ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • MetaData : ํŒŒ์ผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ๋ฐ์ดํ„ฐ
    • ์ตœ์ข… ์ˆ˜์ •์ผ, ํŒŒ์ผ ํƒ€์ž…, ํŒŒ์ผ ์†Œ์œ ์ž, ์‚ฌ์ด์ฆˆ ..๋“ฑ
  • ACL : ํŒŒ์ผ์˜ ๊ถŒํ•œ์„ ๋‹ด์€ ๋ฐ์ดํ„ฐ (์ ‘๊ทผ์ด๋‚˜ ์ˆ˜์ •)
  • Torrents : ํ† ๋ ŒํŠธ ๊ณต์œ ๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ
  • CORS(Cross Origin Resource Sharing) : ํ•œ ๋ฒ„์ผ“์˜ ํŒŒ์ผ์„ ์ง€์—ญ์„ ๋ฌด์‹œํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฒ„์ผ“์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ

S3 ๊ฐ์ฒด(Object) ํŠน์ง•

  • ๊ฐ์ฒด ํ•˜๋‚˜์˜ ํฌ๊ธฐ๋Š” 1Byte ~ 5TB
  • ์ €์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด ๊ฐฏ์ˆ˜ ๋ฌด์ œํ•œ
  • ๊ฐ์ฒด๋งˆ๋‹ค ๊ฐ๊ฐ์˜ ์ ‘๊ทผ ๊ถŒํ•œ ์„ค์ • ๊ฐ€๋Šฅ
  • ๊ฐ์ฒด metadata๋Š” ๊ฐ์ฒด๊ฐ€ ์—…๋กœ๋“œ ๋œ ํ›„์—๋Š” ์ˆ˜์ •๋  ์ˆ˜ ์—†๊ณ , ๋ณต์‚ฌํ•ด์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ฐ์ฒด์˜ metadata๋Š” response header์— ๋ฐ˜ํ™˜๋œ๋‹ค.
  • ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํด๋”, ํŒŒ์ผ์ฒ˜๋Ÿผ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ณ„์ธตํ™”ํ•ด์„œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

S3 ๋ฒ„์ €๋‹ (Versioning)

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์•ž์„œ ์†Œ๊ฐœํ–ˆ๋“ฏ์ด ํŒŒ์ผ์„ ์‹ค์ˆ˜๋กœ ์‚ญ์ œํ•˜๊ณ  ์ €์žฅ์„ ํ•ด๋ฒ„๋ ธ์„ ๊ฒฝ์šฐ, S3๋Š” ์ด๋ฅผ ์œ„ํ•ด ์ž๋™ํ™”๋œ ๋ฐฑ์—… ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ธ ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ์ƒ์• ์ฃผ๊ธฐ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

๋ฒ„์ €๋‹(Versioning)์€ ํŠน์ • ๊ฐ์ฒด์— ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ์œ ์ง€ํ•˜๋Š” ์ˆ˜๋‹จ์ด๋‹ค.

ํŒŒ์ผ์— ๋ฒ„์ „ ์•„์ด๋””๋ฅผ ๋ถ™์ž„์œผ๋กœ์„œ, ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ S3 ๋ฒ„ํ‚ท์— ์ €์žฅ๋œ ๋ชจ๋“  ๊ฐ์ฒด์˜ ๋ฒ„์ „์„ ๋ณด์กด, ๊ฒ€์ƒ‰ ๋ฐ ๋ณต์›ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์˜๋„ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž ์ž‘์—…๊ณผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜ ๋ชจ๋‘ ์‰ฝ๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋งค์šฐ ํŽธ๋ฆฌํ•˜์ง€๋งŒ ๋น„์šฉ์„ ์กฐ์‹ฌํ•ด์•ผ ํ•œ๋‹ค.

aws ๋งค๋‹ˆ์ €์—์„œ ๋ฒ„ํ‚ท์„ ๋งŒ๋“ค๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋ผ์„œ ์ง์ ‘ ํ™œ์„ฑํ™” ํ•ด์•ผํ•œ๋‹ค.

๋‹จ, ๋ฒ„ํ‚ท์—์„œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•œ ํ›„์—๋Š” ๋น„ํ™œ์„ฑํ™” ์ƒํƒœ๋กœ ๋Œ์•„๊ฐˆ ์ˆ˜ ์—†๋‹ค. ๋Œ€์‹  ๋ฒ„์ „ ๊ด€๋ฆฌ ์ผ์‹œ ์ค‘์ง€ ์„ค์ •์€ ๊ฐ€๋Šฅํ•˜๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๊ฐ์ฒด ๋ฒ„์ „ ID ์ˆ˜์ • / ์‚ญ์ œ / ์กฐํšŒ ๋™์ž‘

๋ฒ„ํ‚ท์— ๋Œ€ํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด ์ €์žฅ๋˜๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ๋ฒ„์ „ ID๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜์–ด์ง„๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด photo.gif(๋ฒ„์ „ID : 111111) , photo.gif(๋ฒ„์ „ID : 121212)์™€ ๊ฐ™์ด ํ•˜๋‚˜์˜ ๋ฒ„ํ‚ท์—์„œ ํ‚ค๊ฐ’์€ ๋™์ผํ•˜์ง€๋งŒ ๋ฒ„์ „ ID๊ฐ€ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ๊ฐ์ฒด๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด๋ฒˆ์—๋Š” ํŒŒ์ผ์„ ์ˆ˜์ •ํ• ๋•Œ์˜ ๋™์ž‘์„ ์•Œ์•„๋ณด์ž.

๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ„ํ‚ท์— ๊ฐ์ฒด๋ฅผ PUT(REST API์˜ ์ˆ˜์ • ๋™์ž‘ ๋ช…๋ น)ํ•  ๋•Œ ํŒŒ์ผ์„ ๋ฎ์–ด์“ฐ์ง€ ์•Š๋Š”๋‹ค.

๋‹ค์Œ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๊ฐ์ฒด๋ฅผ ์ด๋ฏธ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋ฒ„ํ‚ท์— ์ƒˆ ๋ฒ„์ „์˜ photo.gif๋ฅผ PUTํ•  ๋•Œ ์›๋ž˜ ๊ฐ์ฒด(ID = 111111)๋Š” ๋ฒ„ํ‚ท์— ๊ณ„์† ๋‚จ์•„ ์žˆ์œผ๋ฉฐ

S3๊ฐ€ ์ƒˆ ๋ฒ„์ „ ID(121212)๋ฅผ ๋งŒ๋“ค์–ด ๋ฒ„ํ‚ท์— ์ถ”๊ฐ€ํ•ด ์œ„๋กœ ์˜ฌ๋ฆฌ๊ฒŒ ๋œ๋‹ค. (๋งจ ์œ„์— ์˜ฌ๋ ค์ง„๊ฒŒ ์ตœ์‹  ๋ฐ์ดํ„ฐ๋กœ ์ธ์‹)

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด ๊ธฐ๋Šฅ์œผ๋กœ ์‹ค์ˆ˜๋กœ ๊ฐ์ฒด๋ฅผ ๋ฎ์–ด์“ฐ๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๊ฐ์ฒด์˜ ์ด์ „ ๋ฒ„์ „์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ฐ์ฒด๋ฅผ DELETEํ•˜๋ฉด, ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฒ„ํ‚ท์— ์‚ญ์ œ ๋งˆ์ปค(Delete Marker)๋ฅผ ์‚ฝ์ž…์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

ํŒŒ์ผ์„ ์‚ญ์ œ ํ•œ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์‚ญ์ œ ๋งˆ์ปค๋ฅผ ์ตœ์ƒ๋‹จ์— ์˜ฌ๋ฆผ์œผ๋กœ์„œ ๋งˆ์น˜ ํŒŒ์ผ์ด ์‚ญ์ œ๋œ๊ฒƒ์ฒ˜๋Ÿผ ํšจ๊ณผ๋ฅผ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ DELETE๋ฅผ ์ˆ˜ํ–‰ํ•ด๋„ ํŒŒ์ผ์˜ ์ „์ฒด์ ์ธ ๋ฒ„์ „ ์ •๋ณด๋ฅผ ์œ ์ง€์‹œํ‚ค๊ฒŒ ๋œ๋‹ค.

๋งŒ์ผ ๋ฒ„์ „ ๊ด€๋ฆฌ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋ฒ„์ ผ ID ์ž์ฒด๋ฅผ DELETE ํ•ด์•ผ ํ•œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๊ธฐ๋ณธ์ ์œผ๋กœ GET ์š”์ฒญ์€ ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ €์žฅ๋œ ๋ฒ„์ „์„ ๊ฒ€์ƒ‰ํ•œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ตœ์‹  ๋ฒ„์ „์ด ์‚ญ์ œ ๋งˆ์ปค์ผ ๋•Œ ๊ฐ„๋‹จํ•œ GET Object ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹ค์Œ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด 404 Not Found ์˜ค๋ฅ˜๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.

(์‚ญ์ œ๋œ ํŒŒ์ผ์ด๋‹ˆ๊นŒ ์ •์ƒ ๋™์ž‘์ด๋‹ค)

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด๋•Œ ๋ฒ„์ „ ID๋ฅผ ์ง€์ •ํ•˜์—ฌ ํŠน์ • ๊ฐ์ฒด์— ๋Œ€ํ•ด GET์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. (ํŠน์ • ๊ฐ์ฒด ๋ฒ„์ „์ธ 111111์„ GET)

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3 ๋ณด์•ˆ / ๊ถŒํ•œ (์ ‘๊ทผ ์ œ์–ด)

S3๋Š” ์ „์„ธ๊ณ„์—์„œ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค ์ด๋‹ค.

๋”ฐ๋ผ์„œ ์–ด๋А ๋ˆ„๊ฐ€ ์ ‘์†ํ•ด ๋‚ด์šฉ๋ฌผ์„ ๋ณ€์กฐํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— S3์˜ ๋ฒ„ํ‚ท์˜ ๊ธฐ๋ณธ ์ •์ฑ…์€ public์ด ์•„๋‹Œ private๋กœ ์„ค์ • ๋˜์–ด์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋งŒ์ผ ์™ธ๋ถ€์—์„œ ์ ‘์†ํ•ด S3์˜ ๋ฒ„ํ‚ท์„ ์ œ์–ดํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ?

์ด๋•Œ๋Š” ๋ฒ„ํ‚ท์„ ํ†ต์งธ๋กœ public์œผ๋กœ ๊ฐœ๋ฐฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ S3 ๊ถŒํ•œ ์ œ์–ด์„ ํ†ตํ•ด ์ ‘๊ทผ ์ œ์–ด๋ฅผ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.

S3 ๊ถŒํ•œ ์„ค์ •์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ 4๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ

  • ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉ์ž์˜ ๋ฒ„ํ‚ท ๊ถŒํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” IAM
  • ๊ถŒํ•œ ์žˆ๋Š” ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•œ ๊ฐœ๋ณ„ ๊ฐ์ฒด(์˜ค๋ธŒ์ ํŠธ)๋ฅผ ์•ก์„ธ์Šค ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)
  • ๋‹จ์ผ S3 ๋ฒ„ํ‚ท ๋‚ด ๋ชจ๋“  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ์„ธ๋ถ€์ ์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฒ„ํ‚ท ์ •์ฑ…(bocket policy)
  • ์ž„์‹œ URL์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ธฐ๊ฐ„ ์ œํ•œ(์ž„์‹œ ๊ถŒํ•œ) ์•ก์„ธ์Šค๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ์ธ์ฆ(pre-signed URL) ๋“ฑ์˜ ์•ก์„ธ์Šค ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ์ •์ฑ…์€ ๋ฒ„ํ‚ท ๋‹จ์œ„๋กœ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ™•์ •ํ•˜๊ณ  ์ดํ›„์— ๋ณ€๊ฒฝ์ด ์ ์„ ๋•Œ, ACL์€ ๊ฐ์ฒด ๋‹จ์œ„๋กœ ์ ‘๊ทผ ์ œ์–ดํ•  ๋•Œ IAM ์ œ์–ด๋Š” ์‚ฌ์šฉ์ž ๋‹จ์œ„๋กœ ์ ‘๊ทผ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

์ง€๊ธˆ ๋ถ€ํ„ฐ ๊ฐ S3 ๊ถŒํ•œ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

Public Access

ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ๊ถŒํ•œ์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ชจ๋‘์—๊ฒŒ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์˜คํ”ˆํ•  ๊ฒƒ์ธ์ง€ ์•„๋‹ˆ๋ฉด ์ž„์˜์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ œํ•œํ•  ๊ฒƒ์ธ์ง€ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์˜ต์…˜์„ ๋ณด๋ฉด 4๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค๊ฐ€ ํ—ˆ์šฉ๋˜๋Š” ๊ฒฝ์šฐ์„ ๊ฐ๊ฐ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹จ, ์ตœ์ƒ์œ„์˜ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ์—‘์„ธ์Šค ์ฐจ๋‹จ์„ ์„ค์ • ํ•  ๊ฒฝ์šฐ ์–ด๋–ค ๊ฒฝ์šฐ์ด๋“  ๋ชจ๋‘ ์ ‘์†์„ ์ฐจ๋‹จํ•˜๊ฒŒ ๋œ๋‹ค.

๊ฐ์ž ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์ œํ•œ์„ ์˜คํ”ˆํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

ACL (Access Control List)

ACL์€ ๋ฒ„ํ‚ท์ด๋‚˜ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์š”์ฒญ์ž์˜ ๊ถŒํ•œ ํ—ˆ์šฉ ๋ฒ”์œ„๋ฅผ ์–ด๋””๊นŒ์ง€ ์„ค์ •ํ•  ๊ฒƒ์ธ๊ฐ€์— ๋Œ€ํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์š”์ฒญ์ž๋Š” ์ผ๋ฐ˜ ํผ๋ธ”๋ฆญํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๊ณ„์ •์˜ owner๋‚˜ resouce group, ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„์ผ“ ์ฃผ์ธ๊ณผ ์˜ค๋ธŒ์ ํŠธ ์ฃผ์ธ์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ์˜ ๊ถŒํ•œ ์„ค์ •, log ์ €์žฅ์šฉ ๋ฒ„ํ‚ท์— ๋Œ€ํ•œ ๊ถŒํ•œ ์„ค์ • ๋“ฑ์„ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ๋ฒ„ํ‚ท๊ณผ ๊ทธ ์†์— ํฌํ•จ๋œ ๊ฐ์ฒด๋Š” ACL๊ณผ ์—ฐ๋™๋œ๋‹ค. ๋”ฐ๋ผ์„œ ACL๋กœ S3 ๋ฒ„ํ‚ท์ด๋‚˜ ๊ฐ์ฒด์˜ ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๋Š”๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

ACL์€ IAM์ด๋‚˜ ๋ฒ„ํ‚ท ์ •์ฑ…์— ๋น„ํ•ด ๋” ๋„“์€ ๋ฒ”์œ„์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹จ์ง€ ์ ‘๊ทผ ์Šน์ธ์„ ํ•œ ๊ณณ๊ณผ ์ ‘๊ทผ ์Šน์ธ์„ ๋ฐ›์€ ๊ณณ์œผ๋กœ๋งŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์ž‡๋‹ค.

(๊ฐ„๋‹จํ•œ ๊ฒƒ๋งŒ ์„ค์ • ๊ฐ€๋Šฅ)

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ์ •์ฑ…(Bucket Policy)

Bucket Policy๋Š” ๋ฒ„ํ‚ท์„ ์‚ฌ์šฉํ•  ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๋ช…์˜ ์‚ฌ์šฉ์ž ๋ณ„๋กœ ๊ฐ๊ฐ์˜ ํ–‰์œ„์— ๋Œ€ํ•œ ๊ถŒํ•œ ๋ฒ”์œ„๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ˆ„๊ตฐ๊ฐ€๋Š” ์ฝ๊ธฐ๋งŒ ๊ฐ€๋Šฅํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๋Š” ์ฝ๊ธฐ, ์“ฐ๊ธฐ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ ๊ฐ™์ด ๋ง์ด๋‹ค.

์ฆ‰, Bucket์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ๊ถŒํ•œ ์„ค์ •์€ Bucket Policy๋ฅผ ํ†ตํ•ด ์„ค์ •๋œ๋‹ค.

๋‹จ, ๋ฒ„ํ‚ท ์•ˆ์˜ ํŒŒ์ผ ํ•˜๋‚˜ํ•˜๋‚˜์˜ ๊ถŒํ•œ ์„ค์ •์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

Bucket Policy๋Š” JSON ํ˜•์‹์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ณด๋‹ค ์‹œํ”ผ ๊ต‰์žฅํžˆ ์„ธ์„ธํ•˜๊ฒŒ ํ‚ค๊ฐ’์„ ์ •์˜ํ•ด ๊ถŒํ•œ์„ ์„ค์ •ํ•ด ์ฃผ๊ณ  ์žˆ๋‹ค.

์œ„์˜ JSON ๊ถŒํ•œ ํ˜•์‹์„ ํ•ด์„ํ•˜์ž๋ฉด, **๊ณ„์ • spark323 ์•„์ด๋””์ธ ์œ ์ €์— ๋Œ€ํ•ด์„œ Resource(ํ•ด๋‹น๋ฒ„ํ‚ท)์— ๋Œ€ํ•ด Action(๊ฐ์ฒด๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ๋ฒ„์ผ“ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜)์„ **

Effect(ํ—ˆ์šฉ) Condition(์•„์ดํ”ผ 192.168.1.1, 192.168.1.2/32 ์ธ ํ•˜์—)** **ํ•œ๋‹ค๋Š” ๋ง์ด๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

Access Log ์ „์†ก ๊ฐ€๋Šฅ

Access Log๋ž€ ๋ฒ„ํ‚ท์˜ ๋ชจ๋“  ํŒŒ์ผ๋“ค์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ธฐ๋ก์„ ๋งํ•œ๋‹ค.

์ด ์ ‘๊ทผ ๊ธฐ๋ก์„ ๋‹ค๋ฅธ S3 ๋ฒ„ํ‚ท ํ˜น์€ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ๋„ ์ „์†ก ๊ฐ€๋Šฅํ•˜๋‹ค.

MFA(์ด์ค‘ ์ธ์ฆ)๋ฅผ ํ™œ์šฉํ•ด ์‚ญ์ œ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ

AWS ๊ณ„์ • ์ƒ์„ฑํ• ๋•Œ ์„ค์ • ํ–ˆ๋˜ ์ด์ค‘ ์ธ์ฆ ์˜ต์…˜์ด๋‹ค.

๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด ํŒŒ์ผ ์ง€์šธ๋•Œ ๋ณด์•ˆ ํ† ํฐ ์ž…๋ ฅํ•˜๋ผ๋Š” ๋ฐฉ์ง€์ฑ…์ด๋‹ค.

S3 ์š”๊ธˆ ์ •์ฑ…

S3๋Š” ์‚ฌ์šฉํ•œ ๋งŒํผ๋งŒ ์š”๊ธˆ์„ ์ง€๋ถˆํ•œ๋‹ค.

์š”๊ธˆ ์ž์ฒด๊ฐ€ ์ €๋ ดํ•œ ํŽธ์ด๋ผ์„œ ๋กœ๊ทธ ๋“ฑ์„ ์ €์žฅํ•ด๋‘๋Š” ์šฉ๋„๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค.

S3 Glacier ๊ฐ™์€ ์žฅ๊ธฐ ๋ณด๊ด€์šฉ ๋“ฑ๊ธ‰์˜ ๊ฒฝ์šฐ storage ์ €์žฅ ๋น„์šฉ์€ ์ •๋ง ์ €๋ ดํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊บผ๋‚ผ๋•Œ ์š”๊ธˆ์ด ๊ต‰์žฅํžˆ ์„ธ๋‹ค.

๋™์ผํ•œ ๋ฆฌ์ „์˜ EC2์™€๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ์š”๊ธˆ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ S3์™€ EC2์˜ ๋ฆฌ์ „์€ ๋™์ผํ•˜๊ฒŒ ์„ค๊ณ„ํ•œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3 ๋ฒ„ํ‚ท ์ƒ์„ฑํ•˜๊ธฐ

๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด ๋ฒ„ํ‚ท์˜ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์™ธ๋ถ€์—์„œ๋„ ํŒŒ์ผ์„ ์ฝ๊ฒŒ ํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค๋ฅผ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ฐจ๋‹จํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, "๋ชจ๋“  ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ"์€ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ์„ธ๋ถ€์ ์ธ ์˜ต์…˜์„ ์„ ํƒํ•˜๋ฉด ๋œ๋‹ค.

  • **์ƒˆ ACL(์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก)์„ ํ†ตํ•ด ๋ถ€์—ฌ๋œ ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ **โ†’ ์ง€์ •๋œ ACL์ด ํผ๋ธ”๋ฆญ์ด๊ฑฐ๋‚˜, ์š”์ฒญ์— ํผ๋ธ”๋ฆญ ACL์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด PUT ์š”์ฒญ์„ ๊ฑฐ์ ˆํ•œ๋‹ค.
  • **์ž„์˜์˜ ACL(์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก)์„ ํ†ตํ•ด ๋ถ€์—ฌ๋œ ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ **โ†’ ๋ฒ„ํ‚ท์˜ ๋ชจ๋“  ํผ๋ธ”๋ฆญ ACL๊ณผ ๊ทธ ์•ˆ์— ํฌํ•จ๋œ ๋ชจ๋“  Object๋ฅผ ๋ฌด์‹œํ•˜๊ณ , ํผ๋ธ”๋ฆญ ACL๋ฅผ ํฌํ•จํ•˜๋Š” PUT ์š”์ฒญ์€ ํ—ˆ์šฉํ•œ๋‹ค.
  • **์ƒˆ ํผ๋ธ”๋ฆญ ๋ฒ„ํ‚ท ๋˜๋Š” ์•ก์„ธ์Šค ์ง€์  ์ •์ฑ…์„ ํ†ตํ•ด ๋ถ€์—ฌ๋œ ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ** โ†’ ์ง€์ •๋œ ๋ฒ„ํ‚ท ์ •์ฑ…์ด ํผ๋ธ”๋ฆญ์ด๋ฉด PUT ์š”์ฒญ์„ ๊ฑฐ์ ˆํ•œ๋‹ค. ์ด ์„ค์ •์„ ์ฒดํฌํ•˜๋ฉด ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค๋ฅผ ์ฐจ๋‹จํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ๋ฒ„ํ‚ท ์ •์ฑ…์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด ์„ค์ • ํ™œ์„ฑํ™”๋Š” ๊ธฐ์กด ๋ฒ„ํ‚ท ์ •์ฑ…์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
  • **์ž„์˜์˜ ํผ๋ธ”๋ฆญ ๋ฒ„ํ‚ท ๋˜๋Š” ์•ก์„ธ์Šค ์ง€์  ์ •์ฑ…์„ ํ†ตํ•ด ๋ถ€์—ฌ๋œ ๋ฒ„ํ‚ท ๋ฐ ๊ฐ์ฒด์— ๋Œ€ํ•œ ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ **โ†’ ํผ๋ธ”๋ฆญ ์ •์ฑ…์ด ์žˆ๋Š” ๋ฒ„ํ‚ท์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๊ฐ€ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž์™€ AWS ์„œ๋น„์Šค๋กœ๋งŒ ์ œํ•œ๋˜๋ฉฐ, ์ด ์„ค์ • ํ™œ์„ฑํ™”๋Š” ๊ธฐ์กด ๋ฒ„ํ‚ท ์ •์ฑ…์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท์— ํŒŒ์ผ ์—…๋กœ๋“œ ํ•˜๊ธฐ

๋ฒ„ํ‚ท์— ํด๋” ์ƒ์„ฑ

๋ฒ„ํ‚ท์˜ [๊ฐ์ฒด] ๋ฉ”๋‰ด๋กœ ๋“ค์–ด์˜ค๋ฉด, ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐ์ฒด๋ฅผ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋‹ค.

ํด๋”์˜ ๊ฐ์ฒด์— ์•ก์„ธ์Šคํ•  ๋•Œ URL์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ํด๋” ์ด๋ฆ„์—๋Š” '/'๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์—†๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

ํด๋”๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ๋˜๋ฉด, ๋ฒ„ํ‚ท ๊ฒฝ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋œ๋‹ค.

s3://๋ฒ„ํ‚ท๋ช…/ํด๋”๋ช…/

s3://tistory-test-bucket-01/test1/

์ด์ œ ํด๋”๋‚ด์—์„œ ๊ฐ์ฒด(ํŒŒ์ผ)์„ ์—…๋กœ๋“œํ•ด ๊ด€๋ฆฌํ•˜๋ฉด ๋ณด๋‹ค ํšจ์œจ์ ์œผ๋กœ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๋ฒ„ํ‚ท์— ํŒŒ์ผ ์—…๋กœ๋“œ

์ƒ์„ฑํ•œ ๋ฒ„ํ‚ท/ํด๋”์— ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•ด๋ณด์ž.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

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

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ชจ๋“  ์„ค์ •์„ ๋งˆ์น˜๊ณ  [์—…๋กœ๋“œ]๋ฅผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ˆ„๋ฅด๋ฉด ์—…๋กœ๋“œ๊ฐ€ ์‹œ์ž‘๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

S3 ๋ฒ„ํ‚ท์„ ๋งŒ๋“ค๋•Œ ๋ถ„๋ช… ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋งŒ๋“ค์—ˆ์ง€๋งŒ, ์ด์ƒํ•˜๊ฒŒ ๊ฐ์ฒด ์ ‘๊ทผ์ด Access Denied๊ฐ€ ๋œฌ๋‹ค.

์•ž์„œ ์ƒ์„ฑํ•œ S3 ๋ฒ„ํ‚ท์„ ๋ณด๋ฉด ๊ฐ์ฒด๋ฅผ ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ ๋ฉ”์„ธ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Š” ์•„์ง ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๋œป์ด๋ฉฐ ์™ธ๋ถ€์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ์™ธ๋ถ€์—์„œ ํ•ด๋‹น ๋ฒ„ํ‚ท์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฒ„ํ‚ท ์ •์ฑ…์„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ์ •์ฑ… ์„ค์ •ํ•˜๊ธฐ

๋ฒ„ํ‚ท ์ •์ฑ…์€ JSON์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ์ด๋‹ค.

๋‹ค์Œ ์‚ฌ์ดํŠธ์—์„œ ๋ฒ„ํ‚ท ์ •์ฑ…์„ ์†์‰ฝ์— ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

AWS Policy Generator

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ๋ฉ”๋‰ด๋กœ ๋“ค์–ด๊ฐ€์„œ ๋ฒ„ํ‚ท ์ •์ฑ… ํŽธ์ง‘์„ ํด๋ฆญํ•ด ์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ •์ฑ…์ด ๋ช…์‹œ๋œ JSON ๊ฐ’์„ ๋ณต์‚ฌ ํ•œ ๋’ค ๋ฒ„ํ‚ท ์ •์ฑ…์— ์ž…๋ ฅํ•ด์ฃผ๊ณ  ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค€๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท์ด ์™„์ „ํžˆ ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •๋˜์—ˆ๋‹ค.

์ด์ œ ๋‹ค์‹œ ์—…๋กœ๋“œํ–ˆ๋˜ ์ด๋ฏธ์ง€ ๋ฒ„ํ‚ท url๋กœ ๋ธŒ๋ผ์šฐ์ €์— ์ ‘์†์„ ํ•ด๋ณด๋ฉด, ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์ง„์ด ๋ณด์ด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

๋ฒ„ํ‚ท ACL ์„ค์ •ํ•˜๊ธฐ

์œ„์—์„œ ๋ฒ„ํ‚ท ์ •์ฑ… JSON์„ ์ƒ์„ฑํ•ด ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ • ํ•ด์คฌ์ง€๋งŒ,

๋ฒ„ํ‚ท ์ •์ฑ… JSON ์„ค์ •์ด ๋ณต์žกํ•˜๋‹ค๋ฉด, ๋ณด๋‹ค ๊ฐ„ํŽธํ•˜๊ฒŒ ACL ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด S3 ๋ฒ„ํ‚ท ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ• ์ˆ˜ ์žˆ๋‹ค.

๋ฒ„ํ‚ท ์ ‘๊ทผ ์ œ์–ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์œ„ ํ‘œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๋ฒ„ํ‚ท์— ์ ‘๊ทผ์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 3๊ฐ€์ง€ ์ •๋„ ์กด์žฌํ•œ๋‹ค.

IAM ์ œ์–ด๋Š” ๋ง ๊ทธ๋Œ€๋กœ, IAM ๊ณ„์ •์— S3 ์ ‘๊ทผ ๊ถŒํ•œ(policy)๋ฅผ ์„ค์ •ํ•ด ์‚ฌ์šฉ์ž ๋‹จ์œ„๋กœ ์—‘์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ด๊ณ ,

๋ฐ”๋กœ ์œ„์—์„œ ๋ฐฐ์šด ๋ฒ„ํ‚ท ์ •์ฑ…์€ ๋ฒ„ํ‚ท ๋‹จ์œ„๋กœ ์ƒ์„ธํ•œ ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ™•์ •ํ•˜๊ณ  ์ดํ›„์— ๋ณ€๊ฒฝ์ด ์ ์„ ๋•Œ,

ACL์€ ๊ฐ์ฒด ๋‹จ์œ„๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ‘๊ทผ ์ œ์–ดํ•  ๋•Œ, ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ACL ์„ค์ •ํ•˜๊ธฐ

๋งŒ์ผ ACL๋กœ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ํผ๋ธ”๋ฆญ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

์šฐ์„  ๋ฒ„ํ‚ท ๋ฉ”๋‰ด์— ๋“ค์–ด๊ฐ€ ๊ถŒํ•œ ํƒญ์„ ํด๋ฆญํ•˜๊ณ  ๋ฐ‘์œผ๋กœ ์ญ‰ ๋‚ด๋ ค๋ณธ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท์„ ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •ํ–ˆ์œผ๋ฉด, ๊ฐ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ๋„ ํผ๋ธ”๋ฆญ์œผ๋กœ ์„ค์ •ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

ํŒŒ์ผ์„ ์ฒ˜์Œ ์—…๋กœ๋“œํ• ๋•Œ ๋ฐ‘์˜ ACL ๋ฉ”๋‰ด์—์„œ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ •ํ•ด์ค„ ์ˆ˜ ์žˆ๊ณ ,

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด๋ฏธ ์—…๋กœ๋“œ๋œ ๊ฐ์ฒด์ผ ๊ฒฝ์šฐ, ์ž‘์—… ๋ฉ”๋‰ด์—์„œ ํŒŒ์ผ์„ ACL์„ ํ†ตํ•ด ํผ๋ธ”๋ฆญ์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์ด๋ ‡๊ฒŒ ๋ฒ„ํ‚ท ์ •์ฑ… ์—†์ด ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ๋•Œ acl์„ ๋ถ™์ด๋ฉด ์ •์ƒ์ ์œผ๋กœ ํผ๋ธ”๋ฆญ ์ฝ๊ธฐ๊ฐ€ ๋œ๋‹ค.

๋ฒ„ํ‚ท ํŒŒ์ผ ๊ณต์œ 

์ผ๋ฐ˜์ ์ธ ๊ฐ์ฒด(ํŒŒ์ผ) ๊ณต์œ ๋Š” URL์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ์ œ๊ณตํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

ํ•˜์ง€๋งŒ ๋งŒ์ผ ๋ฒ„ํ‚ท์ด ๋ณด์•ˆ์„ ์œ„ํ•ด ํผ๋ธ”๋ฆญ ์„ค์ •์ด ์•ˆ๋˜์–ด์žˆ์„๋•Œ,

public์—์„œ ์ ‘๊ทผํ•ด์„œ object๋ฅผ ๋‹ค์šด ๋ฐ›๊ฑฐ๋‚˜ ์—…๋กœ๋“œ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฒ„ํ‚ท ์ž์ฒด๋ฅผ public์œผ๋กœ ์—ด๊ธฐ์—” ๋ถ€๋‹ด์Šค๋Ÿฝ๊ณ  ๊ทธ๋ ‡๋‹ค๊ณ  pulblic์— ์žˆ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ

S3 ์ ‘๊ทผ ๊ถŒํ•œ์„ ์ผ์ผ์ด ๋ถ€์—ฌํ•˜๊ธฐ๋„ ๋ฒˆ๊ฑฐ๋กœ์šธ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฒŒ pre-signed url(์ž„์‹œ ๊ถŒํ•œ)์ด๋‹ค.

pre-signed URL ๊ณต์œ ํ•˜๊ธฐ

pre-signed url์€ ์ž„์‹œ์ž๊ฒฉ์ฆ๋ช…์„œ ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, S3 ์ ‘๊ทผ์„ ์œ„ํ•œ ์ž„์‹œ url๋กœ ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๋งŒ๋ฃŒ๋˜๋ฉด public ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

๋ฒ„ํ‚ท ์‚ญ์ œํ•˜๊ธฐ

๊ณ„์† ๋ฒ„ํ‚ท์„ ๋†”๋‘๋ฉด ๊ณผ๊ธˆ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ํ•„์š”ํ•  ๋•Œ๋งŒ ์„ค์ •ํ•ด๋‘๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋Š” ์‚ญ์ œํ•ด๋‘๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

๋ฒ„ํ‚ท์„ ์‚ญ์ œํ•  ๋•Œ๋Š” ์ผ๋‹จ ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.

ํŒŒ์ผ์„ ๋‹ค ์‚ญ์ œํ–ˆ์œผ๋ฉด ๋ฒ„ํ‚ท ํƒญ์—์„œ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

[AWS] ๐Ÿ“š S3 ๊ฐœ๋… & ๋ฒ„ํ‚ท ยท ๊ถŒํ•œ ์„ค์ • ๋ฐฉ๋ฒ• image

์›๋ณธ์ถœ์ฒ˜

On this page

S3 (Simple Storage Service) ๊ฐœ๋…S3 ๊ฐ์ฒด ์Šคํ† ๋ฆฌ์ง€ ํŠน์ง•S3์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ S3 ์‚ฌ์šฉ ์˜ˆS3 ๋ฒ„ํ‚ท / ๊ฐ์ฒด ๊ฐœ๋…S3 ๋ฆฌ์ „(Region) ๊ตฌ์„ฑS3 ๋ฒ„ํ‚ท(bucket) ๊ตฌ์„ฑS3 ๊ฐ์ฒด(Object) ๊ตฌ์„ฑS3 ๊ฐ์ฒด(Object) ํŠน์ง•S3 ๋ฒ„์ €๋‹ (Versioning)๊ฐ์ฒด ๋ฒ„์ „ ID ์ˆ˜์ • / ์‚ญ์ œ / ์กฐํšŒ ๋™์ž‘S3 ๋ณด์•ˆ / ๊ถŒํ•œ (์ ‘๊ทผ ์ œ์–ด)Public AccessACL (Access Control List)๋ฒ„ํ‚ท ์ •์ฑ…(Bucket Policy)Access Log ์ „์†ก ๊ฐ€๋ŠฅMFA(์ด์ค‘ ์ธ์ฆ)๋ฅผ ํ™œ์šฉํ•ด ์‚ญ์ œ ๋ฐฉ์ง€ ๊ธฐ๋ŠฅS3 ์š”๊ธˆ ์ •์ฑ…S3 ๋ฒ„ํ‚ท ์ƒ์„ฑํ•˜๊ธฐ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฒ„ํ‚ท์— ํŒŒ์ผ ์—…๋กœ๋“œ ํ•˜๊ธฐ๋ฒ„ํ‚ท์— ํด๋” ์ƒ์„ฑ๋ฒ„ํ‚ท์— ํŒŒ์ผ ์—…๋กœ๋“œ๋ฒ„ํ‚ท ์ •์ฑ… ์„ค์ •ํ•˜๊ธฐAWS Policy Generator๋ฒ„ํ‚ท ACL ์„ค์ •ํ•˜๊ธฐ๋ฒ„ํ‚ท ์ ‘๊ทผ ์ œ์–ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋ฒ„ํ‚ท ACL ์„ค์ •ํ•˜๊ธฐ๋ฒ„ํ‚ท ํŒŒ์ผ ๊ณต์œ pre-signed URL ๊ณต์œ ํ•˜๊ธฐ๋ฒ„ํ‚ท ์‚ญ์ œํ•˜๊ธฐ