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.
Central de ajuda/ Auto Scaling/ Referência de API/ Exemplos de aplicação/ Exemplo 5: execução de operações em instâncias em lotes
Atualizado em 2023-07-04 GMT+08:00

Exemplo 5: execução de operações em instâncias em lotes

Cenários

Esta seção descreve como executar operações em instâncias em lotes chamando APIs. Para mais detalhes, consulte Chamada das API.

Uma instância é um ECS em um grupo de AS. O AS permite adicionar ou remover instâncias de ou para um grupo de AS em lotes, configurar a proteção de instâncias ou cancelar a configuração para as instâncias em um grupo de AS em lotes e definir o modo de espera ou cancelar a configuração para as instâncias em um grupo de AS em lotes.

Restrições

  • Depois que as instâncias são removidas de um grupo de AS, o número de instâncias no grupo de AS não pode ser menor que o número mínimo de instâncias.
  • Depois que as instâncias são adicionadas a um grupo de AS, o número de instâncias no grupo de AS não pode ser maior que o número máximo de instâncias.
  • As instâncias podem ser adicionadas a um grupo de AS somente quando o grupo de AS estiver no estado INSERVICE e não tiver nenhuma ação de dimensionamento em andamento.
  • As instâncias podem ser removidas de um grupo de AS somente quando nenhuma ação de dimensionamento está em andamento. Somente instâncias no estado INSERVICE podem ser removidas de um grupo de AS.
  • Para adicionar instâncias a um grupo de AS, verifique se a AZ das instâncias deve estar dentro da do grupo de AS e se as instâncias estão na mesma VPC que o grupo de AS.

APIs envolvidas

Procedimento

  1. Determine o token do usuário que pode ser usado para autenticar a chamada de outras APIs.

    1. Visualize o token do usuário. Para obter detalhes, consulte Obtenção de um token de usuário.
    2. Obtenha o valor de X-Subject-Token no cabeçalho de resposta.

  1. Determine o grupo de AS.

    1. Visualize grupos de AS.
      • API

        Formato de URI: GET /autoscaling-api/v1/{project_id}/scaling_group

        Para mais detalhes, consulte Consulta de grupos de AS.

      • Exemplo de solicitação

        GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group

      • Exemplo de resposta
        {
          "limit": 20,
          "scaling_groups": [
              {
                  "networks": [
                      {
                          "id": "a8327883-6b07-4497-9c61-68d03ee193a",
                          "ipv6_enable": true,
                          "ipv6_bandwidth": 
                          {
                              "id": "076ee2ff-f23e-4338-b8ac-1bc7278532d5"
                          }
                      }
                  ],
                  "available_zones": [
                      "XXXa",
                      "XXXb"
                  ],
                  "detail": null,
                  "scaling_group_name": "as-group-test",
                  "scaling_group_id": "77a7a397-7d2f-4e79-9da9-6a35e2709150",
                  "scaling_group_status": "INSERVICE",
                  "scaling_configuration_id": "1d281494-6085-4579-b817-c1f813be835f",
                  "scaling_configuration_name": "healthCheck",
                  "current_instance_number": 0,
                  "desire_instance_number": 1,
                  "min_instance_number": 0,
                  "max_instance_number": 500,
                  "cool_down_time": 300,
                  "lb_listener_id": "f06c0112570743b51c0e8fbe1f235bab",
                  "security_groups": [
                      {
                          "id": "8a4b1d5b-0054-419f-84b1-5c8a59ebc829"
                      }
                  ],
                  "create_time": "2015-07-23T02:46:29Z",
                  "vpc_id": "863ccae2-ee85-4d27-bc5b-3ba2a198a9e2",
                  "health_periodic_audit_method": "ELB_AUDIT",
                  "health_periodic_audit_time": 5,
                  "health_periodic_audit_grace_period": 600,
                  "instance_terminate_policy": "OLD_CONFIG_OLD_INSTANCE",
                  "is_scaling": false,
                  "delete_publicip": false,
                  "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413",
                  "multi_az_priority_policy": "PICK_FIRST"
              }
        ],
        "total_number": 1,
        "start_number": 0
        }
    1. Selecione um grupo de AS e registre o ID do grupo de AS.

  1. Determine as instâncias.

    1. Visualize as instâncias no grupo de AS especificado.
      • Exemplo de solicitação

        Este exemplo mostra como consultar instâncias íntegras e ativadas no grupo de AS com ID e5d27f5c-dd76-4a61-b4bc-a67c5686719a.

        GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/list?life_cycle_state=INSERVICE&health_status=NORMAL

      • Exemplo de resposta
        {
            "limit": 10,
            "total_number": 1,
            "start_number": 0,
            "scaling_group_instances": [
                {
                    "instance_id": "b25c1589-c96c-465b-9fef-d06540d1945c",
                    "scaling_group_id": "e5d27f5c-dd76-4a61-b4bc-a67c5686719a",
                    "scaling_group_name": "discuz",
                    "life_cycle_state": "INSERVICE",
                    "health_status": "NORMAL",
                    "scaling_configuration_name": "discuz",
                    "scaling_configuration_id": "ca3dcd84-d197-4c4f-af2a-cf8ba39696ac",
                    "create_time": "2015-07-23T06:47:33Z",
                    "instance_name": "discuz_3D210808",
                    "protect_from_scaling_down": false
                }
            ]
        }
    1. Selecione instâncias e registre seus IDs.

  1. Remova as instâncias do grupo de AS em um lote.

    • Exemplo de solicitação

      Este exemplo mostra como remover e excluir instâncias com os IDs instance_id_1 e instance_id_2 do grupo de AS com o ID e5d27f5c-dd76-4a61-b4bc-a67c5686719a em um lote.

      POST: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action

      Corpo:

      {
      "action": "REMOVE",
      "instances_id": [
      "instance_id_1",
      "instance_id_2"
      ],
      "instance_delete": "yes"
      }
    • Exemplo de resposta

      O código de status HTTP 204 é retornado.