Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2023-04-26 GMT+08:00

Exemplo 1: Criação de um backup do ECS

Cenários

Você pode fazer backup de recursos, incluindo servidores de nuvem e discos. Esta seção usa um ECS como exemplo para descrever como criar um backup de servidor em nuvem chamando APIs. Para obter detalhes sobre como chamar as API, consulte Chamada das APIs.

Restrições

O cofre criado usando essa API está no modo de cobrança de pagamento por uso.

As APIs envolvidas

Para criar um backup do servidor em nuvem, é necessário criar um cofre para armazenar backups, associar o servidor de destino ao cofre e, em seguida, fazer backup do servidor. As seguintes API são necessárias:

Procedimento

  1. Crie um cofre.
    1. Crie um cofre com configurações simples.
      • API

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

        Para obter detalhes, consulte Criação de um cofre.

      • Exemplo de solicitação

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

        Obtenha o valor de {endpoint} de Regiões e pontos de extremidade.

        Corpo:

        {
            "vault": {
                   "billing": {
                          "cloud_type": "public",
                          "consistent_level": "crash_consistent",
                          "object_type": "server",
                          "protect_type": "backup",
                          "size": 200
                   },
                   "name": "my_vault",
                   "resources": []
            }
        }
      • Exemplo de resposta
        {
            "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. Crie um cofre pré-pago e associe-o a um servidor.
      • API

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

        A API utilizada é a mesma que a fornecida em 1.a.

      • Exemplo de solicitação

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

        Obtenha o valor de {endpoint} de Regiões e pontos de extremidade.

        Corpo:

        {
            "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 o ID do cofre no corpo da resposta.
  2. Associe um servidor ou disco ao cofre.
    1. Associe recursos.
      • API

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

        Para obter detalhes, consulte Associação de recursos.

      • Exemplo de solicitação

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

        Obtenha o valor de {endpoint} de Regiões e pontos de extremidade.

        Corpo:

        {
            "resources": [{
                   "id": "e8cc6bfd-d324-4b88-9109-9fb0ba70676f",
                   "type": "OS::Nova::Server",
                   "name": "server-4690-0002" 
            }]
        }
      • Exemplo de resposta
        {
            "add_resource_ids": [
                "e8cc6bfd-d324-4b88-9109-9fb0ba70676f"
            ]
        }
    2. No corpo da solicitação, selecione o ID de um ECS que esteja no estado Running e não tenha sido associado a um cofre.
  3. Crie um ponto de restauração.
    1. Crie um ponto de restauração.
      • API

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

        Para obter detalhes, consulte Criação de um ponto de restauração.

      • Exemplo de solicitação

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

        Obtenha o valor de {endpoint} de Regiões e pontos de extremidade.

        Corpo:

        {
            "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"
            }
        }
      • Exemplo de resposta
        {
            "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 o ID do ponto de restauração no corpo da mensagem de resposta.
  4. Verifique se o backup do servidor foi realizado com êxito.
    • API

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

      Para obter detalhes, consulte Consulta de um ponto de restauração.

      Obtenha o valor de {endpoint} de Regiões e pontos de extremidade.

    • Exemplo de solicitação

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

    • Exemplo de resposta
      {
          "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
          }
      }