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.
Actualización más reciente 2022-11-08 GMT+08:00

Ejemplo 2: Creación de un grupo AS

Escenarios

Esta sección describe cómo crear un grupo AS llamando a las API. Para más detalles, consulte Llamada a APIs.

Un grupo AS consta de una colección de instancias que se aplican al mismo escenario. Es la base para habilitar o deshabilitar políticas de AS y realizar acciones de ajuste de capacidad. Un grupo AS especifica parámetros, como el número máximo de instancias, el número esperado de instancias, el número mínimo de instancias, la VPC, la subred y el equilibrio de carga.

Restricciones

  • Se pueden crear hasta 10 grupos AS por cuenta de forma predeterminada.
  • Si se configura ELB, AS enlaza o desvincula automáticamente un balanceador de carga a o desde una instancia cuando la instancia se agrega o elimina del grupo AS.
  • Si un grupo AS utiliza la comprobación de estado ELB, los puertos de escucha en los balanceadores de carga deben estar habilitados para las instancias del grupo AS. Habilite los puertos de escucha en los grupos de seguridad. Para obtener más información, consulte Agregar una regla de grupo de seguridad.

APIs involucradas

Para crear un grupo AS, debe realizar varias operaciones, como consultar un token de usuario, grupos de seguridad y configuraciones AS. Se requieren 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.

  2. Determinar la VPC.

    1. Ver VPCs. Para obtener más información, véase Consulta de VPC.
    2. Seleccione una VPC según los requisitos del sitio y registre el ID de VPC.

  1. Determinar el grupo de seguridad.

    1. Ver grupos de seguridad. Para obtener más información, consulte Consulta de grupos de seguridad.
    2. Seleccione un grupo de seguridad basado en los requisitos del sitio y registre el ID del grupo de seguridad.

  1. Determinar la subred.

    1. Ver subredes en la VPC especificada en función del ID de VPC. Para obtener más información, véase Consulta de subredes.
    2. Seleccione una subred según los requisitos del sitio y registre el ID de subred.

  1. Determinar la configuración AS.

    1. Ver configuraciones AS.
      • API

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

      Para obtener más información sobre los parámetros de solicitud de API, consulte Consulta de las configuraciones de AS.

      • Ejemplo de la solicitud

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

      Obtenga {endpoint} de Regiones y endpoint.

      • Ejemplo de la respuesta
        {
            "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. Seleccione una configuración de AS basada en los requisitos del sitio y registre el ID de configuración de AS.

  1. Determinar el AZ.

    1. Ver AZs. Para obtener más información, consulte Consulta de AZ.
    2. Seleccione una AZ según sea necesario y registre el nombre de AZ.

  1. Cree un grupo de AS con la configuración de VPC y AS que especifique.

    • API

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

      Para obtener más información sobre los parámetros de solicitud de API, consulte Creación de un grupo AS.

    • Ejemplo de la solicitud

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

      Obtenga {endpoint} de Regiones y endpoint.

      Cuerpo:

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

    • Ejemplo de la respuesta
      {
          "scaling_group_id": "a8327883-6b07-4497-9c61-68d03ee193a1"
      }

  2. Verifique la creación del grupo AS.

    • API

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

      Para obtener más información sobre los parámetros de solicitud de API, consulte Consulta de un grupo AS.

    • Ejemplo de la solicitud

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

      where

      a8327883-6b07-4497-9c61-68d03ee193a1 es el UUID de la configuración AS creada.

      Obtenga {endpoint} de Regiones y endpoint.

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