...

S3 (Simple Storage Service) ๊ฐ๋
AWS S3๋ ์ ๊ณ ์ต๊ณ ์ ํ์ฅ์ฑ๊ณผ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ ๋ฐ ๋ณด์๊ณผ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ์จ๋ผ์ธ ์ค๋ธ์ ํธ(๊ฐ์ฒด) ์คํ ๋ฆฌ์ง ์๋น์ค์ด๋ค. (์ฐธ๊ณ ๋ก S ์๊ธ์๊ฐ 3๊ฐ๋ผ์ S3 ์ด๋ผ๊ณ ํ๋ค.)
์ฝ๊ฒ ๋งํ์๋ฉด, ์คํ ๋ฆฌ์ง ์ฆ ๊ตฌ๊ธ ๋๋ผ์ด๋ธ ์ฒ๋ผ ํ์ผ ์ ์ฅ ์๋น์ค์ด๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ์ค๋ธ์ ํธ ํํ๋ก ์ ์ฅํ๋ ์๋น์ค๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.

์์ ์จ๋ผ์ธ์ด๋ผ๋ ๊ธ์๊ฐ ๋ถ๋ ์ด์ ๋ ๋ฐ์ดํฐ ์กฐ์์ HTTP/HTTPS๋ฅผ ํตํ API๊ฐ ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ด๋ค.
๋ํ ํธ๋ฆฌํ UI ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ด๋์๋ ์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฌ์ฌ ์ ์์ด ๊ฐ๋ฐ์๊ฐ ์ฝ๊ฒ ์น ๊ท๋ชจ ์ปดํจํ ์์ ์ ์ํํ ์ ์๋๋ก ํ๋ค.
S3๋ ์ ์ฅํ๋ ๋ฐ์ดํฐ ์์ ๋ํ ๋น์ฉ๋ ์ ๋ ดํ๊ณ , ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ์์ด ๋ฌดํ์ ๊ฐ๊น๋ค.
๋ํ 'elastic'ํ ์ฑ์ง๋๋ฌธ์ ๋ณ๋์ ์คํ ๋ฆฌ์ง ํ์ฅ, ์ถ์์ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค.
S3๋ FTP ์๋ฒ์ฒ๋ผ ๋จ์ํ ํ์ผ ์ ์ฅ ์์ญ์ผ๋ก ์ฌ์ฉํ ์๋ ์์ผ๋ฉฐ, ๋ค์ํ AWS ์๋น์ค์ ์ฌ์ฉ ๋ก๊ทธ ์ ์ฅ, ์ ์ ์น ์ฌ์ดํธ ํธ์คํ , EBS ์ค๋ ์ท์ ์ ์ฅ ์์ญ ๊ธฐ๋ฅ ๋ฑ์ ๊ฐ์ง๊ณ ์๋ค.
์ด์ธ์๋ ๋น ๋ฐ์ดํฐ ๋ถ์์ ๋ฐ์ดํฐ ์์ค๋ก ํ์ฉํ๊ฑฐ๋ On-Premise ํ๊ฒฝ์ ์ฌ๋๋ณต๊ตฌ ์ ์ฉ ๋ฐ์ดํฐ ๋ฐฑ์ , Auto Scaling์ ํ์ฉํ EC2 ์ธ์คํด์ค์ ๋ก๊ทธ ์ ์ฅ ๋ฑ์ผ๋ก ์ ์ธ๊ณ์ ์ผ๋ก ํญ ๋๊ฒ ํ์ฉ๋๊ณ ์๋ค.
S3๋ ์ง์ญ๋ณ ์๋น์ค๋ก์ ์ง์ญ๋ณ ์ฌ๋ ์ํฉ์ ๋๋นํ์ฌ ์๋์ผ๋ก ๋ฐ๋ณต ์ ์ฅ์ ํ๋ค.
S3 ๊ฐ์ฒด ์คํ ๋ฆฌ์ง ํน์ง
๊ฐ์ฒด ์คํ ๋ฆฌ์ง๋ ๊ฐ์ฒด๋ก ๋ ํ์ผ์ ๋ค๋ฃจ๋ ์ ์ฅ์ ๋ผ๋ ๋ง์ด๋ค.
์ด์ ๋ฐ๋๋ง์ด EC2๋ฅผ ๋ฐฐ์ธ๋ ๋ฑ์ฅํ๋ EBS(Block storage Service) ๊ฐ ์๋ค. (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)์ ์ด๋ฌํ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ์ญํ ์ ํ๋ค.

๋ฒํท์ ๊ทธ๋ฅ ๋๋ ํ ๋ฆฌ/ํด๋ ๊ฐ๋ ์ผ๋ก ํค๋ ํ์ผ๋ช ์ผ๋ก ์ดํดํด๋ ๋๋ค.
๋ง์ฝ User๋ผ๋ ์ด๋ฆ์ ๋ฒํท์ profile.png ๊ฐ์ฒด ํ์ผ์ ์ ์ฅํ๋ฉด http://User.s3.amazonaws.com/profile.png๋ผ๋ URL์ด ์์ฑ๋๊ฒ ๋๋ค.

S3์ ๊ตฌ์ฑํ ๋, ๋ฒํท(Bucket)์ด๋ผ๋ ์ปจํ ์ด๋๋ฅผ ๋์ ๋ฆฌ์ ์ ์ ํํ๊ณ , ํด๋น ์ปจํ ์ด๋ ๋ด๋ถ์ ๊ฐ์ฒด(Object)๋ผ๋ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํํ๋ก ์คํ ๋ฆฌ์ง๋ฅผ ๊ตฌ์ถํ๋ค.
ํ ๊ณ์ ๋น Bucket์ ์ต๋ 100๊ฐ๊น์ง ์ฌ์ฉ์ด ๊ฐ๋ฅํ๊ณ , ๋ฒํท ๋จ์๋ก ์ ๊ทผ ์ ํ์ ์ค์ ํ ์๋ ์๋ค.
๋จ, Bucket์ ์์ ๊ถ์ ์ด์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํ๋ค.
S3์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ๋ ๋ชจ๋ ๊ฐ์ฒด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ฐ์ฒด๋ ํ๋ ๋น 1Byte์์ ์ต๋ 5TB๊น์ง ์ ์ฅ์ด ๊ฐ๋ฅํ๋ฉฐ ์ ์ฅํ ์ ์๋ ๊ฐ์ฒด์ ์๋ ์ ํ์ด ์๋ค.
๊ฐ ๊ฐ์ฒด๋ ๋ฐ์ดํฐ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ง๋๋๋ฐ S3 ๋ฒํท์ ์ฌ๋ฆฌ๋ ๊ฐ์ฒด๊ฐ ๋ฐ๋ก ๋ฐ์ดํฐ์ด๊ณ ์ต์ข ์์ ์ผ, ํ์ผ ํ์ ๋ฑ์ ๋ฐ์ดํฐ๋ฅผ ๋ฉํ๋ฐ์ดํฐ๋ผ๊ณ ํ๋ค. (๋ฉํ๋ฐ์ดํฐ๋ ๋ค์-๋ฒจ๋ฅ ์์ผ๋ก ์ด์ฐ๋ฌ์ ธ ์๋ค.)
๊ฐ์ฒด๋ ํค๋ฅผ ํตํด์ ๋ฒํท์์ ์ ์ผํ ๊ฒ์ผ๋ก ์๋ณ๋ ์ ์์ผ๋ฉฐ, ๋ฒํท์ ์กด์ฌํ๋ ๋ชจ๋ ๊ฐ์ฒด๋ ๋จ ํ๋์ ํค๋ฅผ ์ง๋๋ค.
๋ฐ๋ผ์ S3 ๋ด์์ ๋ฒํท, ํค, ๋ฒ์ ID๋ฅผ ํตํด ํน์ ๊ฐ์ฒด๋ฅผ ํ์ ํ ์ ์๋ค.

S3 ๋ฆฌ์ (Region) ๊ตฌ์ฑ
- S3๊ฐ ์์ฑํ ๋ฒํท์ ์ ์ฅํ ์์น๋ฅผ ์ง์ ํ๋ค.
- ๋ฆฌ์ ๊ฐ ๊ฐ์ฒด ๊ณต์ ๋ ๋ถ๊ฐ๋ฅ
- ๋ฒํท ์์น(๋ฆฌ์ )์ ์ด๋์ ์ง์ ํ๋์ ๋ฐ๋ผ ์ง์ฐ ์๊ฐ, ๋น์ฉ ๋ฑ์ด ๊ฒฐ์ ๋๊ฒ ๋๋ค.
S3 ๋ฒํท(bucket) ๊ตฌ์ฑ
- Amazon S3์์ ์์ฑ๋๋ ์ต์์์ ๋๋ ํ ๋ฆฌ์ด๋ฉฐ, Amazon S3์ ์ ์ฅ๋ ๊ฐ์ฒด์ ์ปจํ ์ด๋ ์ด๋ค.
- S3์์ ๋ชจ๋ ๊ฐ์ฒด๋ ๋ฒํท์ ํฌํจ๋๋ค.
- ๋ฒํท์ ์ด๋ฆ์ S3์์ ์ ์ผํด์ผ ํ๋ค.
๊ฒ์ ์์ด๋๊ฐ์ด ์ค๋ณต๋ ์๊ฐ ์๋ค. ์ฆ, ์ ์ธ๊ณ์ ์ด๋์๋ ์ค๋ณต๋ ์ด๋ฆ์ด ์กด์ฌ ํ ์ ๊ฐ ์๋ค. - ํ ๊ณ์ ๋น ์ต๋ 100๊ฐ์ ๋ฒํท ์ฌ์ฉ ๊ฐ๋ฅ.
- ๋ฒํท ์ฃผ์๋ https://bucketname.s3.Region.amazonaws.com ํํ๋ก ์ด๋ฃจ์ด์ง๋ค.
- ๋ฒํท์ ์์ฑํ๋ฉด default๋ก private์ํ์ด๋ค.
- ๋ฒํท ์์ ๊ถ์ ์ด์ ํ ์ ์๋ค.
- ๋ฒํท ์์ ๋ค๋ฅธ ๋ฒํท์ ๋ ์ ์๋ค.

S3 ๊ฐ์ฒด(Object) ๊ตฌ์ฑ
S3 Object์๋ Key, Value, Version ID, Metadata, CORS(Cross Origin Resource Sharing)์ ๊ฐ์ ๋ค์ํ ๊ตฌ์ฑ์์๊ฐ ์กด์ฌํ๋ค.

- Key : ํ์ผ์ ์ด๋ฆ
- ๋ฒํท ๋ด ๊ฐ์ฒด์ ๊ณ ์ ํ ์๋ณ์. ๋ฒํท ๋ด ๋ชจ๋ ๊ฐ์ฒด๋ ์ ํํ ํ๋์ ํค๋ฅผ ๊ฐ๋๋ค.
- ๋ฒํท, ํค ๋ฐ ๋ฒ์ ID์ ์กฐํฉ์ ๊ฐ ๊ฐ์ฒด๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ค.
- Value : ํ์ผ์ ๋ฐ์ดํฐ
- S3์ Key - Value ํํ๋ก ์ ์ฅ๋์ง๋ง, Key์ ์ ๋์ด ๋ฐ ์ฌ๋์๋ฅผ ์ด์ฉํ์ฌ ํด๋ ๊ฐ๋ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
- ์๋์ฐ ํ์ผ์ ํด๋ ๊ฒฝ๋ก๋ฅผ ์กฐํํด๋ณด๋ฉด \Documents\img\cloud.png ์ด๋ ๊ฒ ๋์ด์๋๋ฐ, ์ด์๊ฐ์ด
url๋ก /awsinaction/img/cloud.png ๊ฐ์ด ๊ตฌ์ฑ ๋์ด์ง๋ค๋ ๋ง์ด๋ค.
- Version Id : ํ์ผ์ ๋ฒ์ ์์ด๋
- Version ID๋ S3์ ๊ณ ์ ํน์ง ์ค ํ๋ ์ด๋ค.
๊ฐ์ ํ์ผ์ด์ง๋ง ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ์ฌ๋ฆด ์ ์๊ฒ ๋๋ ์ธ์ํ ๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
๋ง์ฝ ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ๊ณ ์ถ๋ค๋ฉด, Version ID๋ฅผ ํตํด ์ฝ๊ฒ ๋ณต์์ํฌ ์ ์๋ค.
- Version ID๋ S3์ ๊ณ ์ ํน์ง ์ค ํ๋ ์ด๋ค.
- MetaData : ํ์ผ์ ์ ๋ณด๋ฅผ ๋ด์ ๋ฐ์ดํฐ
- ์ต์ข ์์ ์ผ, ํ์ผ ํ์ , ํ์ผ ์์ ์, ์ฌ์ด์ฆ ..๋ฑ
- ACL : ํ์ผ์ ๊ถํ์ ๋ด์ ๋ฐ์ดํฐ (์ ๊ทผ์ด๋ ์์ )
- Torrents : ํ ๋ ํธ ๊ณต์ ๋ฅผ ์ํ ๋ฐ์ดํฐ
- CORS(Cross Origin Resource Sharing) : ํ ๋ฒ์ผ์ ํ์ผ์ ์ง์ญ์ ๋ฌด์ํ๊ณ ๋ค๋ฅธ ๋ฒ์ผ์์ ์ ๊ทผ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ
S3 ๊ฐ์ฒด(Object) ํน์ง
- ๊ฐ์ฒด ํ๋์ ํฌ๊ธฐ๋ 1Byte ~ 5TB
- ์ ์ฅ ๊ฐ๋ฅํ ๊ฐ์ฒด ๊ฐฏ์ ๋ฌด์ ํ
- ๊ฐ์ฒด๋ง๋ค ๊ฐ๊ฐ์ ์ ๊ทผ ๊ถํ ์ค์ ๊ฐ๋ฅ
- ๊ฐ์ฒด metadata๋ ๊ฐ์ฒด๊ฐ ์ ๋ก๋ ๋ ํ์๋ ์์ ๋ ์ ์๊ณ , ๋ณต์ฌํด์ ์์ ํด์ผ ํ๋ค.
- ๊ฐ์ฒด์ metadata๋ response header์ ๋ฐํ๋๋ค.
- ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฃนํํ๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ฐ๋ผ์ ํด๋, ํ์ผ ์ฒ๋ผ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ณ์ธตํํด์ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ ์๋ ์๋ค.
S3 ๋ฒ์ ๋ (Versioning)

์์ ์๊ฐํ๋ฏ์ด, ํ์ผ์ ์ค์๋ก ์ญ์ ํ๊ณ ์ ์ฅ์ ํด๋ฒ๋ ธ์ ๊ฒฝ์ฐ, S3๋ ์ด๋ฅผ ์ํด ์๋ํ๋ ๋ฐฑ์ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ธ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ์์ ์ฃผ๊ธฐ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ ๊ณตํ๋ค.
๋ฒ์ ๋(Versioning)์ ํน์ ๊ฐ์ฒด์ ์ฌ๋ฌ ๋ฒ์ ์ ์ ์งํ๋ ์๋จ์ด๋ค.
ํ์ผ์ ๋ฒ์ ผ ์์ด๋๋ฅผ ๋ถ์์ผ๋ก์, ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ S3 ๋ฒํท์ ์ ์ฅ๋ ๋ชจ๋ ๊ฐ์ฒด์ ๋ฒ์ ์ ๋ณด์กด, ๊ฒ์ ๋ฐ ๋ณต์ํ ์ ์๋ค. ๋ํ ์๋ํ์ง ์์ ์ฌ์ฉ์ ์์ ๊ณผ ์์ฉ ํ๋ก๊ทธ๋จ ์ค๋ฅ ๋ชจ๋ ์ฝ๊ฒ ๋ณต๊ตฌํ ์ ์๋ค.
๋ณ๊ฒฝ๋ด์ฉ์ ์ถ์ ํ ์ ์์ผ๋ฏ๋ก ๋งค์ฐ ํธ๋ฆฌํ์ง๋ง ๋น์ฉ์ ์กฐ์ฌํด์ผํ๋ค.
aws ๋งค๋์ ์์ ๋ฒํท์ ๋ง๋ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ ๋ผ์, ์ง์ ํ์ฑํ ํด์ผํ๋ค.
๋จ, ๋ฒํท์์ ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ์ค์ ํ ํ์๋ ๋นํ์ฑํ ์ํ๋ก ๋์๊ฐ ์ ์๋ค. ๋์ ๋ฒ์ ๊ด๋ฆฌ ์ผ์ ์ค์ง ์ค์ ์ ๊ฐ๋ฅํ๋ค.

๊ฐ์ฒด ๋ฒ์ ID ์์ / ์ญ์ / ์กฐํ ๋์
๋ฒํท์ ๋ํ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ฉด ์ ์ฅ๋๋ ๊ฐ์ฒด์ ๋ํด ๊ณ ์ ํ ๋ฒ์ ID๋ฅผ ์๋์ผ๋ก ์์ฑ๋์ด์ง๋ค.
์๋ฅผ ๋ค์ด, photo.gif(๋ฒ์ ID : 111111) , photo.gif(๋ฒ์ ID : 121212)์ ๊ฐ์ด ํ๋์ ๋ฒํท์์ ํค๊ฐ์ ๋์ผํ์ง๋ง ๋ฒ์ ID๊ฐ ๋ค๋ฅธ ๋ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ณด์ ํ ์ ์๊ฒ ๋๋ค.

์ด๋ฒ์๋ ํ์ผ์ ์์ ํ ๋์ ๋์์ ์์๋ณด์.
๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฒํท์ ๊ฐ์ฒด๋ฅผ PUT(REST API์ ์์ ๋์ ๋ช ๋ น)ํ ๋ ํ์ผ์ ๋ฎ์ด์ฐ์ง ์๋๋ค.
๋ค์ ๊ทธ๋ฆผ์ฒ๋ผ, ๋์ผํ ์ด๋ฆ์ ๊ฐ์ฒด๋ฅผ ์ด๋ฏธ ๋ณด์ ํ๊ณ ์๋ ๋ฒํท์ ์ ๋ฒ์ ์ photo.gif๋ฅผ PUTํ ๋ ์๋ ๊ฐ์ฒด(ID = 111111)๋ ๋ฒํท์ ๊ณ์ ๋จ์ ์์ผ๋ฉฐ S3๊ฐ ์ ๋ฒ์ ID(121212)๋ฅผ ๋ง๋ค์ด ๋ฒํท์ ์ถ๊ฐํด ์๋ก ์ฌ๋ฆฌ๊ฒ ๋๋ค. (๋งจ ์์ ์ฌ๋ ค์ง๊ฒ ์ต์ ๋ฐ์ดํฐ๋ก ์ธ์)

์ด ๊ธฐ๋ฅ์ผ๋ก ์ค์๋ก ๊ฐ์ฒด๋ฅผ ๋ฎ์ด์ฐ๊ฑฐ๋ ์ญ์ ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ๊ฐ์ฒด์ ์ด์ ๋ฒ์ ์ ๊ฒ์ํ ์ ์๋ ๊ฒ์ด๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก ๊ฐ์ฒด๋ฅผ DELETEํ๋ฉด, ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ฒํท์ ์ญ์ ๋ง์ปค(Delete Marker)๋ฅผ ์ฝ์ ์ ํ๊ฒ ๋๋ค.
ํ์ผ์ ์ญ์ ํ๊ฒ์ด ์๋๋ค. ์ญ์ ๋ง์ปค๋ฅผ ์ต์๋จ์ ์ฌ๋ฆผ์ผ๋ก์ ๋ง์น ํ์ผ์ด ์ญ์ ๋๊ฒ์ฒ๋ผ ํจ๊ณผ๋ฅผ ์ฃผ๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ DELETE๋ฅผ ์ํํด๋ ํ์ผ์ ์ ์ฒด์ ์ธ ๋ฒ์ ์ ๋ณด๋ฅผ ์ ์ง์ํค๊ฒ ๋๋ค.
๋ง์ผ ๋ฒ์ ๊ด๋ฆฌ๋๋ ๊ฐ์ฒด๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ญ์ ํ๋ ค๋ฉด ๋ฒ์ ผ ID ์์ฒด๋ฅผ DELETE ํด์ผ ํ๋ค.

๊ธฐ๋ณธ์ ์ผ๋ก GET ์์ฒญ์ ๊ฐ์ฅ ์ต๊ทผ์ ์ ์ฅ๋ ๋ฒ์ ์ ๊ฒ์ํ๋ค.
๊ทธ๋ฐ๋ฐ ์ต์ ๋ฒ์ ์ด ์ญ์ ๋ง์ปค์ผ ๋ ๊ฐ๋จํ GET Object ์์ฒญ์ ์ํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด 404 Not Found ์ค๋ฅ๊ฐ ๋ฐํ๋๋ค. (์ญ์ ๋ ํ์ผ์ด๋๊น ์ ์ ๋์์ด๋ค)

์ด๋ ๋ฒ์ ID๋ฅผ ์ง์ ํ์ฌ ํน์ ๊ฐ์ฒด์ ๋ํด GET์ ์คํํ ์ ์๋ค. (ํน์ ๊ฐ์ฒด ๋ฒ์ ์ธ 111111์ GET)

S3 ๋ณด์ / ๊ถํ (์ ๊ทผ ์ ์ด)
S3๋ ์ ์ธ๊ณ์์ ์ ์ํ ์ ์๋ ์คํ ๋ฆฌ์ง ์๋น์ค ์ด๋ค. ๋ฐ๋ผ์ ์ด๋ ๋๊ฐ ์ ์ํด ๋ด์ฉ๋ฌผ์ ๋ณ์กฐํ ์ ์๊ธฐ๋๋ฌธ์ S3์ ๋ฒํท์ ๊ธฐ๋ณธ ์ ์ฑ ์ public์ด ์๋ private๋ก ์ค์ ๋์ด์๋ค.
ํ์ง๋ง ๋ง์ผ ์ธ๋ถ์์ ์ ์ํด S3์ ๋ฒํท์ ์ ์ดํ ํ์๊ฐ ์๋ค๋ฉด ์ด๋ป๊ฒ ํ ๊น?
์ด๋๋ ๋ฒํท์ ํต์งธ๋ก public์ผ๋ก ๊ฐ๋ฐฉํ๋ ๊ฒ์ด ์๋ S3 ๊ถํ ์ ์ด์ ํตํด ์ ๊ทผ ์ ์ด๋ฅผ ์ค์ ํ ์ ์๋ค.
S3 ๊ถํ ์ค์ ์๋ ๋ํ์ ์ผ๋ก 4๊ฐ์ง๊ฐ ์๋๋ฐ,
- ์ฌ์ฉ์๋ฅผ ์์ฑํ๊ณ ์ฌ์ฉ์์ ๋ฒํท ๊ถํ ์ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ IAM
- ๊ถํ ์๋ ์ฌ์ฉ์์ ๋ํด ๊ฐ๋จํ ๊ฐ๋ณ ๊ฐ์ฒด(์ค๋ธ์ ํธ)๋ฅผ ์ก์ธ์ค ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ์ก์ธ์ค ์ ์ด ๋ชฉ๋ก(ACL)
- ๋จ์ผ S3 ๋ฒํท ๋ด ๋ชจ๋ ๊ฐ์ฒด์ ๋ํ ๊ถํ์ ์ธ๋ถ์ ์ผ๋ก ๊ตฌ์ฑํ๋ ๋ฒํท ์ ์ฑ (bocket policy)
- ์์ URL์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ๊ธฐ๊ฐ ์ ํ(์์ ๊ถํ) ์ก์ธ์ค๋ฅผ ๋ถ์ฌํ๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด ์ธ์ฆ(pre-signed URL)
๋ฑ์ ์ก์ธ์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์กฐํฉํ์ฌ ์ฌ์ฉํจ์ผ๋ก์จ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์๋ค.
ํญ๋ชฉ | ๋ฒํท ์ ์ฑ | ACL | IAM ์ ์ด |
AWS ๊ณ์ ๋จ์ ์ ์ด | โ | โ | X |
IAM ์ฌ์ฉ์ ๋จ์ ์ ์ด | โณ | X | โ |
S3 ๋ฒํท ๋จ์ ์ ์ด | โ | โ | โ |
S3 ๊ฐ์ฒด ๋จ์ ์ ์ด | โ | โ | โ |
IP ์ฃผ์/๋๋ฉ์ธ ๋จ์ ์ ์ด | โ | X | โ |
๋ฒํท ์ ์ฑ ์ ๋ฒํท ๋จ์๋ก ์ ๊ทผ ์ ์ด๋ฅผ ํ์ ํ๊ณ ์ดํ์ ๋ณ๊ฒฝ์ด ์ ์ ๋, ACL์ ๊ฐ์ฒด ๋จ์๋ก ์ ๊ทผ ์ ์ดํ ๋, IAM ์ ์ด๋ ์ฌ์ฉ์ ๋จ์๋ก ์ ๊ทผ ์ ์ดํ ๋ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
์ง๊ธ ๋ถํฐ ๊ฐ S3 ๊ถํ์ ๋ํด ์์๋ณด์.
Public Access
ํผ๋ธ๋ฆญ ์ก์ธ์ค ๊ถํ์ ๋ง ๊ทธ๋๋ก ๋ชจ๋์๊ฒ ์ก์ธ์ค ๊ถํ์ ์คํํ ๊ฒ์ธ์ง ์๋๋ฉด ์์์ ์ฌ์ฉ์์๊ฒ๋ ์ ๊ทผ ๊ถํ์ ์ ํํ ๊ฒ์ธ์ง ์ค์ ํ๋ ๊ฒ์ด๋ค.

์ต์ ์ ๋ณด๋ฉด 4๊ฐ์ง๊ฐ ์๋๋ฐ ํน์ํ ๊ฒฝ์ฐ์ ๋ํด ํผ๋ธ๋ฆญ ์ก์ธ์ค๊ฐ ํ์ฉ๋๋ ๊ฒฝ์ฐ์ ๊ฐ๊ฐ ์ค์ ํ ์ ์๋ค.
๋จ, ์ต์์์ ๋ชจ๋ ํผ๋ธ๋ฆญ ์์ธ์ค ์ฐจ๋จ์ ์ค์ ํ ๊ฒฝ์ฐ ์ด๋ค ๊ฒฝ์ฐ์ด๋ ๋ชจ๋ ์ ์์ ์ฐจ๋จํ๊ฒ ๋๋ค.
๊ฐ์ ํ์ํ ๊ฒฝ์ฐ์ ๋ํ ํผ๋ธ๋ฆญ ์ ํ์ ์คํํ๊ณ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ค๋ฌด์์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ์ก์ธ์ค ์ฐจ๋จ ํน์ ACL์ ์ด์ฉํ์ฌ ์ก์ธ์ค ์ฐจ๋จํด์ฃผ๋ ๊ฒ์ด ๋ณด์์ ์ํด ์ข๋ค.
ACL (Access Control List)
ACL์ ๋ฒํท์ด๋ ๊ฐ์ฒด์ ๋ํด ์์ฒญ์์ ๊ถํ ํ์ฉ ๋ฒ์๋ฅผ ์ด๋๊น์ง ์ค์ ํ ๊ฒ์ธ๊ฐ์ ๋ํด ๊ฐ๋จํ๊ฒ ์ค์ ํ ์ ์๋ค.
์ฌ๊ธฐ์ ์์ฒญ์๋ ์ผ๋ฐ ํผ๋ธ๋ฆญํ ์ฌ์ฉ์๊ฐ ๋ ์๋ ์๊ณ , ๊ณ์ ์ owner๋ resouce group, ํน์ ์ฌ์ฉ์๊ฐ ๋ ์ ์๋ค.
๋ฒ์ผ ์ฃผ์ธ๊ณผ ์ค๋ธ์ ํธ ์ฃผ์ธ์ด ๋ค๋ฅผ ๊ฒฝ์ฐ์ ๊ถํ ์ค์ , log ์ ์ฅ์ฉ ๋ฒํท์ ๋ํ ๊ถํ ์ค์ ๋ฑ์ ์ค์ ํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ๊ฐ์ ๋ฒํท๊ณผ ๊ทธ ์์ ํฌํจ๋ ๊ฐ์ฒด๋ ACL๊ณผ ์ฐ๋๋๋ค. ๋ฐ๋ผ์ ACL๋ก S3 ๋ฒํท์ด๋ ๊ฐ์ฒด์ ์ ๊ทผ์ ์ ์ดํ๋๊ฒ ๊ฐ๋ฅํ๋ค.
ACL์ IAM์ด๋ ๋ฒํท ์ ์ฑ ์ ๋นํด ๋ ๋์ ๋ฒ์์์ ์ ์ดํ ์ ์์ง๋ง, ๋จ์ง ์ ๊ทผ ์น์ธ์ ํ ๊ณณ๊ณผ ์ ๊ทผ ์น์ธ์ ๋ฐ์ ๊ณณ์ผ๋ก๋ง ๋ํ๋ผ ์ ์๋ค. (๊ฐ๋จํ ๊ฒ๋ง ์ค์ ๊ฐ๋ฅ)

๋ฒํท ์ ์ฑ (Bucket Policy)
Bucket Policy๋ ๋ฒํท์ ์ฌ์ฉํ ๊ถํ์ ๊ฐ์ง ์ฌ๋ฌ ๋ช ์ ์ฌ์ฉ์ ๋ณ๋ก ๊ฐ๊ฐ์ ํ์์ ๋ํ ๊ถํ ๋ฒ์๋ฅผ ์ค์ ํ ์ ์๋ค.
์๋ฅผ ๋ค์ด ๋๊ตฐ๊ฐ๋ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํ๊ณ ๋๊ตฐ๊ฐ๋ ์ฝ๊ธฐ, ์ฐ๊ธฐ ๋ชจ๋ ๊ฐ๋ฅํ ์ํ ๊ฐ์ด ๋ง์ด๋ค.
์ฆ, Bucket์ ๋ํ ์ ๋ฐ์ ์ธ ๊ถํ ์ค์ ์ Bucket Policy๋ฅผ ํตํด ์ค์ ๋๋ค.
๋จ, ๋ฒํท ์์ ํ์ผ ํ๋ํ๋์ ๊ถํ ์ค์ ์ ๋ถ๊ฐ๋ฅํ๋ค.
ACL๊ณผ Bucket Policy ์ฐจ์ด
ACL์ด๋ ๋ฒํท ์ ์ฑ ์ด๋ ๋๋ค ๋ฒํท์ ๋ํ ์์ธ์ค๋ฅผ ์ ํํ๊ฑฐ๋ ํ์ฉํ๋ ๊ถํ ์ค์ ์ด๋ค.
๋ฒํท์ ์ฑ ์ ๋ฒํท์๋ํด์๋ง ๊ถํ์ ์ค์ ํ ์ ์์ง๋ง, ACL์ ๋ฒํท ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ณ ๊ฐ์ฒด์๋ ๊ฐ๋ฅํ๋ค.
๋ฒํท์ ์ฑ ์ JSON์ ํตํด ์ธ๋ถํ๋ ๊ถํ์ ์ค์ ํ ์ ์์ง๋ง, ACL์ ๋ฒํท ์ ์ฑ ๋งํผ ์ธ๋ถํ๋ ์์ธ์ค ๋ชจ๋๋ฅผ ์ ๊ณตํ์ง ์๋๋ค.
Bucket Policy๋ JSON ํ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
{
"Version": "2012-10-17", // Bucket Policy์ ๋ฌธ๋ฒ์ด ์ธ์ ๋ ์ง ๊ธฐ์ค์ผ๋ก ํ์ ๋ ๋ฌธ๋ฒ์ ์ฌ์ฉํ๋์ง โ 2008-10-17 ๋ฒ์ ํ 2012-10-17 ๋ฒ์ ์ด ์๋๋ฐ, ๊ทธ ๋ค๋ก๋ ์
๋ฐ์ดํธ๊ฐ ์๋์
"Id": "S3PolicyId1", // Bucket Policy์ ๊ณ ์ ์์ด๋, ์๋์ผ๋ก ๋ถ์ฌ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์
"Statement": [
{
"Sid": "IPAllow", // ๊ฐ Statement์ ๊ณ ์ ์์ด๋. ๋ฌด์จ ์ญํ ์ ํ๋ policy์ธ๊ฐ
"Effect": "Allow", // ๋ฒํท์ ๋ํ ๋ช
๋ น์ ํ๋ฝ(allow)ํ๊ฑฐ๋ ๊ฑฐ๋ถ(deny). ํน์ ์ฌ์ฉ์์ ๋ํด ๋ช
๋ น์ ์ ํํ๊ฑฐ๋, ํ์ฉํ๋ ์์ผ๋ก ์ฌ์ฉ
"Principal": {"AWS": "arn:aws:iam::spark323:user/spark"}, // Bucket Policy์ ์ ์ฉ๋์ (spark323 ์์ด๋์ ์ ์ ์ ๋ํด์)
"Action": [ // Bucket Policy์์ ํ์ฉํ Action
"s3:GetObject", // ๊ฐ์ฒด ๊ฐ์ ธ์ค๋ ํ๋
"s3:GetBucketLocation", // ๋ฒ์ผ ์์น๋ฅผ ํ์ธํ๋ ํ๋
"s3:ListBucket", // ๋ฒ์ผ ๋ฆฌ์คํธ๋ฅผ ํ์ธํ๋ ํ๋
],
"Resource": "arn:aws:s3:::bucketname/*", // ๋์์ด ๋๋ Bucket์ ๋ํ ๋ช
์ธ
"Condition": { // ์ด๋ค ์กฐ๊ฑด ํ์
"NotIpAddress": { // ์ด IP๋นํ์ฉ
"aws:SourceIp": "1.1.1.1/32"
},
"IpAddress": { // ์ด IPํ์ฉ
"aws:SourceIp": [
"192.168.1.1",
"192.168.1.2/32",
]
}
}
}
]
}
๋ณด๋ค ์ํผ ๊ต์ฅํ ์ธ์ธํ๊ฒ ํค๊ฐ์ ์ ์ํด ๊ถํ์ ์ค์ ํด ์ฃผ๊ณ ์๋ค.
์์ JSON ๊ถํ ํ์์ ํด์ํ์๋ฉด, ๊ณ์ spark323 ์์ด๋์ธ ์ ์ ์ ๋ํด์ Resource(ํด๋น๋ฒํท)์ ๋ํด Action(๊ฐ์ฒด๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ฒ์ผ ์์น๋ฅผ ํ์ธํ๊ฑฐ๋)์ Effect(ํ์ฉ) Condition(์์ดํผ 192.168.1.1, 192.168.1.2/32 ์ธ ํ์) ํ๋ค๋ ๋ง์ด๋ค.
๋ฒํท ์ ์ฑ ์ IAM ์ฌ์ฉ์ ๋จ์ ์ ์ด๋ IAM ์ฌ์ฉ์์ ๋ช ์นญ๊ณผ ์ผ์นํ๋ ๋ฒํท๋ง ์ฌ์ฉํ ์ ์๊ฒ ์ ํ๋์ด ์๋ค.
๋ฐ๋ผ์ IAM ์ฌ์ฉ์๋ฅผ ์ ์ดํ ๋๋ IAM ์ ์ฑ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
Access Log ์ ์ก ๊ฐ๋ฅ
Access Log๋ ๋ฒํท์ ๋ชจ๋ ํ์ผ๋ค์ ๋ํ ์ ๊ทผ ๊ธฐ๋ก์ ๋งํ๋ค.
์ด ์ ๊ทผ ๊ธฐ๋ก์ ๋ค๋ฅธ S3 ๋ฒํท ํน์ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก๋ ์ ์ก ๊ฐ๋ฅํ๋ค.
MFA(์ด์ค ์ธ์ฆ)๋ฅผ ํ์ฉํด ์ญ์ ๋ฐฉ์ง ๊ธฐ๋ฅ
AWS ๊ณ์ ์์ฑํ ๋ ์ค์ ํ๋ ์ด์ค ์ธ์ฆ ์ต์ ์ด๋ค.
๊ฐ๋จํ ๋งํ๋ฉด ํ์ผ ์ง์ธ๋ ๋ณด์ ํ ํฐ ์ ๋ ฅํ๋ผ๋ ๋ฐฉ์ง์ฑ ์ด๋ค.
S3 ์๊ธ ์ ์ฑ
S3๋ ์ฌ์ฉํ ๋งํผ๋ง ์๊ธ์ ์ง๋ถํ๋ค.
์๊ธ ์์ฒด๊ฐ ์ ๋ ดํ ํธ์ด๋ผ์ ๋ก๊ทธ ๋ฑ์ ์ ์ฅํด๋๋ ์ฉ๋๋ก ๋ง์ด ์ฌ์ฉํ๋ค.
S3 Glacier ๊ฐ์ ์ฅ๊ธฐ ๋ณด๊ด์ฉ ๋ฑ๊ธ์ ๊ฒฝ์ฐ storage ์ ์ฅ ๋น์ฉ์ ์ ๋ง ์ ๋ ดํ์ง๋ง ๋ฐ์ดํฐ๋ฅผ ๊บผ๋ผ๋ ์๊ธ์ด ๊ต์ฅํ ์ธ๋ค.
๋์ผํ ๋ฆฌ์ ์ EC2์๋ ๋ฐ์ดํฐ ์ ์ก ์๊ธ์ด ๋ฐ์ํ์ง ์์ผ๋ฏ๋ก S3์ EC2์ ๋ฆฌ์ ์ ๋์ผํ๊ฒ ์ค๊ณํ๋ค.
์ ํ | ์ ์ฑ |
์คํ ๋ฆฌ์ง ์๊ธ | ๊ฐ์ฒด ์ ์ฅ ๋น์ฉ(๊ฐ์ฒดํฌ๊ธฐ, ํด๋น ์์ ๊ฐ์ฒด ์ ์ฅํ ๊ธฐ๊ฐ, ์คํ ๋ฆฌ์ง ํด๋์ค์ ๋ฐ๋ผ ๋ค๋ฆ) |
์์ฒญ ๋ฐ ๋ฐ์ดํฐ ๊ฒ์ | GET, LIST ๋ฐ ๊ธฐํ ์์ฒญ์ ๋ํ ๋น์ฉ ๋ฐ์(DELETE ๋ฐ CANCEL ์์ฒญ์ ๋ฌด๋ฃ) |
๋ฐ์ดํฐ ์ ์ก | ํน์ ์ผ์ด์ค๋ฅผ ์ ์ธํ๊ณ ๋ชจ๋ ์ก์์ ๋์ญํญ์ ๋ํด ์๊ธ ์ง๋ถ ์ธํฐ๋ท์์ ์ ์ก๋ ๋ฐ์ดํฐ, ๋์ผํ ๋ฆฌ์ ์ EC2 ์ธ์คํด์ค๋ก ์ ์ก๋ ๋ฐ์ดํฐ, CloudFront๋ก ์ ์ก๋ ๋ฐ์ดํฐ |
S3 ๋ฒํท ์์ฑํ๊ธฐ
๋ฒํท ๋ง๋ค๊ธฐ




์ด ๋ฒํท์ ํผ๋ธ๋ฆญ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ๋ค๋ ๊ฒ์ ์ธ๋ถ์์๋ ํ์ผ์ ์ฝ๊ฒ ํ์ง ๋ชปํ๋ค๋ ์๋ฏธ๋ค.
ํผ๋ธ๋ฆญ ์ก์ธ์ค๋ฅผ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฐจ๋จํ๊ณ ์ถ๋ค๋ฉด, "๋ชจ๋ ํผ๋ธ๋ฆญ ์ก์ธ์ค ์ฐจ๋จ"์ ๋นํ์ฑํํ๊ณ ์ธ๋ถ์ ์ธ ์ต์ ์ ์ ํํ๋ฉด ๋๋ค.
- ์ ACL(์ก์ธ์ค ์ ์ด ๋ชฉ๋ก)์ ํตํด ๋ถ์ฌ๋ ๋ฒํท ๋ฐ ๊ฐ์ฒด์ ๋ํ ํผ๋ธ๋ฆญ ์ก์ธ์ค ์ฐจ๋จ
โ ์ง์ ๋ ACL์ด ํผ๋ธ๋ฆญ์ด๊ฑฐ๋, ์์ฒญ์ ํผ๋ธ๋ฆญ ACL์ด ํฌํจ๋์ด ์์ผ๋ฉด PUT ์์ฒญ์ ๊ฑฐ์ ํ๋ค. - ์์์ ACL(์ก์ธ์ค ์ ์ด ๋ชฉ๋ก)์ ํตํด ๋ถ์ฌ๋ ๋ฒํท ๋ฐ ๊ฐ์ฒด์ ๋ํ ํผ๋ธ๋ฆญ ์ก์ธ์ค ์ฐจ๋จ
โ ๋ฒํท์ ๋ชจ๋ ํผ๋ธ๋ฆญ ACL๊ณผ ๊ทธ ์์ ํฌํจ๋ ๋ชจ๋ Object๋ฅผ ๋ฌด์ํ๊ณ , ํผ๋ธ๋ฆญ ACL๋ฅผ ํฌํจํ๋ PUT ์์ฒญ์ ํ์ฉํ๋ค. - ์ ํผ๋ธ๋ฆญ ๋ฒํท ๋๋ ์ก์ธ์ค ์ง์ ์ ์ฑ
์ ํตํด ๋ถ์ฌ๋ ๋ฒํท ๋ฐ ๊ฐ์ฒด์ ๋ํ ํผ๋ธ๋ฆญ ์ก์ธ์ค ์ฐจ๋จ
โ ์ง์ ๋ ๋ฒํท ์ ์ฑ ์ด ํผ๋ธ๋ฆญ์ด๋ฉด PUT ์์ฒญ์ ๊ฑฐ์ ํ๋ค. ์ด ์ค์ ์ ์ฒดํฌํ๋ฉด ๋ฒํท ๋ฐ ๊ฐ์ฒด์ ๋ํ ํผ๋ธ๋ฆญ ์ก์ธ์ค๋ฅผ ์ฐจ๋จํ๊ณ ์ฌ์ฉ์๊ฐ ๋ฒํท ์ ์ฑ ์ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ด ์ค์ ํ์ฑํ๋ ๊ธฐ์กด ๋ฒํท ์ ์ฑ ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค. - ์์์ ํผ๋ธ๋ฆญ ๋ฒํท ๋๋ ์ก์ธ์ค ์ง์ ์ ์ฑ
์ ํตํด ๋ถ์ฌ๋ ๋ฒํท ๋ฐ ๊ฐ์ฒด์ ๋ํ ํผ๋ธ๋ฆญ ์ก์ธ์ค ์ฐจ๋จ
โ ํผ๋ธ๋ฆญ ์ ์ฑ ์ด ์๋ ๋ฒํท์ ๋ํ ์ก์ธ์ค๊ฐ ๊ถํ์ด ์๋ ์ฌ์ฉ์์ AWS ์๋น์ค๋ก๋ง ์ ํ๋๋ฉฐ, ์ด ์ค์ ํ์ฑํ๋ ๊ธฐ์กด ๋ฒํท ์ ์ฑ ์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
๋ง์ผ ๋ฒํท์ ๋น๊ณต๊ฐ๋ก, ๋๋ง ๋ณด๊ณ ์ถ๋ค๋ฉด ๋ชจ๋ ์ต์ ์ ์ฒดํฌํ๋ค.
ํผ๋ธ๋ฆญ ์ก์ธ์ค๊ฐ ์ฐจ๋จ๋์์ ๊ฒฝ์ฐ IAM์์ AWSAccessKeyId์ AWSSecretKey๋ฅผ ๋ฐ๊ธ๋ฐ๊ณ ์ด๋ฅผ ์ด์ฉํด์ S3 ๊ฐ์ฒด์ ์ ๊ทผํ ์ ์๋ค.
์ค๋ฌด์์ ์ฌ์ฉํ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ์ก์ธ์ค ์ฐจ๋จ ํน์ ACL์ ์ด์ฉํ์ฌ ์ก์ธ์ค ์ฐจ๋จํด์ฃผ๋ ๊ฒ์ด ๋ณด์์ ์ํด ์ข๋ค.

๋ฒํท ๋ฒ์ ๊ด๋ฆฌ๊ธฐ๋ฅ์ ํ์ฑํํ๋ฉด ํ์ผ์ ๋ฒ์ ๋ณ๋ก ๊ด๋ฆฌ ํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ด ๋ ๋ค๊ฒ ๋๋ค.
๋์ ์ฌ์ฉ์๊ฐ ์ค์๋ก ํ์ผ์ ์ญ์ ํด๋ ๋ณต์ํ ์ ์๋ค.
ํ๊ทธ๋ ์๋น์ค๋ฅผ ํ๋ค๊ฐ ๋ฒํท์ด ๋ง์์ง๋ฉด, ๋ฒํท๋ค์ ๊ทธ๋ฃนํ ์ํค๋ ๊ฒ์ด๋ค.
์๋น์ค ์ด์์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ง๋๋ฐ, ํน์ ๋ฒํท์ ํ๊น ํด๋๊ณ ์ดํ์ ๋น์ฉ ์ธก์ ์ด๋ผ๋์ง ๋ง์ ๋ฒํท์ค์ ํ๊ทธ๋ก ๊ฒ์์ ํ๋ค๋์ง ํ ๋ ์ฐ์ด๊ฒ ๋๋ค.
๊ธฐ๋ณธ ์ํธํ๋ฅผ ํ์ฑํ ํ๋ฉด ๋ฒํท์ ์ ์ฅ๋๋ ๋ชจ๋ ์ ๊ฐ์ฒด๋ฅผ ์ํธํํด์ ์ ์ฅ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์ฒด๋ฅผ ๋ค์ด ๋ก๋ํ ๋ ์ํธ๋ฅผ ๋ณตํธํํด์ ์ ๊ณตํด์ค๋ค.
๋จ์ง ์ฐ๋ฆฌ๋ ํ์ผ ์ ๋ก๋๊ฐ ์ ๋๋์ง ํ ์คํธ๋ฅผ ํด์ผํ๊ธฐ ๋๋ฌธ์ ๋นํ์ฑํ ํด๋์.
๊ณ ๊ธ ์ค์ ์ ๋ณด์๊ณผ ๊ด๋ จ๋ ๋ด์ฉ์ด๋ค

๋ฒํท์ ํ์ผ ์ ๋ก๋ ํ๊ธฐ
๋ฒํท์ ํด๋ ์์ฑ
๋ฒํท์ [๊ฐ์ฒด] ๋ฉ๋ด๋ก ๋ค์ด์ค๋ฉด, ํด๋๋ฅผ ์์ฑํ๊ฑฐ๋ ๊ฐ์ฒด๋ฅผ ์ ๋ก๋ํ ์ ์๋ค.
ํด๋์ ๊ฐ์ฒด์ ์ก์ธ์คํ ๋ URL์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ํด๋ ์ด๋ฆ์๋ '/'๋ฅผ ํฌํจํ ์ ์๋ค.



ํด๋๋ฅผ ์์ฑํ๊ฒ๋๋ฉด, ๋ฒํท ๊ฒฝ๋ก๋ ๋ค์๊ณผ ๊ฐ์ด ๋๋ค.
s3://๋ฒํท๋ช /ํด๋๋ช /
s3://tistory-test-bucket-01/test1/
์ด์ ํด๋๋ด์์ ๊ฐ์ฒด(ํ์ผ)์ ์ ๋ก๋ํด ๊ด๋ฆฌํ๋ฉด ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์คํ ๋ฆฌ์ง๋ฅผ ๊ตฌ์ฑํ ์ ์๊ฒ ๋๋ค.
๋ฒํท์ ํ์ผ ์ ๋ก๋
์์ฑํ ๋ฒํท/ํด๋์ ์ด๋ฏธ์ง ํ์ผ์ ์ ๋ก๋ ํด๋ณด์.


S3๋ ํ์ผ ๋๋๊ทธ ์ค ๋๋กญ ๋ฐฉ์๋ ์ง์ํ๋ค.
[ํ์ผ ์ถ๊ฐ]๋ ํด๋๊ฐ ์๋ ์ผ๋ฐ ํ์ผ์ ์ถ๊ฐํ๋ ์ฉ๋์ด๊ณ , [ํด๋ ์ถ๊ฐ]๋ ํด๋์งธ๋ก ์ถ๊ฐํ๋ ์ฉ๋์ด๋ค.
ํ๋จ์, ์ ๋ก๋ํ ํ์ผ๋ค์ ๋ํ์ฌ ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ค์ ํ ์ ์๋๋ฐ, ์คํ ๋ฆฌ์ง ์ฉ๋์ ๋ฐ๋ผ ๊ธฐ๊ฐ๊ณผ ์๊ธ ๋ฑ์ ์ ๊ณ ๋ คํ์ฌ ์ ํํ๋ฉด ๋๋ค.

๋ชจ๋ ์ค์ ์ ๋ง์น๊ณ [์ ๋ก๋]๋ฅผ ๋ค์ ํ ๋ฒ ๋๋ฅด๋ฉด ์ ๋ก๋๊ฐ ์์๋๋ค.



S3 ๋ฒํท์ ๋ง๋ค๋ ๋ถ๋ช ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ํ์ฌ ๋ง๋ค์์ง๋ง, ์ด์ํ๊ฒ ๊ฐ์ฒด ์ ๊ทผ์ด Access Denied๊ฐ ๋ฌ๋ค.
์์ ์์ฑํ S3 ๋ฒํท์ ๋ณด๋ฉด ๊ฐ์ฒด๋ฅผ ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ํ ์ ์์ ๋ฉ์ธ์ง๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด๋ ์์ง ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ๋์ง ์์๋ค๋ ๋ป์ด๋ฉฐ ์ธ๋ถ์์ ์ ๊ทผํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ฐ๋ผ์ ์ธ๋ถ์์ ํด๋น ๋ฒํท์ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ๊ธฐ ์ํด์๋ ๋ฒํท ์ ์ฑ ์ ์์ ํด์ผ ํ๋ค.

๋ฒํท ์ ์ฑ ์ค์ ํ๊ธฐ
๋ฒํท ์ ์ฑ ์ JSON์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ์ด๋ค.
๋ค์ ์ฌ์ดํธ์์ ๋ฒํท ์ ์ฑ ์ ์์ฝ์ ์์ฑํ ์ ์๋ค.
AWS Policy Generator
Click below to edit. To save the policy, copy the text below to a text editor. Changes made below will not be reflected in the policy generator tool.
awspolicygen.s3.amazonaws.com


{
"Id": "Policy1649421058532", // ์ ์ฑ
ID
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1649420985040",
"Action": [ // ๋ฒํท์ ์ํํ ์ก์
(ํ๋)
"s3:GetObject", // ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ
"s3:PutObject" // ๊ฐ์ฒด ์
๋ก๋ํ๊ธฐ
],
"Effect": "Allow", // ์ ์ฑ
์ ์ฉ
"Resource": "arn:aws:s3:::tistory-test-bucket-01/*", // ์ด๋ค ๋ฒํท์ ์ด๋ค ๋ฆฌ์์ค์ ์ ์ฉ? tistory-test-bucket-01 ๋ฒํท์ ์๋ ๋ชจ๋ ๋ฆฌ์์ค(๊ฐ์ฒด)
"Principal": "*" // ์ ์ฑ
์ ์ฉ ๋์ ๋ชจ๋
}
]
}
์์ JSON์ ์ ๋ฆฌํ์๋ฉด,
๋ชจ๋ ๋์(Principal)์ ๋ํด์, tistory-test-bucket-01 ๋ฒํท์ ์๋ ๋ชจ๋ ํ์ผ(Resource)์ ๋ํ, ๊ฐ์ฒด ๊ฐ์ ธ์ค๊ธฐ, ๊ฐ์ฒด ์ ๋ก๋ ํ๋ ํน์ ํ๋(Action)์ ํ์ฉ(Effect) ํ๋ค๋ ๋ป์ด๋ค.
๋ง์ผ ์์ธํ ์ ์ฑ JSON ๊ตฌ์กฐ ๋ฌธ๋ฒ์ ์๊ณ ์ถ๋ค๋ฉด ๋ค์ ํฌ์คํ ์ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
[AWS] ๐ IAM ์ ์ฑ JSON ๊ตฌ์กฐ & ARN ๋ฌธ๋ฒ ๐ฏ ์ ๋ฆฌ
IAM Policy JSON ๊ตฌ์กฐ IAM ์ ์ฑ ์ ๋ง๋๋ JSON ํ์ผ์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค. ์ ๋ฐ์ ์ผ๋ก ์ ์ฒด ์ ์ฑ ์ ๋ํ Optional top-level elements๊ฐ ์๊ณ ์ด์ ์ฌ๋ฌ ๊ฐ์ Statement ๋ฅผ ์ถ๊ฐํ๋ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค...
inpa.tistory.com
๋ฒํท ๋ฉ๋ด๋ก ๋ค์ด๊ฐ์ ๋ฒํท ์ ์ฑ ํธ์ง์ ํด๋ฆญํด ์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฑ ์ด ๋ช ์๋ JSON ๊ฐ์ ๋ณต์ฌ ํ ๋ค ๋ฒํท ์ ์ฑ ์ ์ ๋ ฅํด์ฃผ๊ณ ๋ณ๊ฒฝ์ฌํญ ์ ์ฅ ๋ฒํผ์ ๋๋ฌ์ค๋ค.




๋ฒํท์ด ์์ ํ ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ๋์๋ค.
์ด์ ๋ค์ ์ ๋ก๋ํ๋ ์ด๋ฏธ์ง ๋ฒํท url๋ก ๋ธ๋ผ์ฐ์ ์ ์ ์์ ํด๋ณด๋ฉด, ์ ์์ ์ผ๋ก ์ฌ์ง์ด ๋ณด์ด๊ฒ ๋ ๊ฒ์ด๋ค.
๋ฒํท ACL ์ค์ ํ๊ธฐ
์์์ ๋ฒํท ์ ์ฑ JSON์ ์์ฑํด ์ ๊ทผ ๊ถํ์ ์ค์ ํด์คฌ์ง๋ง,
๋ฒํท ์ ์ฑ JSON ์ค์ ์ด ๋ณต์กํ๋ค๋ฉด, ๋ณด๋ค ๊ฐํธํ๊ฒ ACL ๋ฉ๋ด๋ฅผ ํตํด S3 ๋ฒํท ์ ๊ทผ ์ ์ด๋ฅผ ํ ์ ์๋ค.
๋ฒํท ์ ๊ทผ ์ ์ด 3๊ฐ์ง ๋ฐฉ๋ฒ
ํญ๋ชฉ | ๋ฒํท ์ ์ฑ | ACL | IAM ์ ์ด |
AWS ๊ณ์ ๋จ์ ์ ์ด | โ | โ | X |
IAM ์ฌ์ฉ์ ๋จ์ ์ ์ด | โณ | X | โ |
S3 ๋ฒํท ๋จ์ ์ ์ด | โ | โ | โ |
S3 ๊ฐ์ฒด ๋จ์ ์ ์ด | โ | โ | โ |
IP ์ฃผ์/๋๋ฉ์ธ ๋จ์ ์ ์ด | โ | X | โ |
์ ํ์์ ๋ณผ ์ ์๋ฏ์ด ๋ฒํท์ ์ ๊ทผ์ ์ ์ดํ๋ ๋ฐฉ๋ฒ์ 3๊ฐ์ง ์ ๋ ์กด์ฌํ๋ค.
IAM ์ ์ด๋ ๋ง ๊ทธ๋๋ก, IAM ๊ณ์ ์ S3 ์ ๊ทผ ๊ถํ(policy)๋ฅผ ์ค์ ํด ์ฌ์ฉ์ ๋จ์๋ก ์์ธ์ค๋ฅผ ์ ์ดํ๋ ๊ฒ์ด๊ณ ,
๋ฐ๋ก ์์์ ๋ฐฐ์ด ๋ฒํท ์ ์ฑ ์ ๋ฒํท ๋จ์๋ก ์์ธํ ์ ๊ทผ ์ ์ด๋ฅผ ํ์ ํ๊ณ ์ดํ์ ๋ณ๊ฒฝ์ด ์ ์ ๋,
ACL์ ๊ฐ์ฒด ๋จ์๋ก ๊ฐ๋จํ๊ฒ ์ ๊ทผ ์ ์ดํ ๋, ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
์ ๊ทผ์ ์ฑ (ACL)๊ณผ ๋ฒํท์ ์ฑ (Bucket Policy) ์ ํ
์ฌ์ฉ ๊ถํ์ด ๋น์ทํ ์ค๋ธ์ ํธ๋ฅผ ๊ณ ์ ํ ๋ฒํท์ผ๋ก ๊ตฌ์ฑํ ์ ์๋ค๋ฉด ๋ฒํท์ ์ฑ (Bucket Policy)์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ๋๋ ํธ์ด๋ค.
๋จ, ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๊ฐ๋ณ ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ ๊ทผ์ ์ฑ (ACL)์ ์ด์ฉํด๋ ๋๋ค.
๊ทธ๋ฌ๋ ์ ๊ทผ์ ์ฑ (ACL)์ ๋ฒํท์ ์ฑ ์ ํตํด ์ฌ์ฉํ ์ ์๋ ๊ถํ๋ณด๋ค ์ธ๋ถ์ ์ธ ์ ์ด๋ฅผ ์ ๊ณตํ์ง ์๋๋ค.
์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ธ์ค ๊ถํ ์ด์ธ์ ์ธ๋ถ ๊ถํ์ ์ฐพ๊ณ ์๋ ๊ฒฝ์ฐ ์ ๊ทผ์ ์ฑ (ACL)์ ํตํด ๋ฒํท์ ์ฑ (Bucket Policy)์ ์ ํํ์ฌ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
๋จ, ๋ฒํท์ ์ฑ ์ ํ์ผํํ๋ก ๋ง๋ค์ด ๋ฒํท์ ์ ์ฉํ๋ฉฐ ์ด ํ์ผ์ 20KB๋ฅผ ์ด๊ณผํ ์ ์๋ค.
โป ์ฐธ๊ณ
์ ๊ทผ์ ์ฑ (ACL)๊ณผ ๋ฒํท์ ์ฑ (Bucket Policy)์ ๋์์ ์ฌ์ฉํ ์ ์๋ค.
์ด ๊ฒฝ์ฐ ์ค๋ธ์ ํธ ์ ์ฅ์ ๋ฆฌ์์ค์ ๋ํ ์์ธ์ค๋ฅผ ์ ํํ๋ ๋ชจ๋ ๊ท์น์ ์์ธ์ค ๊ถํ์ ๋ถ์ฌํ๋ ๊ท์น์ ์ฌ์ ์ํ๋ค.
์๋ฅผ ๋ค์ด ์ ๊ทผ์ ์ฑ (ACL)์ด ๋ฒํท์ ๋ํ ์ฌ์ฉ์ ์์ธ์ค๋ฅผ ํ์ฉํ์ง๋ง, ๋ฒํท์ ์ฑ (Bucket Policy)์ด ํด๋น ์ฌ์ฉ์ ์์ธ์ค๋ฅผ ๊ฑฐ๋ถํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ํด๋น ๋ฒํท์ ์ ๊ทผํ ์ ์๋ค.
๋ฒํท ACL ์ค์ ํ๊ธฐ
๋ง์ผ ACL๋ก ์ํ๋ ํ์ผ์ ํผ๋ธ๋ฆญ์ผ๋ก ๋ง๋ค๊ธฐ ์ํ ์ ์ฐจ๋ฅผ ์๊ฐํ๋ค.
์ฐ์ ๋ฒํท ๋ฉ๋ด์ ๋ค์ด๊ฐ ๊ถํ ํญ์ ํด๋ฆญํ๊ณ ๋ฐ์ผ๋ก ์ญ ๋ด๋ ค๋ณธ๋ค.





๋ฒํท์ ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ํ์ผ๋ฉด, ๊ฐ ํ์ผ์ ๋ํด์๋ ํผ๋ธ๋ฆญ์ผ๋ก ์ค์ ํด์ฃผ์ด์ผ ํ๋ค.
ํ์ผ์ ์ฒ์ ์ ๋ก๋ํ ๋ ๋ฐ์ ACL ๋ฉ๋ด์์ ํ์ผ์ ๋ํ ์ ๊ทผ ๊ถํ์ ์ค์ ํด์ค ์ ์๊ณ ,

์ด๋ฏธ ์ ๋ก๋๋ ๊ฐ์ฒด์ผ ๊ฒฝ์ฐ, ์์ ๋ฉ๋ด์์ ํ์ผ์ ACL์ ํตํด ํผ๋ธ๋ฆญ์ผ๋ก ์ง์ ํ๋ฉด ๋๋ค.

์ด๋ ๊ฒ ๋ฒํท ์ ์ฑ ์์ด, ํ์ผ์ ์ ๋ก๋ํ ๋ acl์ ๋ถ์ด๋ฉด ์ ์์ ์ผ๋ก ํผ๋ธ๋ฆญ ์ฝ๊ธฐ๊ฐ ๋๋ค.
๋ฒํท ํ์ผ ๊ณต์
์ผ๋ฐ์ ์ธ ๊ฐ์ฒด(ํ์ผ) ๊ณต์ ๋ URL์ ๊ทธ๋๋ก ๋ณต์ฌํด์ ์ ๊ณตํด์ฃผ๋ฉด ๋๋ค.

ํ์ง๋ง ๋ง์ผ ๋ฒํท์ด ๋ณด์์ ์ํด ํผ๋ธ๋ฆญ ์ค์ ์ด ์๋์ด์์๋,
public์์ ์ ๊ทผํด์ object๋ฅผ ๋ค์ด๋ฐ๊ฑฐ๋ ์ ๋ก๋ ํด์ผ ํ๋ ๊ฒฝ์ฐ, ๋ฒํท ์์ฒด๋ฅผ public์ผ๋ก ์ด๊ธฐ์ ๋ถ๋ด์ค๋ฝ๊ณ , ๊ทธ๋ ๋ค๊ณ pulblic์ ์๋ ์ฌ์ฉ์์๊ฒ S3 ์ ๊ทผ๊ถํ์ ์ผ์ผํ ๋ถ์ฌํ๊ธฐ๋ ๋ฒ๊ฑฐ๋ก์ธ ๋ ์ฌ์ฉํ ์ ์๋๊ฒ pre-signed url(์์ ๊ถํ)์ด๋ค.
pre-signed URL ๊ณต์ ํ๊ธฐ
pre-signed url์ ์์์๊ฒฉ์ฆ๋ช ์ ๋ผ๊ณ ๋ ํ๋ฉฐ, S3 ์ ๊ทผ์ ์ํ ์์ url๋ก ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ๋ง๋ฃ๋๋ฉด public ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํด์ง๋ค.



๋ฒํท ์ญ์ ํ๊ธฐ
๊ณ์ ๋ฒํท์ ๋๋๋ฉด ๊ณผ๊ธ๋ ์ ์์ผ๋ ํ์ํ ๋๋ง ์ค์ ํด๋๊ณ ์ฌ์ฉํ์ง ์์ ๋๋ ์ญ์ ํด๋๋ ๊ฒ์ด ์ข๋ค.
๋ฒํท์ ์ญ์ ํ ๋๋ ์ผ๋จ ์์ ๋ค์ด์๋ ๋ชจ๋ ํ์ผ์ ์ญ์ ํด์ผ ํ๋ค.
ํ์ผ์ ๋ค ์ญ์ ํ์ผ๋ฉด ๋ฒํท ํญ์์ ์ญ์ ํ ์ ์๋ค.



# ์ฐธ๊ณ ์๋ฃ
https://youtu.be/LM1QCTu7crM
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/RetrievingObjectVersions.html
https://www.sqlshack.com/learn-aws-cli-interact-with-aws-s3-buckets-using-aws-cli/
https://cloudonaut.io/introducing-the-object-store-s3/
https://www.geeksforgeeks.org/amazon-simple-storage-services3-versioning/
https://velog.io/@xx0hn/Server-AWS-S3
์ด ๊ธ์ด ์ข์ผ์ จ๋ค๋ฉด ๊ตฌ๋ & ์ข์์
์ฌ๋ฌ๋ถ์ ๊ตฌ๋
๊ณผ ์ข์์๋
์ ์์๊ฒ ํฐ ํ์ด ๋ฉ๋๋ค.