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:
- Obtención de un usuario Token: Determina el token de usuario que se puede usar para autenticar la llamada de otras API.
- Consulta de grupos AS: determine el grupo AS para el que se crea la política AS.
- Creación de una política AS: cree una política para el grupo AS especificado.
- Consulta de detalles de la política AS: Verifique la creación de la política AS.
Procedimiento
- Determina el token de usuario que se puede usar para autenticar la llamada de otras API.
- Ver el token de usuario. Para obtener más información, consulte Obtención de un usuario Token.
- Obtenga el valor de X-Subject-Token en el encabezado de respuesta.
- Determinar el grupo AS.
- 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 }
- API
- Seleccione un grupo AS y registre el ID de grupo AS.
- Ver grupos AS.
- 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" }
- API
- 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" } }
- API