Función de creador de política de cuota cero
Descubra cómo utilizar la función predefinida Zero Quota Policy Creator en OCI Functions para crear una política de cuota en compartimentos para evitar la creación de recursos de OCI, y así ayudar a aplicar presupuestos y gestionar el gasto de OCI.
Casos de Uso Común
Cree una política de cuota cero que impida la creación de recursos de OCI después de alcanzar un umbral de gasto. Para ello, realice los dos pasos siguientes:
- Cree un presupuesto para un compartimento y una regla de alerta de presupuesto para definir una alerta de presupuesto basada en un umbral de gasto real o previsto. Para obtener más información sobre los presupuestos, consulte Gestión de presupuestos.
- Configure una regla de evento en el compartimento raíz para disparar desde la alerta de presupuesto y llamar a una función creada a partir de esta función predefinida. Para obtener más información sobre las reglas de eventos, consulte Uso de la consola para crear una regla.
Los servicios relacionados con la función Creador de política de cuota cero incluyen:
Ámbito
Las consideraciones de ámbito para esta función incluyen:
- Esta función incorporada soporta presupuestos creados solo para el ámbito de compartimento. Para obtener más información, consulte Gestión de presupuestos.
Requisitos y recomendaciones
A continuación, se muestran las mejores prácticas al utilizar esta función incorporada:
- Establezca el tiempo de espera de la función predefinida en 300 segundos.
- La VCN enlazada a la aplicación facilita el acceso a otros servicios de OCI mediante un gateway de servicio, un gateway de Internet o un gateway de NAT.
- Cree reglas de eventos solo en el compartimento raíz.
Tanto los presupuestos como la política de cuotas son funciones de nivel de arrendamiento. Configure esta función incorporada en la región principal. Cuando esté configurado en la región principal, utilice un gateway de servicio en una VCN.
Si la función incorporada está configurada en otra región, se necesita un gateway de Internet o un gateway de NAT para realizar llamadas entre regiones.
Configuración de la función de creador de política de cuota cero
Para configurar una función Creador de política de cuota cero, realice los siguientes pasos:
El cuadro de diálogo de despliegue muestra las tareas para desplegar la función (consulte Finalización del despliegue de funciones incorporadas).
Opciones de Configuración
Parámetros de Configuración
Nombre | Descripción | necesario |
---|---|---|
SERVICE_FAMILY_NAMES |
Lista separada por comas de los nombres de familia de servicios que se van a utilizar en la sentencia de política de cuota. El valor por defecto incluye todos los apellidos de servicio que soportan el servicio de cuota. Para obtener más información, consulte Cuotas disponibles por servicio. | No |
PBF_LOG_LEVEL |
Nivel de registro, las opciones son DEBUG , INFO , WARN y ERROR . El valor por defecto es INFO . |
No |
Permisos
La ejecución de una función requiere determinadas políticas de IAM. Si ha seleccionado la opción No crear un grupo dinámico y una política de IAM al crear la función, debe definir el grupo dinámico y la política de IAM usted mismo.
Para definir las políticas adecuadas, realice los siguientes pasos:
- Crear un grupo dinámico con la regla:
ALL {resource.id = '<function_ocid>' , resource.compartment.id = '<compartment_ocid>'}
- Configure una política de IAM mediante el grupo dinámico:
Allow dynamic-group <dynamic group name> to read usage-budgets in tenancy Allow dynamic-group <dynamic-group-name> to manage quota in tenancy Allow dynamic-group <dynamic-group-name> to read limits in tenancy Allow dynamic-group <dynamic-group-name> to read compartments in tenancy
Sustituya
<function-ocid>
por el OCID de la función que ha creado en los pasos anteriores. Sustituya
<dynamic-group-name>
por el nombre del grupo dinámico que ha creado mediante el OCID de la función.Sustituya
<compartment_ocid>
por el OCID del compartimento que contiene la función.Llamando a esta función
Puede llamar a la función de las siguientes formas:
- Cree una regla de evento para confrontar los eventos de gasto de umbral de presupuesto con una regla que cree una política de cuota para evitar la creación de nuevos recursos.
Cuerpo de Respuesta
- Registros de hora: utilice UTC para evitar problemas de zona horaria.
- Código: la función devuelve un código 200 si la tarea finaliza correctamente.
- Estado: la función devuelve "Correcto" como estado si la tarea se completa correctamente.
- Mensaje: cuerpo de mensaje JSON que incluye información de respuesta específica para la tarea.
Ejemplo
En el siguiente ejemplo se muestran los datos de retorno de JSON:
{
"startTime": "2023-02-21T05:08:25.275Z",
"endTime": "2023-02-21T05:08:28.731Z",
"runTime": "PT3.456S",
"code": 200,
"status": "Success",
"data": {
"additionalInformation": {
"Created Quota Policy OCID": "ocid1.quota.oc1..aaaaa..."
}
}
}
Solución de Problemas
Códigos de estado comunes de OCI Functions
En la siguiente tabla se resumen los errores comunes de OCI Functions que puede encontrar al trabajar con funciones predefinidas:
Código de Error | Mensaje de Error | Acción |
---|---|---|
200 | Correcto | Ninguna. |
404 | NotAuthorizedOrNotFound | Verifique que las políticas necesarias estén configuradas (consulte Ejecución de comandos de la CLI de Fn Project devuelve un error 404). |
444 | Timeout |
La conexión entre el cliente y OCI Functions se ha interrumpido durante la ejecución de la función (consulte La llamada a una función hace que el cliente informe de un timeout y se muestra un error 444 en los logs de la función). Un reintento podría resolver el problema. Tenga en cuenta que la mayoría de los clientes tienen un timeout interno de 60 segundos. Incluso cuando el tiempo de espera de la función predefinida se establece en 300 segundos, puede ser necesario lo siguiente:
Para obtener más información, consulte Llamada a funciones. |
502 504 | (varios) | La mayoría de los problemas devuelven un código de estado 502 (consulte Llamada a una función devuelve un mensaje de fallo de función y un error 502). Se puede resolver un error 502 con el mensaje "error receive function response" mediante el aumento de la asignación de memoria. Un 502 puede ocurrir ocasionalmente cuando la función está en algún estado transitorio. Un reintento podría resolver el problema. |
Para identificar aún más la causa, active las funciones de registro para la función predefinida (consulte Almacenamiento y visualización de logs de funciones). Para obtener información detallada sobre la solución de problemas de una función, consulte Solución de problemas de OCI Functions.
Códigos de estado de función predefinidos del creador de políticas de cuota cero
En la siguiente tabla se resumen los errores que puede encontrar al trabajar con esta función creada previamente:
Código de Error | Mensaje de Error | Acción |
---|---|---|
400 | La carga útil de función tiene un tipo de evento incorrecto | Verifique si el tipo de evento es "AlertRule - Create". |
Para identificar aún más la causa, active las funciones de registro para la función predefinida (consulte Almacenamiento y visualización de logs de funciones).
Consejos de análisis de logs
Todas las funciones predefinidas proporcionan una opción para especificar el nivel de registro como parámetro de configuración. Puede definir el nivel de registro en DEBUG
para obtener más información.
Dado que una aplicación tiene varias funciones, las entradas del log de funciones predefinidas se identifican con el prefijo "PBF | <PBF NAME> ".
Por ejemplo, una entrada de log para la función creada previamente del generador de trabajos de flujo de trabajo de medios tiene un aspecto similar al siguiente:
"PBF | Media Workflow Job Spawner | INFO | 2023-02-07T18:06:50.809Z | Fetching details from Events JSON"