Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> Cloud Backup and Recovery> Referencia de la API> Casos de aplicación> Ejemplo 1: Creación de una copia de seguridad de ECS
Actualización más reciente 2023-02-03 GMT+08:00

Ejemplo 1: Creación de una copia de seguridad de ECS

Escenarios

Puede realizar una copia de seguridad de recursos, incluidos los servidores en la nube y los discos. Esta sección utiliza un ECS como ejemplo para describir cómo crear una copia de respaldo de un servidor en la nube mediante llamadas a las API. Para obtener más información sobre cómo llamar a las API, consulte Llamadas a APIs.

Restricciones

El almacén creado con esta API está en modo de facturación de pago por uso.

APIs involucradas

Para crear una copia de respaldo del servidor en la nube, debe crear un almacén para almacenar copias de seguridad, asociar el servidor de destino con el almacén y, a continuación, realizar una copia de respaldo del servidor. Se requieren las siguientes API:

Procedimiento

  1. Cree un almacén.
    1. Cree un almacén con configuraciones sencillas.
      • API

        Formato URI: POST /v3/{project_id}/vaults

        Para obtener más información, consulte Creación de un almacén.

      • Muestra de solicitud

        POST: https://{endpoint}/v3/{project_id}/vaults

        Obtenga el valor de {endpoint} de Regiones y puntos de conexión.

        Cuerpo:

        {
            "vault": {
                   "billing": {
                          "cloud_type": "public",
                          "consistent_level": "crash_consistent",
                          "object_type": "server",
                          "protect_type": "backup",
                          "size": 200
                   },
                   "name": "my_vault",
                   "resources": []
            }
        }
      • Muestra de respuesta
        {
            "vault": {
                "id": "ea7b8717-2543-478a-a92d-3ca7ee448f67",
                "name": "my_vault",
                "description": null,
                "resources": [],
                "provider_id": "0daac4c5-6707-4851-97ba-169e36266b66",
                "created_at": "2020-08-17T03:51:24.678916",
                "project_id": "0605767b5780d5762fc5c0118072a564",
                "enterprise_project_id": "0",
                "auto_bind": false,
                "bind_rules": {},
                "user_id": "aa2999fa5ae640f28926f8fd79188934",
                "billing": {
                    "allocated": 0,
                    "cloud_type": "public",
                    "consistent_level": "crash_consistent",
                    "frozen_scene": null,
                    "charging_mode": "post_paid",
                    "order_id": null,
                    "product_id": null,
                    "protect_type": "backup",
                    "object_type": "server",
                    "spec_code": "vault.backup.server.normal",
                    "used": 0,
                    "storage_unit": null,
                    "status": "available",
                    "size": 200
                },
                "tags": []
            }
        }
    2. Cree un almacén de prepago y asóciela con un servidor.
      • API

        Formato URI: POST /v3/{project_id}/vaults

        La API utilizada es la misma que la proporcionada en 1.a.

      • Muestra de solicitud

        POST: https://{endpoint}/v3/{project_id}/vaults

        Obtenga el valor de {endpoint} de Regiones y puntos de conexión.

        Cuerpo:

        {
            "vault": {
                   "billing": {
                          "cloud_type": "public",
                          "consistent_level": "crash_consistent",
                          "object_type": "server",
                          "protect_type": "backup",
                          "size": 100,
                          "charging_mode": "pre_paid",
                          "period_type": "month",
                          "period_num": 1,
                          "is_auto_renew": false,
                          "is_auto_pay": false
                   },
                   "description": "vault_description",
                   "name": "vault_name",
                   "resources": [{
                          "id": "97595625-198e-4e4d-879b-9d53f68ba551",
                          "type": "OS::Nova::Server"
                   }]
            }
        }
    3. Registre el ID del almacén en el cuerpo de respuesta.
  2. Asocie un servidor o disco con el almacén.
    1. Recursos asociados.
      • API

        Formato URI: POST /v3/{project_id}/vaults/{vault_id}/addresources

        Para obtener más información, consulte Asociación de recuros.

      • Muestra de solicitud

        POST: https://{endpoint}/v3/0605767b5780d5762fc5c0118072a564 /vaults/ea7b8717-2543-478a-a92d-3ca7ee448f67/addresources

        Obtenga el valor de {endpoint} de Regiones y puntos de conexión.

        Cuerpo:

        {
            "resources": [{
                   "id": "e8cc6bfd-d324-4b88-9109-9fb0ba70676f",
                   "type": "OS::Nova::Server",
                   "name": "server-4690-0002" 
            }]
        }
      • Muestra de respuesta
        {
            "add_resource_ids": [
                "e8cc6bfd-d324-4b88-9109-9fb0ba70676f"
            ]
        }
    2. En el cuerpo de la solicitud, seleccione el ID de un ECS que está en el estado Running y no se ha asociado a un almacén.
  3. Cree un punto de restauración.
    1. Cree un punto de restauración.
      • API

        Formato URI: POST /v3/{project_id}/checkpoints

        Para obtener más información, consulte Creación de un punto de restauración.

      • Muestra de solicitud

        POST: https://{endpoint}/v3/0605767b5780d5762fc5c0118072a564/checkpoints

        Obtenga el valor de {endpoint} de Regiones y puntos de conexión.

        Cuerpo:

        {
            "checkpoint": {
                "parameters": {
                    "auto_trigger": false,
                    "description": "backupauto",
                    "incremental": true,
                    "name": "backup_auto",
                    "resources": ["e8cc6bfd-d324-4b88-9109-9fb0ba70676f"]
                  },
                "vault_id": "ea7b8717-2543-478a-a92d-3ca7ee448f67"
            }
        }
      • Muestra de respuesta
        {
            "checkpoint": {
                "id": "d9ce6924-d753-4132-bd16-a9f8838ea7d2",
                "project_id": "0605767b5780d5762fc5c0118072a564",
                "status": "protecting",
                "vault": {
                    "id": "ea7b8717-2543-478a-a92d-3ca7ee448f67",
                    "name": "my_vault",
                    "resources": [
                        {
                            "id": "e8cc6bfd-d324-4b88-9109-9fb0ba70676f",
                            "type": "OS::Nova::Server",
                            "name": "ecs-9f93-0002",
                            "extra_info": "{}",
                            "resource_size": "40",
                            "backup_size": "0",
                            "backup_count": "0",
                            "protect_status": "available"
                        }
                    ],
                    "skipped_resources": []
                },
                "created_at": "2020-08-17T06:49:06.307378",
                "extra_info": {
                    "name": "backup_auto",
                    "description": "backupauto",
                    "retention_duration": -1
                }
            }
        }
    2. Registre el ID del punto de restauración en el cuerpo del mensaje de respuesta.
  4. Compruebe que el servidor se ha realizado una copia de seguridad correctamente.
    • API

      Formato URI: GET /v3/{project_id}/checkpoints/{checkpoint_id}

      Para obtener más información, consulte Consulta de un punto de restauración.

      Obtenga el valor de {endpoint} de Regiones y puntos de conexión.

    • Muestra de solicitud

      GET: https://{endpoint}/v3/0605767b5780d5762fc5c0118072a564/checkpoints/d9ce6924-d753-4132-bd16-a9f8838ea7d2

    • Muestra de respuesta
      {
          "checkpoint": {
              "id": "d9ce6924-d753-4132-bd16-a9f8838ea7d2",
              "project_id": "0605767b5780d5762fc5c0118072a564",
              "status": "available",
              "vault": null,
              "created_at": "2020-08-17T06:49:06.260790",
              "extra_info": null
          }
      }