포도가게의 개발일지
AWS SAA-C02(S3) 본문
S3
- size가 확장가능, 파일은 버켓에 들어가고 버켓이름은 global하게 고유해야함
- 네이밍 규칙이 있음(소문자 , ip x 등..)
- key가 파일의 전체 경로
- 오브젝트 값은 데이터 body이고 5tb까지 가능 그이상은 나눠서 multi part upload 수행
-> 파일이 100MB를 초과하는 즉시 멀티파트 업로드를 권장합니다.
- version id를 가지고 있음, public object url을 통해 외부접근가능(하지만 block 되있음)
- console에서 open 하면 미리서명된 url을 통해 접근 가능,
- 버저닝 : 동일한 key를 이용해 파일을 업로드하면 덮어쓰지않고 버전을 입힘니다. 의도되지 않은 삭제로부터 예방가능 -> 모든 이전버전도 저장함
- 버저닝 안키면 버전아이디 null로 표시됨
- 파일 삭제는 실제로 삭제하는게 아니라 delete metadata가 추가 된것이다. list version을 보면 delete mark로 있음, 특정 버전아이디 삭제는 영구 삭제이다. 버저닝 덕분에 롤백이 쉽게된다.
암호화 4가지
- sse-s3 : 아마존에서 키를 관리함, s3 key 사용, aes256 header를 통해 객체 접근 가능
- sse-kms : 키 관리 서비스, header aws:kms 사용,
SSE-KMS를 사용하면 암호화가 AWS에서 발생하고 암호화 키는 AWS에서 관리하지만 암호화 키의 교체 정책을 완전히 제어할 수 있습니다. 암호화 키는 AWS에 저장됩니다.
- sse-c : aws 외부에서 제공한 키 사용, 반드시 https로만 됨,
- client side : 클라이언트쪽에서 암호화해서 upload, 해독도 클라이언트가 해야함
S3 security
- user based
- resource based
IAM 정책의 명시적 DENY는 S3 버킷 정책보다 우선합니다.
S3 web
- s3는 static 웹사이트를 호스트 할 수 있음
- s3 bucket website enable set, index.html file upload하고
s3 cors
- origin는 protocol, host(domain) 그리고 port 이다.
- cors = cross-origin resource sharing : 다른 resource부터 데이터를 얻으려 할 때 발생해
- 그래서 접근할 때 cors header인 Access-Contorol-Allow-Origin을 확인하여 access를 해줘
'AWS' 카테고리의 다른 글
AWS SAA-C02(CloudFront) (0) | 2022.02.27 |
---|---|
AWS SAA-C02(RDS, aurora, Elasticache) (0) | 2022.02.27 |
AWS SAA-C02(ELB,ASG[1]) (0) | 2022.02.25 |
AWS SAA-C02(EC2[4]) (0) | 2022.02.25 |
AWS SAA-C02(EC2[3]) (0) | 2022.02.23 |