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:
- Creación de un almacén: Crear un contenedor para almacenar copias de seguridad.
- Asociación de recursos: Determinar el servidor o disco en la nube que se va a realizar la copia de seguridad.
- Creación de un punto de restauración: Crear una copia de respaldo.
- Consulta de un punto de restauración: Confirmar que se ha creado una copia de respaldo.
Procedimiento
- Cree un almacén.
- 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": [] } }
- API
- 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" }] } }
- API
- Registre el ID del almacén en el cuerpo de respuesta.
- Cree un almacén con configuraciones sencillas.
- Asocie un servidor o disco con el almacén.
- 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" ] }
- API
- 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.
- Recursos asociados.
- Cree un punto de restauración.
- 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 } } }
- API
- Registre el ID del punto de restauración en el cuerpo del mensaje de respuesta.
- Cree un punto de restauración.
- 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 } }
- API