Aspectos básicos de la facturación y optimización de costos
GUÍA DE INTRODUCCIÓN
Introducción
Cuando usa la nube para alojar sus aplicaciones y sistemas, es importante entender cómo funciona el modelo de facturación y cómo puede optimizar sus costos. La nube le permite reemplazar los gastos fijos (como los centros de datos y servidores físicos) por gastos variables y pagar solo por los recursos a medida que los utiliza. Existen varias dimensiones de facturación diferentes, según el tipo de recurso que utilice. Estos pueden variar desde la cantidad de tiempo que se ejecuta un recurso, la cantidad de datos que se almacenan, transfieren o procesan, o la cantidad de invocaciones a la API realizadas.
-
¿Cómo puedo visualizar mis costos?
El primer paso para entender su facturación es poder ver los recursos de los que dispone y cuánto cuesta gestionarlos. El Panel de facturación de AWS de la Consola de administración de AWS muestra una descripción general de alto nivel de sus costos mensuales actuales, junto con una previsión basada en los recursos que se están ejecutando actualmente. Si aún no está familiarizado con la consola, le recomendamos que lea el tutorial Introducción a la Consola de administración de AWS. La información de facturación se considera confidencial y, como tal, solo el usuario raíz de cualquier cuenta de AWS tiene acceso inicialmente a esta sección de la consola. Si no puede ver el panel de facturación, tendrá que delegar el acceso a su usuario de IAM de AWS. A continuación, se muestra un ejemplo del panel de facturación, en el que se muestran los servicios que se utilizan actualmente y su costo:
Si bien el panel de facturación ofrece una visión general y un desglose detallado de los costos, es posible que desee analizarlos con más detalle. Esto se puede hacer mediante el Explorador de costos de AWS. Le permite ver qué servicios se utilizaron y la cantidad que cada uno contribuyó a su gasto mensual. También hay un gráfico que muestra los diferentes valores y puede usarlo para aplicar filtros en una serie de dimensiones diferentes, como la región o el servicio. A continuación, se muestra un ejemplo del panel de facturación:
-
¿Puedo recibir una alerta cuando mi proyección de gastos supere un importe determinado?
Sí. Esta debería ser una de las primeras cosas que configure al crear una nueva cuenta de AWS. Siga las instrucciones de la Guía del usuario de Amazon CloudWatch para configurar una alerta basada en los cargos totales estimados. Puede configurar alarmas adicionales en función de una serie de métricas o dimensiones, según sus necesidades.
-
¿Qué recursos son gratuitos?
El nivel gratuito de AWS ofrece a los clientes la posibilidad de explorar y probar los servicios de AWS sin costo hasta llegar a los límites especificados para cada servicio. El nivel gratuito consta de tres tipos diferentes de ofertas: un nivel gratuito de 12 meses, una oferta siempre gratis y las pruebas a corto plazo. Los servicios con un nivel gratuito de 12 meses permiten a los clientes utilizar el servicio gratis durante un año (a partir de la fecha en que se creó la cuenta) hasta alcanzar los límites específicos. Los servicios con una oferta siempre gratis permiten a los clientes utilizar el servicio de forma gratuita hasta alcanzar los límites especificados, siempre que sean clientes de AWS. Los servicios con una versión de prueba a corto plazo se pueden usar gratis durante un período de tiempo específico o se pueden usar una sola vez, según el servicio seleccionado. Para ver qué recursos del nivel gratuito y qué cantidad de cada uno utiliza actualmente, abra el Panel del nivel gratuito en la sección Facturación de su cuenta de AWS. Aquí tiene un ejemplo de lo que podrá ver:Si aún no ha configurado una cuenta o es la primera vez que usa AWS, le recomendamos que se familiarice con la Consola de administración de AWS y que lea Cómo configurar su entorno de AWS.
-
¿Puedo pagar una cantidad fija y predecible por mes?
Por lo general, los servicios de AWS se facturan según una tarifa por consumo basada en diferentes dimensiones, como el tiempo durante el que se ejecuta el recurso, la cantidad de datos procesados o transferidos y el número de solicitudes. Algunos de los servicios tienen un nivel gratuito y sus costos mensuales dependen de la combinación de servicios que utilice.
Si busca una solución con un costo fijo y predecible, Amazon Lightsail es un servicio que ofrece instancias de servidores privados virtuales (VPS) fáciles de usar, contenedores, almacenamiento y bases de datos, entre otros, a un precio mensual rentable. Como ejemplo, siga este tutorial sobre el despliegue de un sitio de WordPress en Amazon Lightsail.
-
¿Cómo puedo reducir mi factura mensual?
Puede reducir su factura mensual de varias maneras. Estas van desde optimizar las cantidades o tamaños de las instancias o bases de datos que utiliza, migrar de bases de datos con licencia a bases de datos de código abierto, escalar y reducir verticalmente de forma automática y en función de la demanda o cambiar sus servicios para usar AWS Lambda u otros servicios sin servidor que se reducen a cero cuando no están en uso. Otra opción es apagar los entornos y recursos que no están en uso las 24 horas del día, los 7 días de la semana. Por ejemplo, hay 168 horas totales en una semana. Si los desarrolladores solo usan el entorno de desarrollo durante el horario de oficina (de 8:00 a 18:00, [10 horas]), los siete días de la semana, desactivarlo le ahorraría 98 horas a la semana (aproximadamente el 58,33 %). Para implementar esta solución, puede consultar el Programador de instancias de AWS para desactivar automáticamente las instancias y bases de datos según un cronograma.En las secciones siguientes se describen escenarios específicos para el uso de instancias de spot de AWS, el escalamiento automático para escalar o reducir verticalmente en función de la carga y la optimización de los costos de red, procesamiento y bases de datos.
-
¿Qué son las instancias de spot?
Cuando se activa una instancia EC2, se denomina instancia bajo demanda, con los costos asociados por segundo de ejecución. También puede activarla como una instancia de spot de EC2, lo que le permite aprovechar la capacidad de EC2 no utilizada en la nube de AWS. Las instancias de spot están disponibles con un descuento de hasta el 90 % en comparación con los precios bajo demanda. La advertencia aquí es que, dado que depende de la capacidad de EC2 no utilizada, puede cancelarse en algún momento si hay un aumento en las instancias bajo demanda, con una advertencia de 2 minutos sobre cuándo ocurrirá esto. Esto le permite completar cualquier solicitud en curso en la instancia y apagarla correctamente o suspenderla hasta que haya una capacidad de spots disponible. También puede usar una combinación de diferentes tipos de instancias de spot para reducir la probabilidad de que no tenga suficiente capacidad para sus solicitudes. Consulte la siguiente sección para obtener más información.
-
Escalar automáticamente los recursos en función de la demanda
Escalar o reducir verticalmente los recursos en función de la carga de trabajo actual le permite tener la capacidad suficiente para gestionar las solicitudes entrantes. Para las instancias de Amazon EC2, esto se puede hacer mediante el escalamiento automático y la configuración de reglas de escalamiento en función de métricas como la carga de la CPU, la entrada/salida de la red, el número de solicitudes, entre otros. Para las cargas de trabajo en las que se producen picos predecibles, como un sistema utilizado por una escuela en el que la mayoría de las personas inician sesión y comienzan a usarlo a las 7:00, puede configurar el escalamiento automático con el escalamiento predictivo según un horario entre las 6:50 y las 18:10, por ejemplo.
Como se mencionó en la sección anterior, las instancias de spot son otra forma de reducir los costos de las instancias EC2. Con el escalamiento automático, puede crear flotas combinadas de instancias compuestas por una combinación de instancias de spot y bajo demanda, con opciones para elegir qué instancias de spot usar. Por ejemplo, puede configurarlo para usar instancias de spot para m5.large ym5.xlarge, con una ponderación adjunta para indicar la capacidad que proporciona cada una. En este caso, el m5.xlarge tiene el doble de cómputo que el m5.large, por lo que asignarle un valor de 2 y al m5.large un valor de 1 permitirá que el escalamiento automático tome una decisión sobre qué tipo elegir al escalar. La dimensión de la instancia de spot a elegir se puede configurar en función del precio más bajo, donde elegirá la instancia con el costo por unidad más bajo, según lo definido en las ponderaciones u optimización por capacidad, donde elegirá el tipo de instancia con la capacidad de spot más actual, lo que reduce la posibilidad de que se interrumpa la carga de trabajo.
Si usa funciones de Lambda para sus aplicaciones, existe una herramienta de código abierto AWS Lambda Power Tuning, alojada en GitHub, que ayuda a probar el código con diferentes configuraciones de Lambda para encontrar la mejor combinación de costo y rendimiento para usted.
-
Optimización de los costos informáticos
Un buen punto de partida para la optimización de costos es analizar los tamaños de la instancia de EC2 o de la función de Lambda en base a la cantidad de procesamiento que realizan. Los diferentes tipos de instancias EC2 están optimizados para diferentes cargas de trabajo, como las CPU de alta frecuencia, la alta capacidad de memoria, el rápido almacenamiento local SSD NVME, las GPU conectadas para el machine learning y el alto rendimiento de la red. Por ejemplo, si observa que su carga de trabajo hace un uso intensivo de la CPU, puede que le resulte más económico usar la familia de instancias C5 en lugar de las M5 de uso general. Por el contrario, si solo observa picos periódicos en el uso de la CPU, la familia de instancias T con ráfagas podría ser más adecuada para su carga de trabajo. Para comenzar a optimizar su procesamiento, puede usar AWS Compute Optimizer para analizar las cargas de trabajo en ejecución y hacer recomendaciones.
-
Optimización de los costos de transferencia de datos
La transferencia de datos entre las regiones de AWS, las zonas de disponibilidad (AZ) o entre AWS e Internet tiene un costo asociado. Puede reducir este costo diseñando su infraestructura para enrutar el tráfico a lo largo de rutas óptimas. El primer paso consiste en analizar los puntos de conexión de VPC si va a realizar llamadas a servicios de AWS, como Amazon S3 o Amazon ECR. Al crear un punto de conexión de VPC dentro de la VPC, las llamadas a los servicios de AWS compatibles se enrutan a través de él y permanecen dentro de la red de AWS en lugar de llamar desde la VPC a Internet y, después, de vuelta a la red de AWS. Esto le ayudará a evitar los costos de salida de la red.
El siguiente paso es optimizar las llamadas entre su infraestructura. Cuando despliega en varias zonas de disponibilidad para lograr resiliencia, puede usar la afinidad de zonas de disponibilidad para garantizar que las llamadas se enruten tanto como sea posible dentro de cada zona de disponibilidad. Si su aplicación utiliza una base de datos compatible con Amazon RDS, puede crear réplicas de lectura para que todas las llamadas de lectura que se hicieron se puedan realizar con la réplica de lectura dentro de la misma zona de disponibilidad.
-
Optimización de los costos de bases de datos
Para empezar a optimizar los costos de la base de datos, puede desplegar réplicas de lectura adicionales para descargar las consultas de la base de datos principal que solo lee datos. Esto liberará capacidad en el nodo principal que gestiona todos los cambios de datos (actualizaciones, inserciones y eliminaciones). Esto ayudará a optimizar hasta el punto en el que necesite empezar a escalar o reducir verticalmente la instancia de la base de datos a medida que la carga fluctúe. Puede cambiar el tamaño de la instancia de una base de datos de Amazon RDS, pero eso requiere que la base de datos se desconecte mientras se cambia el tipo de instancia. Si su aplicación necesita tiempo de actividad continuo, vale la pena usar Amazon Aurora, un servicio de base de datos relacional que combina la velocidad y la disponibilidad de las bases de datos comerciales de alta gama con la simplicidad y la rentabilidad de las bases de datos de código abierto. Aurora es compatible con MySQL y PostgreSQL, por lo que las herramientas y las aplicaciones de MySQL existentes pueden ejecutarse sin necesidad de realizar modificaciones. Amazon Aurora sin servidor es una configuración escalable bajo demanda para Aurora, en la que la base de datos inicia, apaga y escala o reduce verticalmente su capacidad de forma automática y en función de las necesidades de la aplicación.
-
Cómo optimizar una carga de trabajo fija
Cuando haya optimizado su carga de trabajo tanto como haya podido y haya una carga mínima fija que deba soportar, vale la pena considerar la posibilidad de suscribirse a un Savings Plan. Un Savings Plan (plan de ahorro) es un modelo de descuento flexible que le ofrece los mismos descuentos que las instancias reservadas, a cambio del compromiso de utilizar una cantidad específica (medida en dólares por hora) de potencia informática durante un período de uno o tres años. Los Savings Plans están disponibles en dos versiones:
Los Savings Plans para computación proporcionan la mayor flexibilidad y ayudan a reducir los costos en hasta un 66 % (al igual que las instancias reservadas convertibles). Los planes se aplican automáticamente a cualquier instancia EC2, independientemente de la región, la familia de instancias, el sistema operativo o la tenencia, incluidas las que forman parte de Amazon EMR, Amazon ECS o un clúster de Amazon EKS. Por ejemplo, puede cambiar de instancias C4 a C5, trasladar una carga de trabajo de Dublín a Londres o migrar de EC2 a AWS Fargate y, de paso, beneficiarse de los precios del Savings Plan sin tener que hacer nada.
Los Savings Plans para instancias de EC2 se aplican a una familia de instancias específica dentro de una región y ofrecen el mayor descuento (hasta un 72 %, al igual que las instancias reservadas estándar). Al igual que con las instancias reservadas, su Savings Plan cubre el uso de diferentes tamaños del mismo tipo de instancia (como una c5.4xlarge o una c5.large) en una región. Incluso puede cambiar de Windows a Linux sin dejar de beneficiarse, sin tener que hacer ningún cambio en su Savings Plan.
-
Herramientas y servicios para ayudar a optimizar los costos
Herramientas y servicios para ayudar a optimizar los costos
- Optimice los costos de almacenamiento de Amazon S3 mediante el uso de Intelligent Tiering
- Amazon S3 Storage Lens
- Detección de anomalías de costos de AWS