지석이의 일기
Aws S3와 CloudFront 를 연계해보자 본문
이전 시간에 S3를 이용해서 파일을 저장하는 방법을 확인했고, 그 파일을 바로 URL로 호출하는 것까지 확인을 했다.
그런데 왜 굳이 CloudFront 를 또 연계 해야하나?
한번 알아보자.
CloudFront란 무엇인가?
CloudFront는 AWS에서 제공하는 CDN(Content Delivery Network) 서비스야. 간단히 말해서 전 세계 여러 위치에 데이터를 복사해 두고, 사용자가 요청했을 때 가장 가까운 위치에서 데이터를 제공해서 빠르게 내용을 볼 수 있게 해주는 시스템이지.
CloudFront 를 사용해야 하는 특징 4가지
빠른 속도: 전 세계에 분포된 엣지 로케이션을 통해 사용자에게 데이터를 빠르게 전달해.
확장성: 트래픽이 많아도 자동으로 스케일링돼서 성능 문제 없이 서비스를 제공해.
보안: HTTPS를 사용하여 데이터 전송 시 보안을 강화할 수 있고, AWS Shield와 같은 추가적인 보안 기능을 사용할 수 있어.
캐싱: 자주 접근하는 데이터를 캐시에 저장해서 더 빠르게 제공할 수 있어.
AWS콘솔에 접속해서 CloudFront 를 검색하고 배포생성을 하자.

-CloudFront와 연동 시킬 S3 Origin domain을 선택해준다.
-하단에 원본액세스는 권장으로 선택하고
-하단에 OAC를 새로 만들어주자


나머지 설정은 그대로 두고 맨아래에 배포를 하자.

보면 CloudFront 가 생성된게 보인다.
이제 S3로 가서 S3의 설정을 변경해줘야한다.




소유권을 수정해주고,
CloudFront > 배포 > 원본으로 가서 해당 건의 편집으로 가자


여기 정책을 복사해주고 버킷의 정책에 복사 붙혀넣기 해준다.
그뒤에 다시 버킷의 권한으로 이동해주고


버킷의 권한을 수정해준다.
여기까지 수행했으면 이제 S3와 Cloudfront 는 연동이 됬다.
기존의 s3에서 접근해서 이미지 url에 접근하게 된다면


이렇게 접근이 되지 않는다.
그럼 어떻해?

CloudFont > 배포에서 세부정보에 배포도메인 이름을 s3도메인에 교채해서 사용해주자!

드디어 정상적으로 호출이 가능해진다!
'Java' 카테고리의 다른 글
Cloudfront 의 이미지를 특정 서버에서만 호출하도록 하기 (0) | 2024.05.16 |
---|---|
Aws s3를 사용해서 파일(이미지)를 저장하자 (0) | 2024.05.14 |
React + SpringBoot 를 사용해서 채팅을 구현해보자. WebSocket, Stomp (0) | 2024.03.21 |
JWT를 이용한 Access Token과 Refresh Token 발행 및 유효성 검사 (0) | 2024.01.18 |
ControllerAdvice을 활용해 전역 CustomException을 설정하자 (0) | 2024.01.15 |