๐Ÿงฉ4. AWS - S3๋ž€

yoonseulesยท2021๋…„ 5์›” 9์ผ
1

CloudClub์†Œํ•™ํšŒ_AWS

๋ชฉ๋ก ๋ณด๊ธฐ
9/14
post-thumbnail

S3 (Simple Storage Service)

  • AWS์—์„œ ๊ฐ€์žฅ ์ฒ˜์Œ์œผ๋กœ ๋Ÿฐ์นญํ•œ ํ”„๋กœ๊ทธ๋žจ
  • ์•ˆ์ „ํ•˜๊ณ  ๊ฐ€๋ณ€์ ์ธ Object ์ €์žฅ๊ณต๊ฐ„์„ ์ œ๊ณต (ex: Google Cloud): ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ ์ €์žฅ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์šด์˜์ฒด์ œ๋ฅผ ์—…๋กœ๋“œ ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ํŽธ๋ฆฌํ•œ UI ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์–ด๋””์„œ๋‚˜ ์‰ฝ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Œ
  • ํŒŒ์ผ ํฌ๊ธฐ๋Š” 0KB๋ถ€ํ„ฐ 5TB๊นŒ์ง€ ์ง€์›
  • ์ €์žฅ๊ณต๊ฐ„ ๋ฌด์ œํ•œ: ๋””์Šคํฌ ํ• ๋‹น์ด ํ•„์š” ์—†์Œ.
  • Bucket์ด๋ผ๋Š” ์ด๋ฆ„์„ ์‚ฌ์šฉํ•จ (๋””๋ ‰ํ† ๋ฆฌ์™€ ์œ ์‚ฌํ•จ): ์ด๋ฆ„์€ ๊ณ ์œ ํ•ด์•ผํ•จ.
  • Bucket์€ ๋ณดํŽธ์ ์ธ namespace๋ฅผ ์‚ฌ์šฉํ•จ

๐Ÿ”Ž S3 Object ๊ตฌ์„ฑ์š”์†Œ

  • Key: ํŒŒ์ผ๋ช…
  • Value: ๊ทธ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ
  • Version ID: S3์˜ ๊ณ ์œ  ํŠน์ง•, ๋˜‘๊ฐ™์€ ํŒŒ์ผ์ธ๋ฐ ๋‹ค๋ฅธ ๋ฒ„์ „์œผ๋กœ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ž„.
  • Metadata: ๋ฐ์ดํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋ž€ ๋œป์œผ๋กœ ๋‹ค์–‘ํ•œ ์ •๋ณด๋“ค์ด ๋‹ด๊ฒจ์žˆ๊ณ  ์ง์ ‘ ์ˆ˜์ •๋„ ๊ฐ€๋Šฅ
  • CORS (Cross Origin Resource Sharing): ํ•œ ๋ฒ„์ผ“์˜ ํŒŒ์ผ์„ ์ง€์—ญ์„ ๋ฌด์‹œํ•˜๊ณ  ๋‹ค๋ฅธ ๋ฒ„์ผ“์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ

๐Ÿ”Ž S3 Data Consistency Model

  1. Read after Write Consistency (PUT)
    : ํŒŒ์ผ์ด S3๋ฒ„์ผ“์— ์˜ฌ๋ผ๊ฐ€๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ.
  2. Eventual Consistency (UPDATE, DELETE)
    : ์šฐ๋ฆฌ๊ฐ€ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•  ์‹œ ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ”๋กœ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์Œ.

๐Ÿ”Ž S3 ์Šคํ† ๋ฆฌ์ง€(5๊ฐ€์ง€)

  1. ์ผ๋ฐ˜ S3
  • ๊ฐ€์žฅ ๋ณดํŽธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ํƒ€์ž…
  • ๋†’์€ ๋‚ด๊ตฌ์„ฑ, ๊ฐ€์šฉ์„ฑ (Durability, Availability)
    : ์–ผ๋งˆ๋‚˜ ๋ฐ์ดํ„ฐ์—๋Œ€ํ•œ ์†์‹ค์ด ์ž˜ ๋ณต์›๋˜๋Š”์ง€, ์–ผ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ์šฉ์ดํ•œ์ง€
  1. S3 - IA (Infrequent Access)
  • ์ž์ฃผ ์ ‘๊ทผ๋˜์ง€๋Š” ์•Š์œผ๋‚˜ ์ ‘๊ทผ์‹œ ๋น ๋ฅธ ์ ‘๊ทผ์ด ์š”๊ตฌ๋˜๋Š” ํŒŒ์ผ์ด ๋งŽ์„์‹œ ์œ ์šฉ
  • ์ผ๋ฐ˜ S3์— ๋น„ํ•ด ๋น„์šฉ์€ ์ €๋ ดํ•˜๋‚˜ ์ ‘๊ทผ์‹œ ์ถ”๊ฐ€ ๋น„์šฉ ๋ฐœ์ƒ
  • ๋ฉ€ํ‹ฐ AZ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ: ๊ฐ€์šฉ์„ฑ์ด ๋†’์Œ.
  1. S3 - One Zone IA
  • ๋‹จ์ผ AZ๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ
  • ๋‹จ์ผ AZ์— ์˜ํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ œํ•œ (์กฐ๊ธˆ ๋‚ฎ์€ ๊ฐ€์šฉ์„ฑ)
    : ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋ฉด ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์‹œ S3 - IA๋ณด๋‹ค 20% ๋น„์šฉ ์ €๋ ด
  1. Glacier
  • ๊ฑฐ์˜ ์ ‘๊ทผํ•˜์ง€ ์•Š์„ ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹œ ์œ ์šฉ
  • ๋งค์šฐ ์ €๋ ดํ•œ ๋น„์šฉ
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์‹œ ๋Œ€๋žต 4-5์‹œ๊ฐ„ ์†Œ์š”: ์ƒ๋‹นํžˆ ์˜ค๋ž˜๊ฑธ๋ฆผ.
  1. Intelligent Tiering
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ฃผ๊ธฐ๊ฐ€ ๋ถˆ๊ทœ์น™ํ• ๋•Œ ๋งค์šฐ ์œ ์šฉ
  • 2๊ฐ€์ง€ ํ‹ฐ์–ด ์กด์žฌ
    • Frequent Tier
    • Infrequent Tier
  • ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ฃผ๊ธฐ์— ๋”ฐ๋ผ ๋‘๊ฐ€์ง€ ํ‹ฐ์–ด์ค‘ ํ•˜๋‚˜๋กœ ์„ ํƒ๋จ(์ž๋™)
  • Frequent Tier๊ฐ€ ๋น„์šฉ์ด ์•ฝ๊ฐ„ ๋” ๋น„์Œˆ
  • ์ตœ๊ณ ์˜ ๋น„์šฉ ์ ˆ๊ฐ ํšจ์œจ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Œ

๐Ÿ”Ž S3 ์š”๊ธˆ

  • GB๋‹น
    : ์•ฝ 1GB/0.23๋‹ฌ๋Ÿฌ
  • PUT, GET, COPY ์š”์ฒญ ํšŸ์ˆ˜๋‹น
  • ๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ์‹œ / ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋กœ ์ „์†ก์‹œ
  • Metadata (object tag)

S3 - ๋ฒ„์ผ“ ์ƒ์„ฑ์‹œ ์•Œ์•„์•ผ ํ•  ๊ฒƒ๋“ค

๐Ÿ”Ž S3 ์‚ฌ์šฉ ์šฉ๋ก€

  1. ํŒŒ์ผ ์ €์žฅ์†Œ (๋กœ๊ทธ, ๋‹ค์–‘ํ•œ ํŒŒ์ผ๋“ค(์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์••์ถ•ํŒŒ์ผ ๋“ฑ)
  2. ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…
  3. CORS(Cross Origin Resource Sharing)
    ex. Bucket A ์—์„œ Bucket B์— ๋“ค์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ํ•œ๋‹ค๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋‚จ. ์ด๋•Œ, ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” ๊ฒƒ์ด CORS์ž„.

๐Ÿ”Ž ์ตœ์ดˆ S3 ๋ฒ„์ผ“ ์ƒ์„ฑ์‹œ

โ€ป ๋น„๊ณต๊ฐœ(PRIVATE)
: ๋งŒ๋“  ์‚ฌ๋žŒ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

  • ํŠน์ • ์œ ์ €์—๊ฒŒ ์ ‘๊ทผ๊ถŒํ•œ์„ ์ฃผ๋Š” ๋ฐฉ๋ฒ•
  1. ๋ฒ„์ผ“ ์ •์ฑ… ๋ณ€๊ฒฝ (Bucket Policy)
    : JSONํ˜•ํƒœ๋กœ ๋˜์–ด ์žˆ์Œ.
  2. ์ ‘๊ทผ ์ œ์–ด ๋ฆฌ์ŠคํŠธ ๋ณ€๊ฒฝ (Access Control List)
profile
๊ณต๋Œ€์ƒ ๊ฐœ๋… ์ •๋ฆฌ์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€