La gestión eficaz de los costes de la nube es una prioridad fundamental para las empresas de todos los sectores. Permite a las empresas comprender con claridad, transparencia y optimización todos los costes asociados a la infraestructura de la nube.
Descripción del problema
La falta de visibilidad del ciclo de vida de un volumen genera costos adicionales por recursos no utilizados y que se pasan por alto. Para los clientes de AWS, los volúmenes de Elastic Block Storage (EBS) no asociados pueden convertirse en un motivo de cargos inesperados en una factura de la nube de AWS. En algunos casos, el ciclo de vida de los volúmenes de EBS persiste incluso si se termina una instancia de EC2. Dichos volúmenes de EBS no asociados en las cuentas de AWS no se utilizan, pero usted sigue pagando por ellos.
Nuestras recomendaciones le ayudarán a identificar volúmenes EBS no conectados que se hayan pasado por alto y a eliminarlos para optimizar los costos de la nube y evitar recursos subutilizados.
Recomendaciones
Paso 1
Si queremos encontrar todos los volúmenes, debemos revisar todas las regiones disponibles.
Comando de la CLI de AWS:
aws ec2 describe-regions --query "Regions[].RegionName" --texto de salida
Puede encontrar más información aquí:
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-regions.html
Paso 2
Para cada región disponible, debemos revisar todos los volúmenes y verificar el estado actual. Si el estado actual es disponible, Este volumen no está adjunto a ninguna instancia.
Comando de la CLI de AWS:
aws ec2 describe-volumes --region "$region" --filters Nombre=estado,Valores=disponible --consulta 'Volúmenes[].[VolumeId]' --texto de salida
Puede encontrar más información aquí:
https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html
Optimización gratuita de los costos de la nube. De por vida
Nota
AWS CLI tiene un mecanismo de paginación para grandes cantidades de datos en la salida. Si tiene muchos volúmenes en una región, el script proporcionado procesará solo la primera página. Considere usar algo más potente que AWS CLI.
Como resultado, una línea de comando:
para la región en $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); hacer para volumeId en $(aws ec2 describe-volumes --region "$region" --filters Name=status,Values=available --query 'Volumes[].[VolumeId]' --output text); hacer echo "Región: $region VolumeId $volumeId"; hecho; hecho
Resto
Este script muestra los volúmenes que no están conectados a ninguna instancia en este momento. Podría ser un estado temporal y sería bueno verificar la última fecha de conexión antes de eliminar el volumen. Lamentablemente, AWS no almacena un historial de conexiones. En ese caso, puede usar las siguientes variantes:
- Ejecute este script dos veces con un día de retraso y encontrará volúmenes que aún no estén conectados después de un día.
- Si su cuenta tiene habilitados los registros de rastros en la nube, puede intentar encontrar la última fecha de archivo adjunto siguiendo estas instrucciones https://aws.amazon.com/ru/premiumsupport/knowledge-center/list-attachments-history-ebs-volume/
- El uso de herramientas de terceros como OptScale, FinOps y la plataforma de gestión de costos en la nube puede ayudarlo a identificar volúmenes EBS no conectados y reducir costos con un par de clics.
👆🏻 Almacenar objetos en depósitos públicos de AWS S3 podría amenazar la seguridad de los datos de su empresa.
💡 Descubra las recomendaciones que le ayudarán a gestionar el acceso público a los recursos de AWS S3 de forma adecuada y garantizar que todos los depósitos y objetos necesarios tengan su acceso público bloqueado → https://hystax.com/the-quickest-way-to-get-a-list-of-public-buckets-in-aws-to-enhance-your-security