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 2: criação de um grupo de AS
Atualizado em 2023-07-04 GMT+08:00

Exemplo 2: criação de um grupo de AS

Cenários

Esta seção descreve como criar um grupo de AS chamando APIs. Para mais detalhes, consulte Chamada das API..

Um grupo de AS consiste em um conjunto de instâncias que se aplicam ao mesmo cenário. É a base para habilitar ou desabilitar as políticas de AS e realizar ações de dimensionamento. Um grupo de AS especifica parâmetros, tais como o número máximo de instâncias, número de instâncias esperado, número mínimo de instâncias, VPC, sub-rede e balanceamento de carga.

Restrições

  • Até 10 grupos de AS por conta podem ser criados por padrão.
  • Se o ELB estiver configurado, o AS vincula ou desvincula automaticamente um balanceador de carga para ou de uma instância quando a instância é adicionada ou removida do grupo de AS.
  • Se um grupo de AS usar a verificação de integridade do ELB, as portas de escuta nos balanceadores de carga deverão ser habilitadas para as instâncias no grupo de AS. Habilite as portas de escuta nos grupos de segurança.

APIs envolvidas

Para criar um grupo de AS, você precisa executar várias operações, como consultar um token de usuário, grupos de segurança e configurações de AS. As seguintes APIs são necessárias:

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.

  2. Determine a VPC.

    1. Veja as VPCs.
    2. Selecione uma VPC com base nos requisitos do site e registre o ID da VPC.

  1. Determine o grupo de segurança.

    1. Visualize grupos de segurança.
    2. Selecione um grupo de segurança com base nos requisitos do site e registre o ID do grupo de segurança.

  1. Determine a sub-rede.

    1. Visualize sub-redes na VPC especificada com base no ID da VPC.
    2. Selecione uma sub-rede com base nos requisitos do site e registre o ID da sub-rede.

  1. Determine a configuração de AS.

    1. Visualize configurações de AS.
      • API

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

      Para obter detalhes sobre os parâmetros de solicitação da API, consulte Consulta de configurações de AS.

      • Exemplo de solicitação

      GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_configuration?start_number=0&limit=10

      • Exemplo de resposta
        {
            "limit": 20,
            "total_number": 2,
            "start_number": 0,
            "scaling_configurations": [
                {
                    "tenant": "ce061903a53545dcaddb300093b477d2",
                    "scaling_configuration_id": "6afe46f9-7d3d-4046-8748-3b2a1085ad86",
                    "scaling_configuration_name": " config_name_1",
                    "instance_config": {
                        "disk": [
                            {
                                "size": 40,
                                "volume_type": "SATA",
                                "disk_type": "SYS"
                            },
                            {
                                "size": 100,
                                "volume_type": "SATA",
                                "disk_type": "DATA"
                            }
                        ],
                        "personality": null,
                        "instance_name": null,
                        "instance_id": null,
                        "flavorRef": "103",
                        "imageRef": "37ca2b35-6fc7-47ab-93c7-900324809c5c",
                        "key_name": "keypair01",
                        "public_ip": null,
                        "user_data": null,
                        "metadate": {},
                        "security_groups": [{
                             "id": "6c22a6c0-b5d2-4a84-ac56-51090dcc33be"
                        }],
                    },
                    "create_time": "2015-07-23T01:04:07Z"
                }
            ]
        }

    1. Selecione uma configuração de AS com base nos requisitos do site e registre o ID de configuração de AS.

  1. Determine a AZ.

    1. Visualize as AZs.
    2. Selecione uma AZ conforme necessário e registre o nome da AZ.

  1. Crie um grupo de AS usando a configuração de VPC e AS que você especificar.

    • API

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

      Para obter detalhes sobre os parâmetros de solicitação da API, consulte Criação de um grupo de AS.

    • Exemplo de solicitação

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

      Corpo:

      {
      "scaling_group_name": "GroupNameTest",
      "scaling_configuration_id": "47683a91-93ee-462a-a7d7-484c006f4440",
      "desire_instance_number": 0,
      "min_instance_number": 0,
      "max_instance_number": 10,
      "health_periodic_audit_method": "NOVA_AUDIT",
      "vpc_id": "a8327883-6b07-4497-9c61-68d03ee193a",
      "available_zones": ["XXXa","XXXb"],
      "networks": [
              {
                   "id": "3cd35bca-5a10-416f-8994-f79169559870"
               }
      ],
      "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413",
      "multi_az_priority_policy": "PICK_FIRST"
      }

    • Exemplo de resposta
      {
          "scaling_group_id": "a8327883-6b07-4497-9c61-68d03ee193a1"
      }

  2. Verifique a criação do grupo de AS.

    • API

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

      Para obter detalhes sobre os parâmetros de solicitação de API, consulte Consulta de um grupo de AS.

    • Exemplo de solicitação

      GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group/a8327883-6b07-4497-9c61-68d03ee193a1

      onde

      a8327883-6b07-4497-9c61-68d03ee193a1 é o UUID da configuração de AS criada.

    • Exemplo de resposta
      {
          "scaling_group": {
            "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": "api_gateway_modify",
              "scaling_group_id": "d4e50321-3777-4135-97f8-9f5e9714a4b0",
              "scaling_group_status": "INSERVICE",
              "scaling_configuration_id": "53579851-3841-418d-a97b-9cecdb663a90",
              "scaling_configuration_name": "press",
              "current_instance_number": 7,
              "desire_instance_number": 8,
              "min_instance_number": 0,
              "max_instance_number": 100,
              "cool_down_time": 900,
              "lb_listener_id": null,
              "security_groups": [
                  {
                      "id": "23b7b999-0a30-4b48-ae8f-ee201a88a6ab"
                  }
              ],
              "create_time": "2015-09-01T08:36:10Z",
              "vpc_id": "3e22f934-800d-4bb4-a588-0b9a76108190",
              "health_periodic_audit_method": "NOVA_AUDIT",
              "health_periodic_audit_time": 5,
              "health_periodic_audit_grace_period": 600,
              "instance_terminate_policy": "OLD_CONFIG_OLD_INSTANCE",
              "is_scaling": true,
              "delete_publicip": false,
              "notifications": null,
              "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413",
              "activity_type": "MODIFY_ELB",
              "multi_az_priority_policy": "PICK_FIRST"
          }
      }