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.
Centro de ayuda> FunctionGraph> Guía del usuario> Gestión de instancias reservadas
Actualización más reciente 2022-11-07 GMT+08:00

Gestión de instancias reservadas

¿Qué es una instancia reservada?

FunctionGraph proporciona instancias reservadas y bajo demanda.

  • Las instancias bajo demanda son creadas y liberadas por FunctionGraph según el uso real de la función. Al recibir solicitudes para llamar a funciones, el FunctionGraph asigna automáticamente recursos de ejecución a las solicitudes.
  • Las instancias reservadas pueden ser creadas y liberadas por usted según sea necesario. Después de crear instancias reservadas para una función, el FunctionGraph reenvía preferentemente las solicitudes para invocar la función a las instancias reservadas. Si el número de solicitudes excede la capacidad de procesamiento de las instancias reservadas, el FunctionGraph reenviará las solicitudes excesivas a instancias bajo demanda y asignará automáticamente recursos de ejecución a estas solicitudes.

    Después de crear instancias reservadas para una función, el código, las dependencias y el inicializador de la función se cargan automáticamente. Las instancias reservadas siempre están activas en el entorno de ejecución y eliminan la influencia de los arranques en frío en sus servicios.

    De forma predeterminada, no tiene permisos para usar instancias reservadas. Para usar esta función, envíe un ticket de servicio para agregar su cuenta a la lista blanca.

Puede crear instancias reservadas directamente o crearlas en la página de configuración de funciones. Las diferencias entre los dos modos se describen en la siguiente tabla.

Tabla 1 Diferencias entre los dos modos

Modo

Ventajas

Desventaja

Creación directa de instancias reservadas

Puede crear una instancia reservada con solo unos pocos clics.

Solo se puede crear un número fijo de instancias reservadas. Las instancias reservadas pueden ser insuficientes durante las horas pico y quedarse inactivas durante las horas fuera de pico.

Creación de instancias reservadas en la página de configuración de funciones

Puede crear diferentes números de instancias reservadas para diferentes períodos, evitando el desperdicio de instancias reservadas durante las horas valle y asegurando suficientes instancias reservadas durante las horas pico.

El procedimiento es complejo.

Creación directa de un número fijo de instancias reservadas

Antes de crear instancias reservadas, asegúrese de que la función, por ejemplo, Objective-func, para la que desea crear instancias reservadas ya existe en la consola FunctionGraph.

  1. Inicie sesión en la consola FunctionGraph y elija Functions > Reserved Instances en el panel de navegación.
  2. Haga clic en Configure Reserved Instance.
  3. Establezca los siguientes parámetros:
    Tabla 2 Información de instancia reservada

    Parámetro

    Descripción

    App

    Selecciona la aplicación a la que pertenece la función Objective-func.

    Function

    Seleccione Objective-func.

    Version

    Seleccione una versión de la función Objective-func.

    RI Quantity

    Introduzca el número de instancias reservadas que se van a crear.

    Para determinar cuántas instancias reservadas crear, vea el número de instancias usadas en el área Instance Statistics o compruebe el uso de la función Objective-func.

  4. Haga clic en OK.

    Después de crear instancias reservadas para una función, sólo puede cambiar la cantidad de instancia reservada.

Creación de instancias reservadas en la página de configuración de funciones

El número de instancias de función varía entre diferentes períodos. Para garantizar suficientes instancias reservadas durante las horas pico y evitar el desperdicio de instancias reservadas durante las horas valle, puede crear un temporizador para invocar la función correspondiente con diferente número de instancias reservadas en diferentes períodos.

Antes de crear instancias reservadas, asegúrese de que la función, por ejemplo, Objective-func, para la que desea crear instancias reservadas ya existe en la consola FunctionGraph.

  1. Inicie sesión en la consola FunctionGraph y seleccione Functions > Function List en el panel de navegación.
  2. Haga clic en Create Function.
  3. Establezca la siguiente información.

    Parámetro

    Descripción

    Template

    Selecciona Create from scratch.

    Function Name

    Introduzca un nombre para identificar la función.

    App

    Seleccione default.

    Agency

    Selecciona Use no agency.

    Description

    Introduzca una descripción para la función. Este parámetro es por elección.

    Runtime

    Seleccione Python 2.7.

    Handler

    Ingrese index.handler.

    Code Entry Mode

    Al crear una función, seleccione Default code. En la página de ficha Configuration, seleccione Edit code inline e introduzca el siguiente código:

    # -*- coding:utf-8 -*-
    import json
    import requests
    def handler (event, context):
        domainId = "https://{Endpoint}"
        url = "/v2/{project_id}/fgs/functions/{func-urn}/reservedinstances"
        token = context.getToken()
        requrl = domainId + url
        headerdata = {"Content-Type":"application/json","x-auth-token":token}
        r = requests.put(requrl, data=event["user_event"], headers=headerdata,verify=False)
        return r.json

    Reemplace los siguientes parámetros por los valores reales:

    • Endpoint: Endpoint de la función Objective-func.
    • project_id: ID del proyecto al que pertenece la función Objective-func. Para obtener más detalles, consulte Obtención de un ID del proyecto.
    • func-urn: URN de la función Objective-func.
  4. Haga clic en Create Now.
  5. En la página de la ficha Configuration, haga clic en Create Agency.
  6. Crear una delegación y concederle el permiso de FunctionGraph User. Para más detalles, consulte Configuración de permisos de delegación.
  7. En la página de ficha Configuration, seleccione la delegación creada en 6 y haga clic en Save.
  8. En la página de la ficha Triggers, haga clic en Create Trigger.
  9. Establezca la siguiente información.

    Parámetro

    Descripción

    Trigger Type

    Seleccione Timer.

    Timer Name

    Introduzca un nombre para identificar el temporizador.

    Rule

    Seleccione Cron expression e introduzca una expresión cron según sea necesario.

    Enable Trigger

    De forma predeterminada, esta función está habilitada. Conserve la configuración predeterminada.

    Additional Information

    Introduzca el número de instancias reservadas necesarias en diferentes períodos según la regla del activador.

    Figura 1 Creación de un activador de temporizador

    Figura 1 muestra un activador de temporizador que solicita a FunctionGraph que cree dos instancias reservadas cada 3 minutos.

  10. Haga clic en OK.

    Después de la creación del activador, se crearán diferentes números de instancias reservadas para la función Objective-func en diferentes períodos basados en la regla del activador.