dev-writeup-2024 / january

개발 1일 1글 스터디
2 stars 0 forks source link

[01-05] AWS CloudFront #24

Open myeongJJi opened 10 months ago

myeongJJi commented 10 months ago

AWS CloudFront

AWS CloudFront 개요

제공 방식

작업 방식

image

image

CloudFront vs S3 Cross Region Replication

ALB or EC2 as an Origin

image

지리적 제한 설정

Pricing

캐시 무효화

image

AWS Global Accelerator

Unicast IP vs Anycast IP

snaag commented 10 months ago

좋은글 잘봤슴다! 두가지 질문이있슴미당 ✋️

CloudFront 는 하나의 버킷에 설정해두면 알아서 CDN이 되는 것이고, Cross Region Replication 은 여러 버킷에 설정해두면 되는걸까욤??

낮은 latency를 원하는 (1일 이내) 특정리전의 버킷에만 CRR을 설정하기도 한다고 이해했는데욤, 그러면 CloudFront 와 Cross Region Replication 를 같이 쓰기도 하나염???

myeongJJi commented 10 months ago

오옹 상아님 다 읽어보셨군요!? 당신의 열쩡에 박수를 보냅니다👏👏

결론부터 말씀드리면 동작 방식이 달라서 아래 사항에 따라 선택해서 둘 중 한가지만 쓰는게 좋겠어요!

CloudFront는 내가 한 버킷에 설정해두면 알아서 AWS에서 운영하는 CloudFront 전세계 광역에 퍼져 있는 서버에 1일 주기로 refresh되어 캐시된다고 보심 되고, CRR은 내가 설정한 버킷 리전에 각각 복제를 설정해둔 뒤 오리진 버킷에서 리소스 변경이 일어나면 몇초 뒤 타겟 버킷에 바로 반영이 됩니당 즉, 서비스 규모가 크고 리소스 변경이 거의 일어나지 않는(실시간 서비스가 아닌 정적 서비스인 경우) 경우에는 CloudFront가 적절하다 보심 되고, 규모가 한정되어 있고 실시간으로 서비스가 필요한 경우에는 CRR이 적절하다 보심 됩니다!

다만 CloudFront로 운영하다가 예를 들어 배포를 해서 즉시 반영이 필요하다? 그럼 캐시 무효화란 기능을 통해서 수동으로 재배포가 가능해요!

낮은 latency라고 작성한 이유는 리소스 변경된 부분을 오리진에서 타켓으로 실시간으로 가져오기 때문에 때문에 이렇게 표현한 것이라 생각해주심 됩니다😉

같이 쓰는 경우에 대해서도 생각해 보았는데요..전세계 대부분 지역에서는 정적으로 서비스 하고, 특정 지역에서는 실시간 서비스를 해야 하는 경우라면 둘 다 사용해볼만 하겠네요! 다만..그럼 돈이 많이 들겠죠?💸 AWS는 비쌉니다! 텅장이 될 각오가 되셨다면 도전해보세요!

snaag commented 10 months ago

아하 CloudFront 여도 캐시 무효화를 통해 낮은 latency 로 서빙이 가능하군요! 자세한 답변 넘나 감사합니다 >_< 그리고 두개는 가능하지만 텅장이슈로 하나만 사용한다는 것도 잘 배웠슴다 ㅇ_<...

💸 AWS는 비쌉니다! 텅장이 될 각오가 되셨다면 도전해보세요!

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그러고보니 예전에 뭣모르고 EC2 설정을 고오급으로 해두고 잠시 방치해뒀다가 50만원이 나온적이 있어서 눈물이나네요... 심지어 쓰긴 한거라서 읍소(?) 하기도 그래서 결국 내버렸던 슬픈 기억이... 😌...