Blog de Amazon Web Services (AWS)

Ensayos sobre la Transferencia de Datos en AWS – Parte 3

Por Ciro Santos, Arquitecto de Soluciones de AWS,
David Reis, Arquitecto de Soluciones de AWS
Thiago Tietze,  Enterprise Support Lead e
Michelle Perez, Arquitecto de Soluciones de AWS

 

Este ensayo presenta escenarios comunes para aplicaciones web que utilizan Amazon CloudFront junto con Amazon S3 para contenido estático y Classic Load Balancer para contenido dinámico. Si no ha visto los dos primeros ensayos, acceda a Ensayos Sobre la Transferencia de Datos – Parte 1 (en Portugués) y Ensayos Sobre la Transferencia de Datos – Parte 2 para obtener más información sobre la propuesta, el formato y los colores utilizados.

 

ADVERTENCIA:  Estos ensayos pretenden discutir la lógica y las principales dimensiones de los costos implicados en los escenarios presentados. Los importes actuales y precisos deben tener en cuenta la información descrita en las páginas de precios de cada servicio. Las estimaciones presentadas utilizan la región de São Paulo como referencia en la moneda «dólar estadounidense» y otras regiones se indicarán cuando sea pertinente.

 

3a – Servir contenido estático mediante Amazon CloudFront y Amazon S3

1. Descripción

En este escenario se detallará cómo servir contenido estático almacenado en Amazon S3 a través de Amazon CloudFront, la red de entrega de contenido (CDN) de AWS. Esta es una buena práctica que ayuda a mejorar el rendimiento, ya que se accederá a los archivos a través de una CDN, es decir, utilizando puntos de presencia (Point of Presence o PoP) ubicados cerca del usuario que realizó la solicitud. Además, los buckets no están expuestos en Internet, lo que impide que los clientes accedan directamente a ellos.

 

2. Diagrama de ejemplo

 

 

 

3. Dimensiones de costos

Este caso consta de dos servicios, Amazon S3 y Amazon CloudFront.

Los costos de Amazon CloudFront tienen varias dimensiones, pero consideraremos los cuatro más relevantes para este ensayo. Estos costos varían según la ubicación del PoP utilizado para servir el contenido y los detalles se encuentran en los precios de Amazon CloudFront.

  • (i) Número de solicitudes para todos los métodos HTTP: Este costo varía según la ubicación del PoP y el tipo de solicitud (HTTP o HTTPS).
  • (ii) Tráfico de datos entrante, medido en Gigabytes (GB; consulte la nota 1): Amazon CloudFront no cobra por el tráfico de datos entrante procedente de Internet, es decir, es gratuito.
  • (iii) Tráfico saliente al origen, medido en Gigabytes (GB): La tarifa por GB varía según la ubicación del PoP (véase la nota 2).
  • (vii) Tráfico de Internet saliente, medido en Gigabytes (GB): La tarifa por GB varía según la ubicación del PoP y el volumen de tráfico entregado.

Los costos de Amazon S3 tienen diferentes dimensiones, pero en este ensayo nos centraremos en los tres primeros que varían según la región elegida. Algunas dimensiones, como el costo de almacenamiento de S3, no se han tenido en cuenta; consulte los detalles en Precios de Amazon S3.

  • (iv) Tráfico de datos entrantes: AWS no cobra el tráfico de datos entrante, es decir, es gratuito.
  • (v) Número de solicitudes: Amazon S3 cobra por las solicitudes realizadas para solicitar un archivo almacenado. Este costo varía en función del tipo de solicitud (GET, PUT, POST, entre otros) y de la región en la que se almacena el archivo. En general, para contenido estático, la solicitud GET es la más utilizada.
  • (vi) Tráfico de datos saliente: Amazon S3 cobra por el tráfico de Internet saliente. Sin embargo, cuando el tráfico se enruta desde Amazon S3 a un PoP de Amazon CloudFront, AWS exime esta tarifa.

 

4. Escenario

Usuario de Brasil que solicita 100.000 archivos de 10 MB almacenados en un Bucket S3 a través de CloudFront mediante HTTPS. En este ejemplo, el tráfico lo entregará un PoP de Amazon CloudFront en Brasil. Debido a que esta es la primera solicitud de descarga, CloudFront tendrá que pedir el archivo en S3 y almacenarlo en caché en el PoP.

  • Costos relacionados con Amazon CloudFront
    • (i) Número de solicitudes HTTPS (Costo de 100.000 solicitudes para pedir 100.000 archivos)
      • Costo debido a las solicitudes GET en PoP de América del Sur: 100.000 solicitudes GET * (0,022/10.000 USD) = 0,22 USD
    • (ii) Tráfico de datos entrantes: 0,00 USD
    • (iii) Tráfico saliente hacia el origen (Amazon CloudFront hacia Amazon S3)
      • Exento porque se trata de solicitudes GET (véase la nota 2): 0,00 USD
    • (vii) Tráfico de Internet saliente
      • El tráfico estimado es de 10 MB * 100.000 archivos = 1 TB
      • Costo de transferencia de 1 TB (consulte la nota 1: Gigabytes y Gibibytes): 1.024 GB * 0,11 USD/GB = 112,64 USD
    • Costos totales de Amazon CloudFront
      • 112,64 USD (transferencia de datos a Internet) + 0,00 USD (transferencia de datos al origen) +0,22 USD (solicitudes HTTPS) = 112,86 USD
    • Costos relacionados con Amazon S3
      • (iv) Tráfico de datos entrantes: exento
      • (v) Número de solicitudes (costo de 100.000 solicitudes)
        • 000 solicitudes GET * (0,00056/ 1.000) = 0,056 USD
      • (vi) Tráfico de datos salientes (Amazon S3 hacia Amazon CloudFront): El tráfico saliente a CloudFront está exento
      • Costo total de Amazon S3:0,056 USD+0,00 USD = 0,056 USD
    • Costo total del escenario

112,66 USD (Amazon CloudFront) + 0,056 USD (Amazon S3) = 112,71 USD

 

5. Observações

Consulte la nota sobre el cargo por transferencia de datos salientes en Amazon Cloudfront

El paquete Amazon CloudFront Security Savings Bundle le ayuda a ahorrar hasta un 30% en su factura de CloudFront a cambio de un compromiso de gasto mensual durante un período de 1 año. Más información en Presentación del paquete de ahorros de seguridad de Amazon CloudFront.

6. Casos similares

No se han identificado casos.

 

3b – Servir contenido dinámico mediante Amazon CloudFront y Classic Load Balancer

1. Descripción

En este escenario, se detallará cómo servir una aplicación dinámica, por ejemplo, una aplicación web implementada en una instancia de Amazon EC2 mediante IP privada detrás de Amazon Elastic Load Balancer; en este caso se utilizará Classic Load Balancer (CLB). Y a su vez este balanceador de carga será el origen de una distribución de Amazon CloudFront que sirve solicitudes HTTP/HTTPS para los usuarios de la aplicación.

 

2. Diagrama de ejemplo

 

 

3. Dimensiones de costos

Los costos de Amazon CloudFront tienen diferentes dimensiones; en este estudio consideraremos las cuatro más relevantes. Estos costos varían según la región y la ubicación del PoP utilizado y se detallan en los precios de Amazon CloudFront.

  • (i) Número de solicitudes para todos los métodos HTTP: Este costo varía según la ubicación del PoP y el tipo de solicitud (HTTP o HTTPS).
  • (ii) Tráfico de datos entrante, medido en Gigabytes (GB; consulte la nota 1): Amazon CloudFront no cobra por el tráfico de datos entrante procedente de Internet, es decir, es gratuito.
  • (iii) Tráfico saliente al origen, medido en Gigabytes (GB): La tarifa por GB varía según la ubicación del PoP (véase la nota 2).
  • (vii) Tráfico de Internet saliente, medido en Gigabytes (GB): La tarifa por GB varía según la ubicación del PoP y el volumen de tráfico entregado.

Los costos de Amazon Classic Load Balancer (CLB) tienen dos dimensiones y varían según la región que elija.

  • (iv) Transferencia de datos entrantes de CloudFront a CLB: 0,00 USD
  • (v) Datos procesados: 0,0011 USD por GB
  • (viii) Tiempo de CLB aprovisionado: 0,034 USD por hora (o fracción de hora)
  • (ix) Transferencia de datos salientes de CLB a CloudFront: 0,00 USD

El costo de la transferencia de datos entre CLB y EC2 tiene dos dimensiones que también varían según la región elegida teniendo en cuenta la configuración de balanceo Multi-AZ habilitada.

  • (vi) Transferencia de datos entrantes: 0,00 USD
  • (vii) Transferencia de datos salientes: 0,00 USD

 

4. Escenario de ejemplo

Aplicación web que sirve tráfico dinámico a través de CloudFront, CLB y EC2 en la región de San Pablo (sa-east-1) durante un mes (730 horas). Los usuarios de la aplicación realizaron 400 millones de solicitudes GET HTTPS que suman 2 TB de entrada a CloudFront, que se transfieren a su vez al origen, en este caso un Classic Load Balancer público que, a su vez, envía estos 2 TB a una instancia EC2 utilizando 1 IP privada. Una vez que la aplicación procesa las solicitudes, envía respuestas que suman 80 TB de datos durante el mes. Respuesta que se envía a través del Classic Load Balancer, que luego se transfiere a CloudFront, que finalmente envía la respuesta a los usuarios de la aplicación. De este tráfico de transferencia de datos, consideramos que todas las solicitudes salen por un PoP en la región de Sudamérica.

  • Costo relacionado con CloudFront
    • i) Número de solicitudes HTTPS (Costo por 400 millones de solicitudes)
      • Solicitudes para América del Sur: 400.000.000 * (0,022 USD / 10.000) = 880,00 USD
    • ii) Tráfico de datos entrante: 0,00 USD
    • iii) Tráfico saliente hacia el origen
      • Exento porque se trata de solicitudes GET (sin carga útil, consulte la nota 2): 0,00 USD
    • vii) Tráfico de Internet saliente
      • Región Sudamérica (80 TB → 81.920 GB):
        • Primeros 10 TB (rango 0 TB – 10 TB): 10.240 GB * 0,11 USD/GB = 1.126,40 USD
        • Siguientes 40 TB (rango 10 TB – 50 TB): 40.960 GB * 0,05 USD/GB = 4.300,80 USD
        • Siguientes 100 TB (rango 50 TB – 150 TB): 30.720 GB * 0,09 USD/GB = 2.764,80 USD
        • Total: 1,126,40 USD + 4.300,80 USD + 2.764,80 USD = 8.192,00 USD
      • Costos totales CloudFront
        • 880,00 USD (solicitudes HTTPS) + 8.192,00 USD (transferencia de datos hacia Internet) +0,00 USD (transferencia de datos a origen) = 9.072,00 USD
      • Costo relacionado con el balanceador de carga (CLB)
        • (iv) Transferencia de datos entrantes de CloudFront al CLB: 0,00 USD
        • v) Datos procesados
          • 048 GB * 0,011 USD por GB = 22,53 USD
        • viii) Tiempo de CLB aprovisionado
          • 1 CLB * 0,034 USD * 730h = 24,82 USD
        • (ix) Transferencia de datos saliente de CLB a CloudFront: 0,00 USD
        • Costos totales de CLB 24,82 USD + 22,53 USD = 47,35 USD
      • Costos de EC2 relacionados con la transferencia de datos
        • Exento para entrada y salida de datos: 0,00 USD
      • Costo total:
        • 072,00 USD (CloudFront) + 47,35 USD (CLB) +0,00 USD (DT EC2) = 9,119,35 USD

 

5. Observaciones

Si una instancia envía datos a un CLB interno de otra VPC en la misma AZ y en la misma región, se considerará el costo de transferir datos entre zonas de disponibilidad (AZ).

Los distintos puntos de presencia (PoP) en diferentes ubicaciones supondrán costos diferentes. Además, los métodos HTTP/S como POST y PUT suelen tener una carga útil y supondrán costos adicionales, que se explorarán en futuros ensayos.

Los clientes de AWS que deseen comprometerse con un tráfico mensual mínimo superior a 10 TB durante un período de más de 12 meses pueden tener descuentos incluso superiores a los del paquete de ahorros de seguridad de Amazon CloudFront. Para ello, simplemente póngase en contacto con AWS y solicite soporte para precios privados de CloudFront.

 

6. Casos similares

AWS ofrece varios tipos de balanceadores de carga, como Application Load Balancer (ALB) y Network Load Balancer (NLB), que tienen distintos modelos de precios y se abordarán en futuros ensayos.

 

Próximos ensayos

En este ensayo, aprendió los costos que implica el uso de Amazon CloudFront para servir contenido estático alojado en Amazon S3 y dinámico mediante un Classic Load Balancer. En los siguientes ensayos abordaremos dos casos más.

Siga los ensayos para seguir aprendiendo sobre la transferencia de datos y envíe sus sugerencias para los siguientes por correo electrónico a awsdtbr@amazon.com.

 

Notas

1 – Gigabytes e Gibibytes

Conceptualmente, 1 Gigabyte representa 1 * 10^9 bytes, es decir, 1.000.000.000 de bytes. En el mundo de la informática, es habitual utilizar el término 1 Gigabyte para hacer referencia a 1 * 2^30 bytes, lo que puede causar confusión en el análisis del tráfico. Para ello, la Comisión Electrotécnica Internacional IEC creó el lenguaje para el almacenamiento electrónico, que tiene el término Gibibyte que representa 2^30 y se expresa con las siglas GiB.

CloudFront cobra el tráfico utilizando valores GiB, pero en la documentación encontrará el término Gigabyte.

O CloudFront cobra o tráfego usando valores GiB, porém na documentação você irá encontrar o termo Gigabyte.

 

2 – Facturación para la transferencia de datos salientes de Amazon CloudFront hacia el origen

Las solicitudes en formato HTTP se componen de encabezados (headers) y cuerpo (body). AWS no cobra el tráfico generado por los encabezados, pero cobra por el contenido del cuerpo de la solicitud HTTP (body) cuando se envía desde el PoP de CloudFront a Amazon S3, que se denomina transferencia de datos salientes al origen.

Las solicitudes de tipo GET generalmente no contienen un cuerpo y, por lo tanto, no generan costos de tráfico desde el PoP a S3.

GET /Key+?partNumber=PartNumber&...
HTTP/1.1
Host: Bucket.s3.amazonaws.com
If-Match: IfMatch
...
Range: Range


[no body]

 

Por otro lado, las solicitudes de tipo POST o PUT pueden tener contenido en el cuerpo (resaltado a continuación) y, por lo tanto, generar costos.

 

PUT /my-image.jpg
HTTP/1.1
Host: myBucket.s3.<Region>.amazonaws.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Content-Type: text/plain
Content-Length: 11434


[11434 bytes of object data]

 

Siglas

  • AZ – Zona de Disponibilidad (Availability Zone)
  • DT – Transferencia de Datos (Data Transfer)
  • DTI – Transferencia de Datos Entrante (Data Transfer In)
  • DTO – Transferencia de Datos Saliente (Data Transfer Out)
  • ELB – Elastic Load Balancing
  • S3 – Amazon Simple Storage Service
  • CLB – Classic Load Balancer
  • CDN – Content Delivery Network
  • PoP – Point of Presence

 

Referencias

 

Este artículo fue traducido del Blog de AWS en Portugues.

 


Sobre los autores

Ciro Santos es arquitecto de soluciones en AWS

 

 

 

 

 

David Reis es arquitecto de soluciones en AWS.

 

 

 

 

 

Thiago Tietze es Enterprise Support Lead en AWS

 

 

 

 

 

Michelle Perez es arquitecta de soluciones en AWS

 

 

 

 

 

Gracias a los revisores Marcelo Pinto, Edge Sales Specialist, y Paulo Aragão, arquitecto de soluciones en AWS.

Revisión de la versión en español: Hernán Terrizzano, Technical Account Manager en AWS.