Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Auto Scaling/ Referencia de la API/ Ejemplos de aplicación/ Ejemplo 4: Creación de una política AS
Actualización más reciente 2022-11-08 GMT+08:00

Ejemplo 4: Creación de una política AS

Escenarios

En esta sección se describe cómo crear una política AS llamando a las API. Para más detalles, consulte Llamada a APIs.

Una política AS especifica una condición para desencadenar una acción de ajuste. Cuando se cumple la condición de activación, se produce una acción de ajuste.

APIs involucradas

La creación de una política AS implica las siguientes API:

Procedimiento

  1. Determina el token de usuario que se puede usar para autenticar la llamada de otras API.

    1. Ver el token de usuario. Para obtener más información, consulte Obtención de un usuario Token.
    2. Obtenga el valor de X-Subject-Token en el encabezado de respuesta.

  1. Determinar el grupo AS.

    1. Ver grupos AS.
      • API

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

        Para más detalles, consulte Consulta de grupos AS.

      • Ejemplo de la solicitud

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

        Obtenga {endpoint} de Regiones y endpoint.

      • Ejemplo de la respuesta
        {
          "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. Seleccione un grupo AS y registre el ID de grupo AS.

  1. Cree una política AS para el grupo AS seleccionado.

    • API

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

      Para más detalles, consulte Creación de una política de AS.

    • Ejemplo de la solicitud

      En este ejemplo se muestra cómo crear una política AS periódica denominada as-policy-7a75. La política entra en vigor desde 2015-12-14T03:34Z hasta 2015-12-27T03:34Z. Durante este período, se añadirá una instancia al grupo AS con ID 5bc3aa02-b83e-454c-aba1-4d2095c68f8b a las 16:00 todos los días.

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

      Obtenga {endpoint} de Regiones y endpoint.

      Cuerpo:

      {
          "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"
      }

    • Ejemplo de la respuesta
      {
          "scaling_policy_id": "0h327883-324n-4dzd-9c61-68d03ee191dd"
      }

  2. Verifique la creación de la política AS.

    • API

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

      Para más detalles, consulte Consulta de una política AS.

    • Ejemplo de la solicitud

      Este ejemplo muestra cómo consultar detalles sobre la política AS con ID 0h327883-324n-4dzd-9c61-68d03ee191dd.

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

      Obtenga {endpoint} de Regiones y endpoint.

    • Ejemplo de la respuesta
      {
          "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"
          }
      }