
OAC(origin access control): OAI(origin access identity)의 확장판, 기존 리전과 향후 추가될 모든 리전을 포함한 모든 AWS 리전에서 S3에 접근하는 것을 지원합니다. HTTP 메서드(GET, PUT, POST, PATCH, DELETE, OPTIONS 및 HEAD)를 지원하고, SSE-KMS로 암호화된 S3 객체 다운로드 및 업로드를 지원합니다.
전세계 엣지 네트워크를 이용
파일이 캐시되어 TTL동안 유지
전세계를 대상으로 정적 컨텐츠를 사용하고자 할 때 유용
복제를 원하는 각 리전에 설정되어야 함
거의 실시간으로 갱신된다 따라서 캐싱될 수 없다
읽기 전용으로만 설정 가능
일부 리전을 대상으로 동적 컨텐츠를 적은 지연시간으로 배포하고싶은 경우
CloudFront가 직접 EC2인스턴스를 접근하는 경우 각각 Public 설정이 필요함
- CloudFront에 private VPC 연결이 없기 때문에 보안 그룹도 필요함.
- 엣지 로케이션의 모든 public ip를 허용해야 함.

로드밸런서를 사용하는 경우 로드밸런서에 공개 설정이 되어있어야한다
- 로드밸런서에 public IP를 받을 수 있도록 설정하면 된다
- EC2 는 Private 설정이 되어있는데, 로드 밸런서와 EC2 사이에 Private VPC 연결이 있기 때문이다.


CloudFront는 항상 백엔드에 원본이 있으므로 우리가 백엔드 원본을 업데이트할 때 CloudFront는 업데이트 사항을 모름
- 이후 TTL로 만료되면 다시 업데이트된 콘텐츠를 받는다
전체 또는 일부의 캐시를 강제로 리프레시해서 캐시에 있는 TTL을 모두 지울 수 있다
- CloudFront Invalidation을 실행해야함
특정 파일의 경로 혹은 전체 파일의 경로를 전달해야함
무효화는 단순히 캐시 데이터를 삭제하는 것
(사진 설명) s3 버킷에 파일 업데이트 하고, CloudFront에 /index.html, /images/* 를 무효화하라고 한다. 이것이 엣지 로케이션에 전달되고, 이후 GET/ index.html 요청이 오면 캐시에 해당 정보가 없으므로 s3 버킷에서 새로운 출처를 얻게 된다.

Anycast: 모든 서버가 동일한 IP주소를 가지며 클라이언트는 가장 가까운 서버로 라우팅된다
