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:
- Obtenção de um token de usuário: determine o token do usuário que pode ser usado para autenticar a chamada de outras APIs.
- Consulta de grupos de AS: determine o grupo de AS para o qual a política de AS é criada.
- Criação de uma política de AS: crie uma política para o grupo de AS especificado.
- Consulta de detalhes da política de AS: verifique a criação da política de AS.
Procedimento
- Determine o token do usuário que pode ser usado para autenticar a chamada de outras APIs.
- Visualize o token do usuário. Para obter detalhes, consulte Obtenção de um token de usuário.
- Obtenha o valor de X-Subject-Token no cabeçalho de resposta.
- Determine o grupo de AS.
- 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 }
- API
- Selecione um grupo de AS e registre o ID do grupo de AS.
- Visualize grupos de AS.
- 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" }
- API
- 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" } }
- API