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
- Read after Write Consistency (PUT)
: ํ์ผ์ด S3๋ฒ์ผ์ ์ฌ๋ผ๊ฐ๋ฉด ์ฐ๋ฆฌ๊ฐ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ.
- Eventual Consistency (UPDATE, DELETE)
: ์ฐ๋ฆฌ๊ฐ ํ์ผ์ ๋ด์ฉ์ ์
๋ฐ์ดํธํ๊ฑฐ๋ ์ญ์ ํ ์ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ก ๋ํ๋์ง ์์.
๐ S3 ์คํ ๋ฆฌ์ง(5๊ฐ์ง)
- ์ผ๋ฐ S3
- ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์คํ ๋ฆฌ์ง ํ์
- ๋์ ๋ด๊ตฌ์ฑ, ๊ฐ์ฉ์ฑ (Durability, Availability)
: ์ผ๋ง๋ ๋ฐ์ดํฐ์๋ํ ์์ค์ด ์ ๋ณต์๋๋์ง, ์ผ๋ง๋ค ๋ฐ์ดํฐ ์ ๊ทผ์ด ์ฉ์ดํ์ง
- S3 - IA (Infrequent Access)
- ์์ฃผ ์ ๊ทผ๋์ง๋ ์์ผ๋ ์ ๊ทผ์ ๋น ๋ฅธ ์ ๊ทผ์ด ์๊ตฌ๋๋ ํ์ผ์ด ๋ง์์ ์ ์ฉ
- ์ผ๋ฐ S3์ ๋นํด ๋น์ฉ์ ์ ๋ ดํ๋ ์ ๊ทผ์ ์ถ๊ฐ ๋น์ฉ ๋ฐ์
- ๋ฉํฐ AZ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ฅ: ๊ฐ์ฉ์ฑ์ด ๋์.
- S3 - One Zone IA
- ๋จ์ผ AZ๋ฅผ ํตํ ๋ฐ์ดํฐ ์ ์ฅ
- ๋จ์ผ AZ์ ์ํ ๋ฐ์ดํฐ ์ ๊ทผ ์ ํ (์กฐ๊ธ ๋ฎ์ ๊ฐ์ฉ์ฑ)
: ์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ
- ๋ฐ์ดํฐ ์ ๊ทผ์ S3 - IA๋ณด๋ค 20% ๋น์ฉ ์ ๋ ด
- Glacier
- ๊ฑฐ์ ์ ๊ทผํ์ง ์์ ๋ฐ์ดํฐ ์ ์ฅ ์ ์ ์ฉ
- ๋งค์ฐ ์ ๋ ดํ ๋น์ฉ
- ๋ฐ์ดํฐ ์ ๊ทผ์ ๋๋ต 4-5์๊ฐ ์์: ์๋นํ ์ค๋๊ฑธ๋ฆผ.
- Intelligent Tiering
- ๋ฐ์ดํฐ ์ ๊ทผ ์ฃผ๊ธฐ๊ฐ ๋ถ๊ท์นํ ๋ ๋งค์ฐ ์ ์ฉ
- 2๊ฐ์ง ํฐ์ด ์กด์ฌ
- Frequent Tier
- Infrequent Tier
- ๋ฐ์ดํฐ ์ ๊ทผ์ฃผ๊ธฐ์ ๋ฐ๋ผ ๋๊ฐ์ง ํฐ์ด์ค ํ๋๋ก ์ ํ๋จ(์๋)
- Frequent Tier๊ฐ ๋น์ฉ์ด ์ฝ๊ฐ ๋ ๋น์
- ์ต๊ณ ์ ๋น์ฉ ์ ๊ฐ ํจ์จ์ ๋๋ฆด ์ ์์
๐ S3 ์๊ธ
- GB๋น
: ์ฝ 1GB/0.23๋ฌ๋ฌ
- PUT, GET, COPY ์์ฒญ ํ์๋น
- ๋ฐ์ดํฐ ๋ค์ด๋ก๋์ / ๋ค๋ฅธ ๋ฆฌ์์ค๋ก ์ ์ก์
- Metadata (object tag)
S3 - ๋ฒ์ผ ์์ฑ์ ์์์ผ ํ ๊ฒ๋ค
๐ S3 ์ฌ์ฉ ์ฉ๋ก
- ํ์ผ ์ ์ฅ์ (๋ก๊ทธ, ๋ค์ํ ํ์ผ๋ค(์ด๋ฏธ์ง, ๋น๋์ค, ์์ถํ์ผ ๋ฑ)
- ์น์ฌ์ดํธ ํธ์คํ
- CORS(Cross Origin Resource Sharing)
ex. Bucket A ์์ Bucket B์ ๋ค์ด์๋ ๋ฐ์ดํฐ ์ ๊ทผ์ ํ๋ค๋ฉด ์ค๋ฅ๊ฐ ๋จ. ์ด๋, ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ๋ ๊ฒ์ด CORS์.
๐ ์ต์ด S3 ๋ฒ์ผ ์์ฑ์
โป ๋น๊ณต๊ฐ(PRIVATE)
: ๋ง๋ ์ฌ๋๋ง ์ ๊ทผ ๊ฐ๋ฅ
- ํน์ ์ ์ ์๊ฒ ์ ๊ทผ๊ถํ์ ์ฃผ๋ ๋ฐฉ๋ฒ
- ๋ฒ์ผ ์ ์ฑ
๋ณ๊ฒฝ (Bucket Policy)
: JSONํํ๋ก ๋์ด ์์.
- ์ ๊ทผ ์ ์ด ๋ฆฌ์คํธ ๋ณ๊ฒฝ (Access Control List)