Cómo detectar volúmenes no adjuntos en AWS para dejar de pagar por recursos no utilizados

La gestión eficaz de los costes de la nube es una prioridad clave para las empresas de todos los sectores. Permite a las empresas obtener una comprensión clara, transparencia y optimización de todos los costos asociados con 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 pasados ​​por alto. Para los clientes de AWS, los volúmenes de Elastic Block Storage (EBS) no adjuntos 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 finaliza una instancia EC2. Dichos volúmenes de EBS independientes en las cuentas de AWS no se utilizan, pero usted aún los paga.

Nuestras recomendaciones lo ayudarán a identificar los volúmenes de EBS no adjuntos que se pasan por alto y eliminarlos para optimizar los costos de la nube y evitar la infrautilización de recursos.

Recomendaciones

Paso 1

Si queremos encontrar todos los volúmenes, debemos revisar todas las regiones disponibles. comando aws cli:

aws ec2 describe-regions --query "Regions[].RegionName" --output text

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 está disponible, este volumen no se adjunta a ninguna instancia. comando aws cli:

aws ec2 describe-volumes --region "$region" --filters Name=status,Values=available --query 'Volumes[].[VolumeId]' --output text

Puede encontrar más información aquí: https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html

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 poderoso que aws cli.

Como resultado, un comando de línea:

for region in $(aws ec2 describe-regions --query "Regions[].RegionName" --output text); do for volumeId in $(aws ec2 describe-volumes --region "$region" --filters Name=status,Values=available --query 'Volumes[].[VolumeId]' --output text); do echo "Region: $region VolumeId $volumeId"; done; done

El uso de herramientas de terceros como OptScale, FinOps y la plataforma de administración de costos en la nube puede ayudarlo a identificar volúmenes de EBS no conectados y reducir costos con un par de clics:

Acceda a una prueba GRATUITA ahora