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 4: criação de uma política de AS
Atualizado em 2023-07-04 GMT+08:00

Exemplo 4: criação de uma política de AS

Cenários

Esta seção descreve como criar uma política de AS chamando APIs. Para mais detalhes, consulte Chamada das API..

Uma política de AS especifica uma condição para disparar uma ação de dimensionamento. Quando a condição de gatilho é atendida, ocorre uma ação de dimensionamento.

APIs envolvidas

Criação de uma política de AS envolve as seguintes APIs:

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
        }
    2. Selecione um grupo de AS e registre o ID do grupo de AS.

  1. Crie uma política de AS para o grupo de AS selecionado.

    • API

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

      Para mais detalhes, consulte Criação de uma política de AS.

    • Exemplo de solicitação

      Este exemplo mostra como criar uma política de AS periódica chamada as-policy-7a75. A política entra em vigor de 2015-12-14T03:34Z até 2015-12-27T03:34Z. Durante esse período, uma instância será adicionada ao grupo de AS com o ID 5bc3aa02-b83e-454c-aba1-4d2095c68f8b às 16:00 todos os dias.

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

      Corpo:

      {
          "scaling_policy_name": "as-policy-7a75",
          "scaling_policy_action": {
              "operation": "ADD",
              "instance_number": 1
          },
          "cool_down_time": 900,
          "scheduled_policy": {
              "launch_time": "16:00",
              "recurrence_type": "Daily",
              "start_time": "2015-12-14T03:34Z",
              "end_time": "2015-12-27T03:34Z"
          },
          "scaling_policy_type": "RECURRENCE",
          "scaling_group_id": "5bc3aa02-b83e-454c-aba1-4d2095c68f8b"
      }

    • Exemplo de resposta
      {
          "scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd"
      }

  2. Verifique a criação da política de AS.

    • API

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

      Para mais detalhes, consulte Consulta de uma política de AS.

    • Exemplo de solicitação

      Este exemplo mostra como consultar detalhes sobre a política de AS com ID 0h327883-324n-4dzd-9c61-68d03ee191dd.

      GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_policy/fd7d63ce-8f5c-443e-b9a0-bef9386b23b3

    • Exemplo de resposta
      {
          "scaling_policy": {
              "scaling_policy_id": "fd7d63ce-8f5c-443e-b9a0-bef9386b23b3",
              "scaling_group_id": "e5d27f5c-dd76-4a61-b4bc-a67c5686719a",
      "scaling_policy_name": "Scheduled 1",
              "scaling_policy_type": "SCHEDULED",
              "scheduled_policy": {
                  "launch_time": "2015-07-24T01:21Z"
              },
              "cool_down_time": 300,
              "scaling_policy_action": {
                  "operation": "REMOVE",
                  "instance_number": 1
              },
              "policy_status": "INSERVICE",
              "create_time": "2015-07-24T01:09:30Z"
          }
      }