La gestión eficiente de los costes y las operaciones financieras se han convertido en una de las principales prioridades de los clientes de la nube pública en todas las industrias. Una de las principales razones de los excesos en el presupuesto de la nube es la falta de visibilidad del ciclo de vida de un volumen, lo que genera la presencia de recursos huérfanos y sin utilizar. Estos recursos que se pasan por alto se incluyen en la factura de la nube de la empresa y los usuarios ni siquiera esperan estar pagando por ellos.
Después de nuestra publicación en el blog Reduzca su factura de AWS limpiando instantáneas de discos huérfanos y sin uso Tenemos muchas preguntas sobre cómo se puede aplicar esto a los objetivos de optimización de costos de la nube en otras nubes públicas, como Microsoft Azure y Alibaba Cloud.
Exploremos cómo podemos realizar operaciones de limpieza similares en ellos.
Limpieza de instantáneas de MS Azure
El proceso de búsqueda de instantáneas no utilizadas en Azure se puede realizar aplicando los siguientes criterios a la lista de instantáneas:
- La instantánea es anterior a cierta fecha
- El disco de origen desde el que se crea la instantánea no existe
Usemos Azure Cloud Shell en modo Bash para encontrar dichas instantáneas.
Hacer una lista de instantáneas antiguas (puede establecer un umbral de fecha según sus necesidades):
OLD_SNAPSHOTS=$(lista de instantáneas az --consulta "[?timeCreated <= '2021-01-01T00:00:00.000000+00:00'].{DiskId:creationData.sourceResourceId,Id:id}" --tabla de salida | tail -n +3)
Listado de discos:
DISCOS_USADOS=$(lista de discos az --consulta "[].{Id:id}" --tabla de salida | cola -n +3)
Filtrar instantáneas que aún tienen disco de origen:
UNUSED_SNAPSHOTS=() IS_UNUSED_SNAPSHOT=false IS_DISK_ID=true para RESOURCE_ID en $OLD_SNAPSHOTS hacer si $IS_DISK_ID entonces si [[ ! "$USED_DISKS[*]" =~ $RESOURCE_ID ]] entonces IS_UNUSED_SNAPSHOT=true fi IS_DISK_ID=false de lo contrario si $IS_UNUSED_SNAPSHOT entonces UNUSED_SNAPSHOTS+=($RESOURCE_ID) fi IS_UNUSED_SNAPSHOT=false IS_DISK_ID=true fi hecho echo "Se detectaron las siguientes instantáneas sin usar: $UNUSED_SNAPSHOTS"
Una vez que los tengas enumerados y verifiques que realmente no los necesitas, puedes limpiarlos fácilmente mediante un solo comando:
az snapshot delete --ids "${INSTANTÁNEAS_NO_UTILIZADAS[@]}"
Optimización gratuita de los costos de la nube. De por vida
Limpieza de instantáneas en Alibaba Cloud
En Alibaba Cloud, las propiedades de Snapshot tienen un valor más útil que nos permite ponerlo como criterio de filtrado: el campo “Uso”, que está vacío si esta Snapshot no se utiliza como fuente para algún disco o imagen.
Teniendo esto en cuenta, aquí te mostramos cómo puedes detectar instantáneas no utilizadas usando Alibaba Cloud Shell.
Hacer una lista de instantáneas antiguas (puede establecer un umbral de fecha según sus necesidades):
OLD_SNAPSHOTS=$(aliyun ecs DescribeSnapshots --pager --Uso ninguno --Filtro.2.Clave CreationEndTime --Filtro.2.Valor 2021-01-01T00:00Z --salida cols=SnapshotId,SourceDiskId rows=Instantáneas.Instantánea[] | tail -n +3 | sed 's/ | /,/g')
Listado de discos:
DISCOS_USADOS=$(aliyun ecs DescribeDisks --pager --output cols=Disks.Disk[].DiskId | tail -n +3 | sed 's/[//' | sed 's/]//')
Filtrar instantáneas que aún tienen disco de origen:
para SNAP_INFO en $OLD_SNAPSHOTS hacer SNAPSHOTID=$(cortar -d, -f1 <<< $SNAP_INFO) DISKID=$(cortar -d, -f2 <<< $SNAP_INFO) si [[ ! "$USED_DISKS[*]" =~ $DISKID ]] entonces repetir "Instantánea detectada - $SNAPSHOTID" # aliyun ecs DeleteSnapshot --SnapshotId=$SNAPSHOTID fi hecho
Tenga en cuenta la línea comentada en el último fragmento. Deberá descomentarla una vez que verifique la lista de instantáneas no utilizadas detectadas y esté listo para limpiarlas.
Las formas de identificar y limpiar instantáneas huérfanas descritas anteriormente ayudarán a su empresa a mantener los costos de MS Azure y Alibaba Cloud bajo control e implementar las mejores prácticas de la metodología FinOps al brindarle a su equipo de TI más visibilidad de los recursos en la nube.
Encuentre las mejores prácticas y consejos útiles sobre cómo etiquetar recursos de la nube en MS Azure → https://hystax.com/ms-azure-tagging-best-practices.