11. HTTP ํ๋กํ ์ฝ๊ณผ ์ฐ๋๋๋ ์คํ ๋ฆฌ์ง S3
11. HTTP ํ๋กํ ์ฝ๊ณผ ์ฐ๋๋๋ ์คํ ๋ฆฌ์ง S3 ๊ด๋ จ
S3Simple Storage Service๋ ์ธํฐ๋ท ์คํ ๋ฆฌ์ง ์๋น์ค์ ๋๋ค. ์ฉ๋์ ๊ด๊ณ ์์ด ํ์ผ์ ์ ์ฅํ ์ ์๊ณ ์น(HTTP ํ๋กํ ์ฝ)์์ ํ์ผ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
ํ๋ฆฌ ํฐ์ด์์ ์ฌ์ฉ ๊ฐ๋ฅ
S3๋ ํ๋ฆฌ ํฐ์ด์์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. 2014๋ 8์ ๊ธฐ์ค์ผ๋ก ํ์ค ์คํ ๋ฆฌ์ง 5GB, ๋งค๋ฌ Get ์์ฒญ 20,000๊ฑด, Put ์์ฒญ 2,000๊ฑด์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
S3์ ์จ์ผ ํ๋ ์ด์ ๋ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ ์์ต๋๋ค. ๋์ฉ๋์ ํ์ผ ์ ์ฅ์ EC2์ EBS๋ฅผ ํตํด ๊ตฌ์ถํ๋ค๋ฉด ์๋นํ ๋ง์ ๋น์ฉ์ด ๋ค๊ณ , ๋ ธ๋ ฅ์ด ์๊ตฌ๋ฉ๋๋ค. ํ์ง๋ง S3๋ ์ ์ฅ ์ฉ๋์ด ๋ฌดํ๋์ด๊ณ ํ์ผ ์ ์ฅ์ ์ต์ ํ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฉ๋์ ์ถ๊ฐํ๊ฑฐ๋ ์ฑ๋ฅ์ ๋์ด๋ ์์ ์ ํ์ง ์์๋ ๋ฉ๋๋ค. ๋น์ฉ ๋ํ, EC2์ EBS๋ก ๊ตฌ์ถํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํฉ๋๋ค.
๋ํ, EC2์ EBS๋ก ์ ์ ์น ์๋น์ค(HTML๊ณผ JavaScript๋ก๋ง ๊ตฌ์ฑ๋ ์น์ฌ์ดํธ)๋ฅผ ๊ตฌ์ถํ๋ค๋ฉด ์ผ์ผ์ด EC2์ EBS๋ฅผ ์์ฑํ์ฌ ๋์ ์๊ธ์ ๋ผ ํ์ ์์ด S3์์ ๋ฐ๋ก ์ ์ ์น ์๋น์ค(์ ์ ์น ํธ์คํ )๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. S3 ์์ฒด๊ฐ ์์ฒ ๋ ์ด์์ ๋งค์ฐ ์ฑ๋ฅ์ด ์ข์ ์น ์๋ฒ๋ก ๊ตฌ์ฑ๋์ด ์์ด์ EC2์ EBS๋ก ๊ตฌ์ถํ์ ๋์ฒ๋ผ ์๋ ํก์ ํ์ฅAuto Scaling์ด๋ ๋ถํ ๋ถ์ฐLoad Balancing์ ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋ฉ๋๋ค.
๋์ ์น ํ์ด์ง(ASP, JSP, PHP, Ruby on Rails ๋ฑ)์ ์ ์ ์น ํ์ด์ง๊ฐ ์์ฌ ์๋ค๋ฉด ๋์ ์น ํ์ด์ง๋ง EC2์์ ์๋น์คํ๊ณ ์ ์ ์น ํ์ด์ง๋ S3์ ์ด์ฉํ๋ฉด ์ฑ๋ฅ๋ ๋์ผ ์ ์๊ณ ๋น์ฉ๋ ์ ๊ฐํ ์ ์์ต๋๋ค.
S3์ ์์ฆ ํํ ๋ณผ ์ ์๋ ์นํ๋ ์๋น์ค์ ๋น์ทํ๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. ํ์ง๋ง ์นํ๋ ์๋น์ค์ S3์ ํฐ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ์นํ๋ ์๋น์ค๋ ๋ณ๋์ ํด๋ผ์ด์ธํธ๋ฅผ ์ค์นํ๊ฑฐ๋ ActiveX๋ฅผ ํตํ์ฌ ํ์ผ์ ์ ๋ก๋/๋ค์ด๋ก๋ํด์ผ ํ์ง๋ง S3์ ํ์ผ ์ ๋ก๋/๋ค์ด๋ก๋๋ฅผ ๋ชจ๋ HTTP ํ๋กํ ์ฝ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณ๋์ ํด๋ผ์ด์ธํธ๋ ActiveX ์ค์น ์์ด ์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ํ, ์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ S3 ์์ฒด๋ก ์ ์ ์น ์๋น์ค๊ฐ ๊ฐ๋ฅํ ๊ฒ๋ ํฐ ํน์ง์ ๋๋ค.
๋ค์์ S3 ๊ธฐ๋ณธ ๊ฐ๋ ์ ๋๋ค.
- ๊ฐ์ฒด(Object): S3์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์ต์ ๋จ์์ ๋๋ค. ์ด ๊ฐ์ฒด๋ ํ์ผ๊ณผ ๋ฉํ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ํค(Key)๊ฐ ๊ฐ์ฒด์ ์ด๋ฆ์ด๋ฉฐ ๊ฐ(Value)์ด ๊ฐ์ฒด์ ๋ฐ์ดํฐ ์ ๋๋ค.
- ๊ฐ์ฒด ํ๋์ ํฌ๊ธฐ๋ 1๋ฐ์ดํธ๋ถํฐ 5ํ ๋ผ๋ฐ์ดํธ(TB)๊น์ง์ ๋๋ค.
- ๋ฉํ๋ฐ์ดํฐ๋ HTTP Content-Type ํ์(MIME) ์ ๋๋ค. ํ์ผ์ ํ์ฅ์์ ๋ฐ๋ผ ์๋์ผ๋ก ์ค์ ๋๋ฉฐ ์์๋ก ์ค์ ํ ์๋ ์์ต๋๋ค. ํค-๊ฐ(Key-Value) ํ์์ด๋ฉฐ S3 ์ ์ฉ ๋ฉํ๋ฐ์ดํฐ ๋ฐ ์ฌ์ฉ์ ์ ์ ๋ฉํ๋ฐ์ดํฐ๋ ์ ์ฅ๋ฉ๋๋ค.
- ๋ฒํท(bucket): S3์์ ์์ฑํ ์ ์๋ ์ต์์ ํด๋(๋๋ ํฐ๋ฆฌ)์ ๋๋ค. ๋ฒํท์ ๋ฆฌ์ ๋ณ๋ก ์์ฑํด์ผ ํฉ๋๋ค. ๋จ ๋ฒํท์ ์ด๋ฆ์ ๋ชจ๋ S3 ๋ฆฌ์ ์ค์์ ์ ์ผํด์ผ ํฉ๋๋ค. ๊ณ์ ๋ณ๋ก 100๊ฐ๊น์ง ์์ฑํ ์ ์์ต๋๋ค
- ๋ฒํท ์์ ๊ฐ์ฒด๊ฐ ์ ์ฅ๋ฉ๋๋ค.
- ํด๋(๋๋ ํฐ๋ฆฌ) ์์ฑ ๊ฐ๋ฅ์ด ๊ฐ๋ฅํฉ๋๋ค(์ค์ ๋ก๋ ๊ฐ์ฒด ์ด๋ฆ์ด ๋๋ ํฐ๋ฆฌ ๊ฒฝ๋ก๊น์ง ํฌํจํ๊ณ ์์ต๋๋ค).
- ์ ์ฅ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ๊ฐ์๋ ๋ฌด์ ํ์ ๋๋ค.
- ์ ์ฅ ๊ฐ๋ฅํ ์ฉ๋์ ๋ฌด์ ํ์ ๋๋ค.
- ์ ์ ์ ์ด ๋ฐ ๊ถํ ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- [
http://examplebucket.s3.amazonaws.com/helloworld.jpg
] ์ฒ๋ผ URL๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ฌ๊ธฐ์examplebucket
์ ๋ฒํท,helloworld.jpg
์ ๊ฐ์ฒด์ ๋๋ค. - ๋ด๊ตฌ์ฑ๊ณผ ๊ฐ์ฉ์ฑ: 1๋ ๊ธฐ์ค์ผ๋ก 99.999999999% ๋ด๊ตฌ์ฑ, 99.99% ๊ฐ์ฉ์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ด๊ตฌ์ฑ์ ๋ฐ์ดํฐ๊ฐ ์ ์ค๋์ง ์๋ ๊ฒ์ ๋ปํ๋ฉฐ ๊ฐ์ฉ์ฑ์ ์ธ์ ๋ ์ ์์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ๋ฅผ ๋งํฉ๋๋ค.
- ์๊ธ: ์ ์ฅ ์ฉ๋๊ณผ ๋ฐ์ดํฐ ์ ์ก๋, HTTP ์์ฒญ(Request) ๊ฐ์๋ก ์ฑ ์ ๋ฉ๋๋ค. ์์ธํ ์๊ธ์ AWS ์ฌ์ดํธ์ ์๊ธํ๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.
S3์๋ ๋ด๊ตฌ์ฑ์ด ๋ค๋ฅธ ๋ ๊ฐ์ง ์คํ ๋ฆฌ์ง ์ต์ ์ด ์์ต๋๋ค. ์ด ์ต์ ์ ๊ฐ์ฒด(๋๋ ํฐ๋ฆฌ)๋ณ๋ก ์ค์ ํ ์ ์์ต๋๋ค.
- ํ์ค ์คํ ๋ฆฌ์ง(Standard Storage): ์ผ๋ฐ์ ์ธ ์คํ ๋ฆฌ์ง ์ต์ ์ ๋๋ค. 99.999999999% ๋ด๊ตฌ์ฑ์ ๊ฐ์ง๊ณ ์์ง๋ง AWS ๋ด๋ถ์ ์ผ๋ก๋ ์ด๋ฐ ๋์ ๋ด๊ตฌ์ฑ์ ์ ์งํ๋ ค๋ฉด ๊ทธ๋งํผ ๋น์ฉ์ด ๋ง์ด ๋ค๊ฒ ๋๊ณ ์๊ธ๋ ๋์์ง๋๋ค. ๋ฐ๋ผ์ ์ ์ค์ด ๋๋ฉด ์ ๋๋ ์ค์ํ ๋ฐ์ดํฐ ์ ์ฅ์ ๊ถ์ฅํฉ๋๋ค.
- ๋ฎ์ ์ค๋ณต ์คํ ๋ฆฌ์ง(RRS, Reduced Redundancy Storage): ํ์ค ์คํ ๋ฆฌ์ง๋ณด๋ค๋ ๋ฎ์ 99.99%์ ๋ด๊ตฌ์ฑ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ฆ ๊ทธ๋๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ ์ฌ๋ณธ์ ์๋ฅผ ์ค์ฌ ๋น์ฉ์ ๋ฎ์ถ์๊ธฐ ๋๋ฌธ์ ์๊ธ์ด ์ ๋ ดํฉ๋๋ค. 2014๋ 8์ ๊ธฐ์ค์ผ๋ก ํ์ค ์คํ ๋ฆฌ์ง ๋๋น ์ฝ 20% ๊ฐ๋ ์ ๋ ดํฉ๋๋ค. ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๊ณณ์ ๊ฐ์ง๊ณ ์๊ฑฐ๋, ๋์์์ด๋ ์ด๋ฏธ์ง์ ์ธ๋ค์ผ ๋ฑ ์๋ณธ์์ ๋ค์ ์์ฑํ ์ ์๋ ๋ฐ์ดํฐ ์ ์ฅ์ ์ ํฉํฉ๋๋ค.
์คํ ๋ฆฌ์ง ์ต์ ์ ๋ฐ๋ฅธ ์์ธํ ์๊ธ์ AWS ์ฌ์ดํธ์ ์๊ธํ๋ฅผ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค. ์ด๋ฒ์๋ S3 ๋ฒํท์ ์์ฑํ๊ณ ์ธ๋ถ ์ค์ ์ ํ๋ ๋ฐฉ๋ฒ๊ณผ S3์ ์ ์ ์น ์๋ฒ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
Amazon S3 FAQ ๋ฎ์ ์ค๋ณต ์คํ ๋ฆฌ์ง(RRS)