하나의 리전에만 서비스를 제공해야 하는 경우 AWS CloudFront가 유용합니까?

하나의 리전에만 서비스를 제공해야 하는 경우 AWS CloudFront가 유용합니까?

S3 버킷(뭄바이)의 비디오를 단일 지역(인도)의 사용자에게 제공하고 있습니다. 수천 명의 사용자가 인도에서만 이러한 파일에 액세스할 것으로 예상됩니다. CloudFront 배포판을 갖는 것이 가치가 있습니까? CloudFront를 사용하면 지연 시간이 줄어들까요? CloudFront를 사용하지 않는 경우 S3가 대역폭을 처리할 수 있습니까?

도와 주셔서 감사합니다.

답변1

성능 측면에서 보면 그렇습니다. 유용할 것 같습니다.

CloudFront는 현재 인도에 5개의 엣지 로케이션(첸나이(2), 뉴델리(1), 뭄바이(2))을 보유하고 있으므로 콘텐츠가 사용자에게 더 가깝기 때문에 CloudFront를 사용하면 지연 시간을 줄일 수 있음을 의미합니다( 지리적 분포에 따라 다름)...

그러나 뭄바이의 S3에서 직접 다운로드한 GB당 $0.1093에 비해 인도의 엣지 로케이션에서 다운로드한 CloudFront에는 $0.17/GB의 프리미엄 비용이 있습니다. (CloudFront + S3를 사용하는 경우 S3 bamdwidth 요금이 적용되지 않습니다.)

그렇습니다. "유용합니다". 하지만 이 특정 지역의 비용을 정당화할 만큼 충분히 유용한지는 말할 수 없습니다.

S3에는모범 사례 지침GETCloudFront도 사용하지 않을 때 요청 비율이 초당 800개(최대) 또는 300개(지속)를 초과할 것으로 예상되는 버킷의 경우 . 서비스는 이러한 값 이상으로 확장되지만 지침을 따르면 더 효과적으로 확장하는 데 도움이 됩니다. (핫키와 인덱스 핫스팟은 잘 분산된 키만큼 쉽게 확장 가능하지 않습니다.) 요청 속도가 100req/s 미만인 경우 특별한 고려 사항이 필요하지 않습니다.

추가 옵션은S3 전송 가속, AWS "에지 네트워크"(즉, CloudFront)를 통해 요청을 선택적으로 라우팅합니다.교통망) 실제 캐싱이 없습니다. 뭄바이에서는 다운로드 비용이 $0.04/GB + $0.1093/GB입니다. 여기서의 장점은 브라우저가 엣지 로케이션에 있는 서버에 잠재적으로 연결되어 그곳에서 다시 S3로 연결을 프록시한다는 것입니다. 이렇게 하면 트래픽이 공용 인터넷으로 전달되기 전에 가능한 한 많은 거리를 AWS 네트워크에서 이동하게 되며, 시청자에게 더 가까운 중간 위치에서 전송을 최적화하고 패킷 손실을 처리하여 전송 시간을 크게 향상시킬 수 있습니다. S3 Transfer Acceleration을 사용하는 경우 CloudFront가 가장 가까운 엣지로 요청을 보내는 데 사용하는 DNS 로직을 대신 사용하여 지정된 최종 사용자를 다시 S3 지역에 연결하는 최선의 방법을 결정합니다. 따라서 사용자를 S3에 직접 연결할 수 있습니다( 이 경우 해당 요청에 대한 가속 기능에 대해 $0.04/GB의 대역폭 요금이 청구되지 않거나 Edge 네트워크를 통해 라우팅될 수 있습니다(이 경우에는 그렇게 됩니다). 여기서 아이디어는 버킷과 관련된 요청자의 지리적 위치를 기반으로 도움이 되지 않을 것 같은 요청에 대해 기능이 자동으로 우회된다는 것입니다. 버킷에서 이 기능을 활성화하면 버킷 엔드포인트도 로 변경됩니다 bucket-name.s3-accelerate.amazonaws.com. 웹 사이트 호스팅 기능이 아닌 REST 인터페이스만 지원하지만 리디렉션 및 문서 색인과 같은 기능을 사용하지 않는 경우에는 괜찮습니다. 지리적 위치와 대역폭 가격의 특성을 고려하면 여기가 좋은 시작점이 될 수 있습니다.

관련 정보