tier services precios español aws amazon-s3 amazon-ec2 amazon-web-services cloud

amazon s3 - services - Cuándo usar Amazon Cloudfront o S3



aws login (10)

Amazon CLOUDFRONT y S3 son dos servicios diferentes proporcionados por Amazon Web Services.

Amazon S3 es un servicio de almacenamiento en el que podemos almacenar archivos estáticos como:

css, imágenes, javascripts, videos, etc.

Amazon CloudFront es un software intermedio que se interpone entre un usuario que solicita un archivo de AWS y el centro de datos S3 en una región específica. CloudFront se usa para acelerar la distribución de su contenido web estático y dinámico de S3 al usuario.

Puedes entenderlo mejor con un ejemplo:

Por ejemplo, su S3 se encuentra en la región de AWS US East (N. Virginia) que es una ubicación del centro de datos para almacenar sus archivos.

Si un usuario de India intenta acceder a un archivo desde un servidor de AWS en Virginia, entonces el usuario tendría que ir a esa ubicación específica con una solicitud, y esto llevará mucho tiempo.

Lo que hace CloudFront es que se trata de un middleware entre el usuario y AWS S3.

Los archivos más utilizados se pueden almacenar en caché en CloudFront y lo que hace es replicar esos archivos en ubicaciones de borde (para entregar contenido a usuarios finales con menor latencia, Amazon CloudFront utiliza una red global de ubicaciones de borde para la entrega de contenido).

Si el contenido ya se encuentra en la ubicación de borde con la latencia más baja, CloudFront lo entrega de inmediato. Si el contenido no se encuentra actualmente en esa ubicación de borde, CloudFront lo recupera de un depósito de Amazon S3 y lo proporciona al usuario lo más rápido que puede.

A cada solicitud se le asigna un nuevo DNS de CloudFront al S3, por lo que se reduciría el tráfico y se procesarían más solicitudes en paralelo.

A continuación se encuentra la lista de ubicaciones actuales de borde para julio de 2016:

Estados Unidos

  • Ashburn, VA (3)
  • Atlanta, Georgia
  • Chicago, IL
  • Dallas / Fort Worth, TX (2)
  • Hayward, CA
  • Jacksonville, FL
  • Los Ángeles, CA (2)
  • Miami, Florida
  • Nueva York, NY (3)
  • Newark, NJ
  • Palo Alto, CA
  • San Jose, CA
  • Seattle, WA
  • South Bend, IN
  • St. Louis, MO

Europa

  • Amsterdam, Países Bajos (2)

  • Dublín, Irlanda

  • Frankfurt, Alemania (3)

  • Londres, Inglaterra (3)

  • Madrid, España

  • Marsella, Francia

  • Milán, Italia

  • París, Francia (2)

  • Estocolmo, Suiza

  • Varsovia, Polonia

Asia

  • Chennai, India

  • Hong Kong (2)

  • Mumbai, India

  • Manila, Filipinas

  • Nueva Delhi, India

  • Osaka, Japón

  • Seúl, Corea (3)

  • Singapur (2)

  • Taipei, Taiwán

  • Tokio, Japón (2)

Australia

  • Melbourne, Australia

  • Sydney, Australia

Sudamerica

  • São Paulo, Brasil

  • Rio de Janeiro, Brasil

A partir de esto, puede concluir que si los usuarios son limitados de la misma región en la que se aloja su S3, entonces no necesita ir a CloudFront, y si la cantidad de usuarios aumenta a nivel global, entonces definitivamente debe usar CloudFront. para una mejor latencia y control de tráfico.

¿Hay casos de uso que se presten mejor a Amazon cloudfront sobre s3 o al revés? Estoy tratando de entender la diferencia entre los 2 a través de ejemplos.


Amazon S3 es un servicio de almacenamiento simple, esto se puede utilizar una gran cantidad de información, es decir, videos, imágenes, PDF, etc.

CloudFront es una red de entrega de contenido, que está más cerca del usuario final y se utiliza para hacer que la información esté disponible en Amazon S3 en el menor tiempo posible.

Un caso de uso de muestra es Video on Demand.

  1. Usted almacena sus videos en un solo lugar. S3 almacena todos los videos pregrabados en diferentes formatos.
  2. Tienes un caso de usuario global
  3. CloudFront se usa para almacenar en caché el video en ubicaciones de borde. Esto se puede usar para entregar contenido al usuario final. La ubicación se recoge automáticamente en función de la ubicación del borde físico más cercano. Actualmente hay alrededor de 51 ubicaciones de borde.

Algunas ventajas de usar CloudFront para el caso de uso correcto:

  1. Latencia mejorada: mejor experiencia para el usuario final.
  2. Posible costo reducido de transferencia de datos. Como los datos no se transfieren en cualquier momento desde el mismo depósito S3 en una región AWS particular.

Otros posibles casos de uso:

  1. Transmisión en vivo
  2. Juego de azar
  3. Aceleración del sitio web

Amazon S3 es una gran plataforma de almacenamiento de objetos si está buscando un sistema de almacenamiento distribuido a nivel mundial para protegerse de las regiones / zonas que están cayendo. También es ideal para contenido estático / fijo que no es transaccional ni cambia, como imágenes, videos, imágenes, copias de seguridad, etc. ¡Espero que ayude!


En primer lugar, me gustaría explicar que Amazon S3 es la nube. Storage and Cloud Front es la red de distribución de contenido (CDN).

De modo que puede usar para almacenar los archivos en S3 y puede crear la distribución para servir el contenido a través de Internet. Además de poder crear distribución para las regiones específicas.


Otra gran diferencia es que la nube le permite duplicar el sitio en su servidor. Cloudfront almacena en caché los archivos como imágenes, mp3 o video utilizando su red de entrega de contenido.

Esto le ahorra tener que duplicar sus activos como lo haría cuando usa Amazon S3.

sin embargo, después de que un archivo caduque, Cloudfront lo buscará nuevamente desde su sitio en vivo (al costo). Por lo tanto, el frente de la nube es mejor para los archivos a los que se accede con frecuencia, y menos para los que se accede con poca frecuencia.

Una forma de establecer el vencimiento del archivo para apache es en .htaccess. por ejemplo

<filesMatch "//.(mp3|mp4)$"> Header set Cache-Control "max-age=648000, private" </filesMatch>


Otro caso para usar CloudFront sobre S3 es que puede usar un certificado SSL para un dominio personalizado en CloudFront, mientras que no puede hacerlo en S3. ¡Una muy buena razón, imho!



Un aspecto perdido aquí es:

Amazon Cloudfront también ofrece precios más bajos que Amazon S3 en niveles de uso más altos.

  • Cloudfront CDN es para la distribución de contenido en múltiples servidores distribuidos geográficamente (CSS, JS)

  • Mientras que s3 es más de un almacén de recursos menos utilizado por usuario (imágenes de usuario, archivos PDF).

Puede servir sus recursos de Cloudfront desde un segmento s3 omitiendo por completo su servidor web.

( Útil en situaciones donde su servidor web precompila y almacena imágenes y java-script. Almacenarlas en s3 significa que se reduce la huella de memoria del servidor )

Ej: en Heroku Slugs (los tamaños de aplicación completados se pueden reducir usando s3 y envolviéndolo con CDN de frente a la nube mejorará el rendimiento)


Amazon S3 está diseñado para almacenamiento de archivos de gran capacidad y bajo costo en una región geográfica específica. * Los costos de almacenamiento y ancho de banda son bastante bajos.

Amazon CloudFront es una red de entrega de contenido (CDN) que aproxima y almacena en caché los datos web en ubicaciones de borde lo más cerca posible de los usuarios.

Cuando los usuarios finales solicitan un objeto utilizando este nombre de dominio, se dirigen automáticamente a la ubicación de borde más cercana para la entrega de alto rendimiento de su contenido. ( Amazon )

Los datos servidos por CloudFront pueden venir o no de S3. Dado que está más optimizado para la velocidad de entrega, el ancho de banda cuesta un poco más.

Si tu base de usuarios está localizada , no verás demasiada diferencia al trabajar con S3 o CloudFront (pero debes elegir la ubicación correcta para tu depósito S3: EE. UU., UE, APAC). Si su base de usuarios se extiende globalmente y la velocidad es importante, CloudFront puede ser una mejor opción.

Tanto S3 como CloudFront permiten alias de dominio, sin embargo CloudFront permite múltiples alias para que d1.mystatics.com , d2.mystatics.com y d3.mystatics.com puedan apuntar a la misma ubicación aumentando la capacidad de descargas paralelas (esto solía ser recomendado por Google pero con la introducción de SPDY y HTTP / 2 es de menor importancia).

CloudFront también es compatible con CORS a partir de 2014 (gracias sergiopantoja).

* Nota: S3 ahora puede replicarse automáticamente en regiones adicionales a partir de 2015.


CloudFront y S3 Bucket no son lo mismo . En términos simples: CloudFront le permite acelerar la entrega de contenido de sus contenidos web a través de Content Delivery Network (CDN) en ubicaciones de borde, mientras que S3 Buckets es donde almacena sus archivos reales. Las fuentes de CloudFront pueden no ser necesariamente de S3, sino para una visualización más sencilla de la integración de S3 con CloudFront:

Para obtener explicaciones más detalladas, consulte mis notas sobre S3 Bucket y CloudFront:

http://sysdotoutdotprint.com/technologies/aws/20

http://sysdotoutdotprint.com/technologies/aws/18