Eliminar una nube privada

Una nube privada consta de uno o varios clústeres de vSphere. Si eliminas una nube privada, se eliminará toda la nube privada. Se eliminan todos los componentes de la nube privada, incluidos todos los nodos de la nube privada.

Los componentes de una nube privada son los siguientes:

  • Nodos
  • Máquinas virtuales
  • VLANs y subredes de gestión
  • Subredes de cargas de trabajo
  • Todos los datos de usuario almacenados en la nube privada
  • Todas las reglas de acceso externo

La eliminación de una nube privada se realiza en dos fases: eliminación temporal y eliminación permanente. En cada fase ocurre lo siguiente:

  1. Eliminación no definitiva: la nube privada entra en un estado de eliminación no definitiva de siete días. Durante esta fase, ocurre lo siguiente:
    • La facturación se detendrá inmediatamente.
    • Se interrumpe toda la conectividad con los segmentos y las cargas de trabajo de NSX.
    • El acceso a la interfaz de usuario y a la API de la nube privada está inhabilitado.
    • Las direcciones IP externas están inhabilitadas.
    • La configuración y los datos de la nube privada se conservan y tus VMs siguen ejecutándose.
    • Puedes restaurar la nube privada a su estado anterior.
  2. Eliminación permanente: al cabo de siete días, la nube privada y sus recursos se eliminan de forma permanente. Si quieres eliminar de forma permanente una nube privada que se encuentra en estado de eliminación lógica antes de que finalice el periodo de siete días, puedes usar Privileged Access Manager o ponerte en contacto con el equipo de Asistencia.

Antes de empezar

Si quieres conservar alguno de los datos, crea una copia de seguridad en otra nube privada,Google Cloud almacenamiento o almacenamiento local u otro tipo de almacenamiento.

Requisitos de gcloud y de la API

Para usar la herramienta de línea de comandos gcloud o la API para gestionar tus recursos de VMware Engine, te recomendamos que configures las herramientas como se describe a continuación.

gcloud

  1. Configura tu ID de proyecto predeterminado:

    gcloud config set project PROJECT_ID
    
  2. Definir una región y una zona predeterminadas:

    gcloud config set compute/region REGION
    
    gcloud config set compute/zone ZONE
    

Para obtener más información sobre la herramienta gcloud vmware, consulta la documentación de referencia del SDK de Cloud.

API

En los ejemplos de API de este conjunto de documentación se usa la herramienta de línea de comandos cURL para consultar la API. Se necesita un token de acceso válido como parte de la solicitud cURL. Hay muchas formas de obtener un token de acceso válido. En los siguientes pasos se utiliza la herramienta gcloud para generar un token de acceso:

  1. Inicia sesión en Google Cloud:

    gcloud auth login
    
  2. Generar token de acceso y exportarlo a TOKEN:

    export TOKEN=`gcloud auth print-access-token`
    
  3. Verifica que TOKEN esté configurado correctamente:

    echo $TOKEN
    

Ahora, usa el token de autorización en tus solicitudes a la API. Por ejemplo:

curl -X GET -H "Authorization: Bearer \"$TOKEN\"" -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations

Python

Los ejemplos de código de Python de esta documentación usan la biblioteca VMware Engine para comunicarse con la API. Para poder usar este método, la biblioteca debe estar instalada y las credenciales de aplicación predeterminadas deben estar configuradas.

  1. Descarga e instala la biblioteca de Python:

    pip install google-cloud-vmwareengine
    
  2. Configura la información de ADC ejecutando esos comandos en tu shell:

    gcloud auth application-default login
    

    También puedes usar un archivo de clave de cuenta de servicio:

    export GOOGLE_APPLICATION_CREDENTIALS="FILE_PATH"
    

Para obtener más información sobre la biblioteca, visita la página de referencia o consulta los ejemplos de código en GitHub.

Eliminar una nube privada

Si quieres que los CIDRs de IP de tu red de carga de trabajo estén disponibles de inmediato, apaga todas las VMs de tu nube privada antes de iniciar la eliminación de la nube privada.

Consola

  1. En la Google Cloud consola, ve a la página Nubes privadas.

    Ir a Private Cloud

  2. Haz clic en Seleccionar un proyecto y, a continuación, selecciona la organización, la carpeta o el proyecto en el que quieras eliminar la nube privada.

  3. Selecciona la nube privada que quieras eliminar.

  4. En la página de resumen, haz clic en Eliminar esta nube privada.

  5. En la página de confirmación, se te pedirá que verifiques todos los resultados de la acción de eliminación. Léelas detenidamente y continúa con la eliminación solo si estás conforme con los resultados. Cuando quieras aceptar los resultados, selecciona todas las casillas.

  6. Introduce el número de horas que quieres esperar antes de ejecutar la eliminación (entre 1 y 8 horas). Durante ese periodo, puedes cancelar la eliminación haciendo clic en Cancelar.

  7. Para verificar que sabes qué nube privada vas a eliminar, introduce el nombre de la nube privada que quieres eliminar.

  8. Haz clic en Eliminar para marcar la nube privada para su eliminación.

El proceso de eliminación se inicia tras el retraso especificado (en horas) y se ejecuta hasta completarse.

gcloud

Para eliminar una nube privada con la CLI de Google Cloud, usa el comando gcloud vmware private-clouds delete.

  gcloud vmware private-clouds delete PRIVATE_CLOUD_ID \
     --location=ZONE [--delay-hours=HOURS]

Haz los cambios siguientes:

  • PRIVATE_CLOUD_ID: el ID de la instancia de Private Cloud de esta solicitud
  • ZONE: la zona de esta nube privada
  • HOURS: número de horas que se debe posponer esta solicitud. De forma predeterminada, este valor es de 3 horas, pero puedes configurarlo entre 0 y 8 horas. Si este valor es 0, la solicitud de eliminación se iniciará inmediatamente.

API

Para eliminar una nube privada mediante la API de VMware Engine, haz una solicitud DELETE:

curl -X DELETE -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID&mps;delayHours=HOUR

Haz los cambios siguientes:

  • TOKEN: el token de autorización de esta solicitud.
  • PROJECT_ID: el proyecto de esta solicitud
  • ZONE: la zona de la nube privada
  • PRIVATE_CLOUD_ID: el ID de la nube privada
  • HOUR: número de horas que se debe posponer esta solicitud. El valor predeterminado es 3. Puedes definir una hora entre las 0 y las 8. Si este valor es 0, la solicitud de eliminación se inicia inmediatamente.

Python

Eliminar una nube privada con la biblioteca de Google Cloud VMware Engine es un proceso de un solo paso en comparación con el uso de la Google Cloud consola. Ten mucho cuidado al llamar a los métodos de eliminación de nubes privadas.

from google.api_core import operation
from google.cloud import vmwareengine_v1


def delete_private_cloud_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Deletes VMware Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to delete.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.DeletePrivateCloudRequest()
    request.force = True
    request.delay_hours = 3
    request.name = cloud_name
    return client.delete_private_cloud(request)


def delete_private_cloud(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Deletes VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to be deleted.

    Returns:
        An Operation object related to started private cloud deletion operation.
    """
    return delete_private_cloud_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )

Acelerar la eliminación de una nube privada con Privileged Access Manager

Puedes usar Privileged Access Manager para obtener acceso privilegiado de corta duración y eliminar de forma permanente una nube privada que esté en estado de eliminación lógica, en lugar de esperar a que finalice el periodo de eliminación lógica de siete días. Para obtener más información sobre Privileged Access Manager, consulta el artículo de introducción a Privileged Access Manager.

Para usar Privileged Access Manager y acelerar la eliminación de una nube privada, necesitas un derecho, que define los roles que puedes solicitar, los usuarios que pueden solicitarlos y los usuarios que pueden aprobar las solicitudes. Para obtener más información, consulta Crear derechos en Privileged Access Manager.

El derecho debe conceder un rol que incluya permisos para eliminar una nube privada de Google Cloud VMware Engine, como vmwareengine.privateClouds.delete. Por ejemplo, el rol roles/vmwareengine.vmwareengineAdmin incluye este permiso.

Para solicitar, aprobar y revocar permisos que proporcionen acceso temporal, consulta Solicitar y gestionar permisos. Cuando solicites una concesión, debes proporcionar una justificación y un aprobador designado debe aprobarla. Las autorizaciones son válidas durante un periodo determinado.

Una vez que tengas una concesión activa con los permisos necesarios, podrás eliminar de forma permanente la nube privada eliminada temporalmente mediante la consola, la CLI de Google Cloud o los pasos de la API que se describen en el artículo Eliminar una nube privada. Si eliminas una nube privada que ya está en estado de eliminación lógica, se eliminará de forma permanente junto con sus recursos.

Cancelar la eliminación de una nube privada

Puedes cancelar la eliminación de una nube privada durante el periodo de eliminación lógica. Sigue estos pasos.

Consola

  1. En la Google Cloud consola, ve a la página Nubes privadas.

Ir a Private Cloud

  1. Selecciona la nube privada que hayas marcado para eliminar.
  2. En la página de resumen, haz clic en Cancelar eliminación para cancelar la eliminación de la nube privada.

gcloud

Para cancelar la eliminación de una nube privada con la CLI de Google Cloud, usa el comando gcloud vmware private-clouds undelete:

  gcloud vmware private-clouds undelete PRIVATE_CLOUD_ID \
     --location=ZONE

Haz los cambios siguientes:

  • PRIVATE_CLOUD_ID: el ID de la instancia de Private Cloud de esta solicitud
  • ZONE: la zona de esta nube privada

API

Para cancelar la eliminación de una nube privada mediante la API de VMware Engine, haz una solicitud POST:

curl -X POST -H "Authorization: Bearer TOKEN"  -H "Content-Type: application/json; charset=utf-8" https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds?privateCloudId=PRIVATE_CLOUD_ID:undelete

Haz los cambios siguientes:

  • TOKEN: el token de autorización de esta solicitud.
  • PROJECT_ID: el ID de proyecto de esta solicitud
  • ZONE: la zona de la nube privada
  • PRIVATE_CLOUD_ID: el ID de la instancia de Private Cloud de esta solicitud

Python

from google.api_core import operation
from google.cloud import vmwareengine_v1


def cancel_private_cloud_deletion_by_full_name(cloud_name: str) -> operation.Operation:
    """
    Cancels in progress deletion of VMware Private Cloud.

    Args:
        cloud_name: identifier of the Private Cloud you want to cancel deletion for.
            Expected format:
            projects/{project_name}/locations/{zone}/privateClouds/{cloud}

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    client = vmwareengine_v1.VmwareEngineClient()
    request = vmwareengine_v1.UndeletePrivateCloudRequest()
    request.name = cloud_name
    return client.undelete_private_cloud(request)


def cancel_private_cloud_deletion(
    project_id: str, zone: str, cloud_name: str
) -> operation.Operation:
    """
    Cancels in progress deletion of VMWare Private Cloud.

    Args:
        project_id: name of the project hosting the private cloud.
        zone: zone in which the private cloud is located in.
        cloud_name: name of the private cloud to cancel deletion for.

    Returns:
        An Operation object related to canceling private cloud deletion operation.
    """
    return cancel_private_cloud_deletion_by_full_name(
        f"projects/{project_id}/locations/{zone}/privateClouds/{cloud_name}"
    )