Adición de una política de reenvío
Formato API
Método |
URI |
Descripción |
---|---|---|
POST |
/v2.0/lbaas/l7policies |
Agrega una política de reenvío. |
Escenarios de la aplicación
Al agregar políticas y reglas de reenvío, puede reenviar diferentes solicitudes a un servidor backend específico.
Supongamos que tiene varios servidores en la plataforma en la nube para proporcionar servicios para Internet, y los recursos incluyen principalmente música (/music/{music_id}), imágenes (/pic/{pic_id}), y archivos (/file/{file_id}). Si no hay políticas de reenvío, cada servidor backend tiene una copia de todos los recursos. Las solicitudes de un cliente siempre se distribuyen a un solo servidor backend. Por lo tanto, solo se utiliza una copia. El costo de almacenamiento aumenta a medida que hay más y más servidores de backend.
Las políticas y reglas de reenvío proporcionadas por ELB pueden resolver este problema. De esta manera, se reduce el costo de almacenamiento y se pueden obtener mejores beneficios económicos.
Restricciones
- Las políticas de reenvío se pueden agregar para oyentes cuando protocol se establece en HTTP o TERMINATED_HTTPS.
- El valor de redirect_pool configurado para la política de reenvío no puede ser el mismo que el de default_pool configurado para el oyente.
- El grupo de servidores de backend especificado en redirect_pool no puede ser utilizado por las políticas de reenvío de otros oyentes.
Asunción de escenarios
Supongamos que ha creado un balanceador de carga denominado loadbalancer_1. Puede agregar un oyente llamado listener_1 y tres grupos de servidores backend pool_1, pool_2 y pool_3. pool_1 es el grupo de servidores backend predeterminado de listener_1, y pool_2 y pool_3 están asociados con loadbalancer_1. Para una mejor distribución de carga, las solicitudes HTTP cuyo URI comienza con /music se envían a pool_2, y las solicitudes HTTP cuyo URI comienza con /pic se reenvían a pool_3.
Procedimiento
Para que coincidan con los URI, los mensajes HTTP deben analizarse. Por lo tanto, el oyente y tres grupos de servidores backend deben usar el protocolo HTTP o HTTPS.
- Añade un oyente HTTP llamado listener_1.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/listeners { "listener": { "protocol_port": "80", "protocol": "HTTP", "loadbalancer_id": "abe3ee34-1882-408f-a2ba-1ce7e428d6e3", "name": "listener_1", "admin_state_up": true } }
- Agregue un grupo de servidores backend denominado pool_1 y su protocolo backend es HTTP.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/pools/ { "pool": { "name":"pool_1", "lb_algorithm": "ROUND_ROBIN", "listener_id": "a7b996cf-23ec-4c0b-b310-45495d29f80c", "protocol": "HTTP", "admin_state_up": true } }
- Agregue un grupo de servidores backend llamado pool_2 y su protocolo backend es HTTP.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/pools/ { "pool": { "name":"pool_2", "lb_algorithm": "ROUND_ROBIN", "listener_id": "a7b996cf-23ec-4c0b-b310-45495d29f80c", "protocol": "HTTP", "admin_state_up": true } }
- Agregue un grupo de servidores backend llamado pool_3 y su protocolo backend es HTTP.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/pools/ { "pool": { "name":"pool_3", "lb_algorithm": "ROUND_ROBIN", "listener_id": "a7b996cf-23ec-4c0b-b310-45495d29f80c", "protocol": "HTTP", "admin_state_up": true } }
- Agregar una política de reenvío a pool_2.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/l7policies { "l7policy": { "action": "REDIRECT_TO_POOL", "listener_id": "a7b996cf-23ec-4c0b-b310-45495d29f80c", "redirect_pool_id": "b9a01911-8364-44d8-ab5a-4f635820edb2", "name": "l7policy_music", "admin_state_up": true } }
- Agregar una política de reenvío a pool_3.
POST https://elb.cn-east-2.myhuaweicloud.com/v2.0/lbaas/l7policies { "l7policy": { "action": "REDIRECT_TO_POOL", "listener_id": "a7b996cf-23ec-4c0b-b310-45495d29f80c", "redirect_pool_id": "3a9b8338-3086-4acc-92e6-83c5e750e44a", "name": "l7policy_pic", "admin_state_up": true } }
- Compruebe las políticas de reenvío creadas. No coinciden con ninguna solicitud porque no hay reglas de reenvío específicas. Para que las políticas de reenvío surtan efecto, se deben agregar reglas de reenvío a las solicitudes de reenvío con diferentes URI.