Todos los productos
Search
Centro de documentos

Auto Scaling:Quickly deploy a scalable and highly available DeepSeek-R1-Distill-Qwen-7B inference service

Última actualización: Sep 03, 2026

Combine grupos de escalado de Elastic Container Instance (ECI) con Application Load Balancer (ALB) para desplegar un servicio de inference de modelos de lenguaje grande (LLM) de alta disponibilidad en varias zonas.

Descripción general de la solución

Esta solución despliega instancias de inference basadas en ECI en varias zonas dentro de una misma región para lograr recuperación ante desastres a nivel de zona. ALB gestiona la distribución del tráfico y Object Storage Service (OSS) almacena los archivos del modelo. La siguiente figura muestra la arquitectura.

image

Beneficios

  • Alta disponibilidad: Distribuye la carga de trabajo entre varios servidores para eliminar puntos únicos de falla y prevenir interrupciones del servicio.

  • Escalado elástico: Un grupo de escalado administra el clúster de inference. Escale horizontalmente con rapidez al ajustar el número de instancias ECI, o configure el escalado automático para aprovisionar recursos bajo demanda según la carga de trabajo.

Procedimiento

  1. Planifique la red del clúster. Cree una VPC y vSwitches en varias zonas.

  2. Cree un bucket de OSS. Almacene los archivos de pesos del modelo.

  3. Configure un rol de RAM de instancia. Otorgue a la instancia ECI acceso al bucket de OSS del Paso 2.

  4. Prepare una caché de imagen. Cree una caché de imagen para acelerar el inicio y descargue los pesos del modelo a OSS.

  5. Cree una instancia ALB. La instancia ALB funciona como endpoint del servicio.

  6. Cree un grupo de escalado. Asócielo con la instancia ALB para agregar automáticamente nuevas instancias ECI al grupo de servidores backend.

  7. Inicie el servicio. Establezca el número esperado de instancias en el grupo de escalado para iniciar el servicio.

1. Planificación de la red del clúster

Cree una Virtual Private Cloud (VPC) y vSwitches en varias zonas. Este ejemplo utiliza una VPC y dos vSwitches en diferentes zonas para garantizar alta disponibilidad.

Puede reutilizar una VPC existente y omitir este paso.
  1. En la consola, cree una VPC y dos vSwitches siguiendo las instrucciones a continuación.

    ①: En el panel de navegación izquierdo, haga clic en Virtual Private Cloud y luego haga clic en Create VPC.

    ②: Region. China (Hangzhou).

    ③: Name. vpc-ess-hangzhou.

    ④: IPv4 CIDR. Seleccione 192.168.0.0/16.

    vSwitch 1:

    ⑤: Name. vSwitch-j.

    ⑥: Zone. Zone J.

    ⑦: IPv4 CIDR. 192.168.0.0/24.

    ⑧: Haga clic en Add para crear el vSwitch 2.

    vSwitch 2:

    ⑨: Name. vSwitch-k.

    ⑩: Zone. Zone K.

    ⑪: IPv4 CIDR. 192.168.1.0/24.

  2. Haga clic en OK y espere a que se cree la VPC.

2. Creación de un bucket de OSS

Cree un bucket de Object Storage Service (OSS) para almacenar los archivos de pesos del modelo. Las instancias ECI leerán los archivos desde este bucket.

Puede reutilizar un bucket de OSS existente y omitir este paso.
  1. En la consola de Object Storage Service, cree un bucket.

    Configure los siguientes parámetros clave. Mantenga los valores predeterminados para el resto.

    ①: Haga clic en Create Bucket.

    ②: Bucket. Este nombre es obligatorio cuando monte el espacio de almacenamiento más adelante.

    ③: Region. Seleccione Specific Region y asegúrese de que la región coincida con la de sus instancias ECI. Este tutorial utiliza China (Hangzhou).

    El acceso desde ECI a OSS dentro de la misma región utiliza la red interna y no genera costos de transferencia de datos. Access OSS resources from an ECS instance over an internal network.
  2. Haga clic en OK.

3. Creación de un rol de RAM de instancia

Cree un rol de RAM de instancia que permita a las instancias ECI leer archivos de pesos del modelo desde su bucket de OSS.

  1. En la consola, cree un rol de RAM de instancia con la siguiente configuración.

    ①: En el panel de navegación izquierdo de la consola RAM, seleccione Identities > Roles. Haga clic en Create Role.

    ②: Principal Type. Seleccione Cloud Service.

    ③: Principal Name. Seleccione ECS.

    ④: Haga clic en OK y establezca un nombre para el rol de RAM de instancia según se le solicite.

  2. En la consola, cree la siguiente directiva.

    ①: Haga clic en Create Policy.

    ②: Haga clic en JSON Editor.

    ③: Esta directiva otorga permisos completos para un bucket específico. Utilice el siguiente script de directiva.

    Importante

    Al configurar esta directiva, reemplace <bucket_name> con el valor de Bucket del bucket que creó.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "oss:*",
                "Resource": [
                    "acs:oss:*:*:<bucket_name>",
                    "acs:oss:*:*:<bucket_name>/*"
                ]
            }
        ]
    }

    Haga clic en OK y establezca un nombre para la directiva según se le solicite.

  3. En la consola, otorgue permisos al rol de RAM de instancia.

    ①: Haga clic en Grant Permission.

    ②: Principal. Seleccione el rol de RAM de instancia que creó.

    ③: Policies. Seleccione la directiva que creó.

    Haga clic en OK.

4. Preparación de la caché de imagen y los archivos del modelo

Cree una caché de imagen para acelerar el inicio de las instancias ECI y descargue los archivos de pesos del modelo a OSS.

  1. En la consola, cree una caché de imagen de ECI.

    ①: En el panel de navegación izquierdo de la consola de Elastic Container Instance, haga clic en Image Cache. Haga clic en Create Image Cache.

    ②: Region and Zone. Debe coincidir con la región de la VPC del Paso 1. La zona debe coincidir con uno de los vSwitches del Paso 1.

    ③: Network. Seleccione la VPC y uno de los vSwitches que creó en el Paso 1.

    ④: Elastic IP Addresses. Seleccione una EIP existente. Si no existe ninguna, haga clic en EIP console para crear una; luego regrese, haga clic en el icono de actualización image y selecciónela.

    ⑤: Security Group. Seleccione un security group. Si no existe ninguno, haga clic en Create Security Group para crear uno; luego regrese y selecciónelo.

    ⑥: Image Cache Name. vllm.

    ⑦: Cache Size. 100 GB.

    ⑧: Image. egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.

    ⑨: Version. 0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.

    ⑩: Seleccione la casilla Elastic Container Instance ECI Service Agreement. ⑪: Haga clic en OK.

    Espere a que se cree la caché de imagen (~15 minutos). Compruebe el progreso en la página de caché de imagen de la consola.

    Una vez creada la caché de imagen, la columna Status mostrará Preparing con un porcentaje de finalización (por ejemplo, 0%), lo que indica que la creación está en curso.

  2. En la consola, inicie una instancia ECI temporal para descargar los archivos de pesos del modelo al bucket de OSS.

    ①: En el panel de navegación izquierdo, haga clic en Container Groups y luego haga clic en Create Container Group.

    ②: Billing Method. pay-as-you-go.

    ③: Region. Debe coincidir con la región de la VPC del Paso 1. Este tutorial utiliza China (Hangzhou).

    ④: VPC. Seleccione la VPC que creó en el Paso 1.

    ⑤: vSwitch. Seleccione el vSwitch que creó en el Paso 1.

    ⑥: Security Group. Configure el parámetro según se le indique en la página.

    Configuración del grupo de contenedores:

    ⑦: CPU. 2 vCPU.

    ⑧: Memory. 4 GiB.

    ⑨: After containers run and exit. Seleccione Upon Failure.

    Configuración avanzada:

    ⑩: Expanda Advanced Configuration.

    ⑪: Active Automatically Match Image Cache.

    ⑫: Seleccione y agregue OSS Persistence.

    ⑬: Name. oss-data.

    ⑭: Bucket. Seleccione el bucket que creó en el Paso 2.

    ⑮: RAM Role. Seleccione el rol de RAM de instancia que creó en el Paso 3.

    ⑯: Ephemeral Storage Size. Establezca el valor en 100 GiB.

    Configuración del contenedor:

    ⑰: Image. egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.

    ⑱: Image Tag. 0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.

    ⑲: Startup Command. Copie los siguientes comandos en los campos correspondientes.

    /bin/bash
    -c
    git-lfs clone https://www.modelscope.cn/models/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B.git /oss-data/DeepSeek-R1-Distill-Qwen-7B
    Este comando utiliza git-lfs para clonar el modelo desde el repositorio de la comunidad ModelScope al directorio /oss-data/DeepSeek-R1-Distill-Qwen-7B.

    Configuración avanzada del contenedor:

    ⑳: Expanda container-1 advanced settings.

    ㉑: CPU. 2 vCPU.

    ㉒: Memory. 4 GiB.

    ㉓: Active Storage y Add un montaje de volumen.

    ㉔: Seleccione oss-data.

    ㉕: Mount Path. /oss-data.

    ㉖: Haga clic en Next: Other Settings.

    ㉗: Elastic IP Addresses. Seleccione Auto Create.

    ㉘: Maximum Bandwidth. Establezca el valor en 200 Mbit/s.

    ㉙: Haga clic en Confirm Configuration y complete la creación de la instancia ECI según se le solicite.

    La descarga del archivo de pesos del modelo comienza automáticamente después de crear la instancia ECI. Continúe con el Paso 5 y el Paso 6 mientras se ejecuta la descarga.

    Cómo comprobar si la descarga ha finalizado

    Una vez completada la descarga, el estado de la instancia ECI cambia a Run successfully en la consola de ECI.

    En la consola de Object Storage Service, se generará una carpeta llamada DeepSeek-R1-Distill-Qwen-7B en el bucket.

5. Creación de una instancia ALB

Cree una instancia de Application Load Balancer (ALB) como endpoint del servicio.

  1. En la consola, cree una instancia ALB.

    ①: En el panel de navegación izquierdo, seleccione ALB > Instances. Haga clic en Create ALB.

    ②: Region. Seleccione China (Hangzhou) para mantener la consistencia con la VPC que creó en el Paso 1.

    ③: Network Type. Seleccione Public para proporcionar servicios a través de Internet.

    ④: VPC. Seleccione la VPC que creó en el Paso 1.

    ⑤: Zone y vSwitch. Seleccione los vSwitches que creó en el Paso 1.

    ⑥: Instance Name. alb-eci-deepseek-7B.

    ⑦: Haga clic en Buy Now y complete la creación de la instancia ALB según se le solicite.

  2. En la consola, cree un listener y un grupo de servidores backend para la instancia ALB.

    ①: Busque la instancia ALB que creó y haga clic en Create Listener en la columna Actions.

    Si no encuentra la instancia ALB, cambie a otra región en la esquina superior izquierda de la página.

    ②: Seleccione HTTP como protocolo.

    ③: Establezca el puerto del listener en 80.

    ④: Haga clic en Next.

    ⑤: Haga clic en Create Server Group.

    ⑥: Server Group Type. Seleccione Server.

    ⑦: Server Group Name. eci-deepseek-7B.

    ⑧: VPC. Seleccione la VPC que creó en el Paso 1. Este parámetro se selecciona automáticamente.

    ⑨: Select Backend Server Protocol. HTTP.

    ⑩: Habilite Health Check.

    ⑪: Health check method. Seleccione GET.

    ⑫: Ruta de comprobación de estado. Establezca el valor en /health. Una vez iniciado el servicio de inference, ALB utilizará la ruta /health para determinar el estado del servicio.

    ⑬: Haga clic en Create, haga clic en Next y luego haga clic en Submit. Espere a que finalice la creación.

6. Creación de un grupo de escalado

Cree un grupo de escalado asociado con la instancia ALB. El grupo administra automáticamente las instancias ECI y las agrega al grupo de servidores backend de ALB.

  1. En la consola de Auto Scaling, cree un grupo de escalado y asócielo con la instancia ALB.

    ①: En el panel de navegación izquierdo, haga clic en Scaling Groups. En la barra de navegación superior, seleccione la región objetivo (como China (Hangzhou)). Haga clic en Create Scaling Group.

    ②: Scaling Group Name. deepseek-7B-servers.

    ③: Type. Seleccione ECI.

    ④: Instance Configuration Source. Seleccione Create from Scratch.

    ⑤: Minimum Number of Instances. Establezca este parámetro en 0. Este es el número mínimo de instancias en el grupo de escalado.

    ⑥: Maximum Number of Instances. Establezca este parámetro en 10. Este es el número máximo de instancias en el grupo de escalado.

    ⑦: VPC. Seleccione la VPC que creó en el Paso 1.

    ⑧: vSwitch. Seleccione todos los vSwitches que creó en el Paso 1.

    ⑨: Haga clic en Show Advanced Settings.

    Configuración avanzada:

    ⑩: Habilite Expected Number of Instances y establezca el valor en 0. Esto crea un grupo de escalado vacío.

    ⑪: Haga clic en Add Server Group y establezca el Type en ALB.

    ⑫: Server Group. Seleccione el grupo de servidores que creó en el Paso 5.

    ⑬: Port. Seleccione 30000. El servicio de inference desplegado en la instancia ECI utilizará este puerto para proporcionar servicios.

    ⑭: Haga clic en Create. Espere a que se cree el grupo de escalado. Luego, podrá crear una configuración de escalado según se le solicite.

  2. En la consola de Auto Scaling, cree una configuración de escalado.

    Una configuración de escalado es una plantilla para crear instancias durante eventos de escalado horizontal.

    ①: En el panel de navegación izquierdo, haga clic en Scaling Groups. En la barra de navegación superior, seleccione la región objetivo (como China (Hangzhou)), busque el grupo de escalado objetivo en la lista y haga clic en su ID para ir a la página de detalles.

    ②: Haga clic en Scaling Configuration > Scaling Configuration > Create Scaling Configuration.

    ③: Billing Method. Seleccione Pay-As-You-Go.

    ④: Seleccione un Security Group.

    Configuración del grupo de contenedores:

    ⑤: Seleccione Specify Instance Type.

    ⑥: Instance Type. ecs.gn7i-c8g1.2xlarge.

    ⑦: Seleccione Automatically Match Image Cache.

    ⑧: Expanda Advanced Configuration.

    ⑨: Seleccione OSS Persistence. Configure el Bucket y el RAM Role de la instancia.

    ⑩: Ephemeral Storage Size. 100 GiB.

    ⑪: GPU Driver Version. tesla=550.

    Establezca el Name del almacenamiento persistente de OSS en oss-data y configure el RAM Role como EciOssRole.

    Configuración del contenedor:

    ⑫: Image. egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm.

    ⑬: Image Tag. 0.6.4.post1-pytorch2.5.1-cuda12.4-ubuntu22.04.

    ⑭: Startup Command. Copie los siguientes comandos en los campos correspondientes.

    /bin/bash
    -c
    vllm serve /oss-data/DeepSeek-R1-Distill-Qwen-7B --port 30000 --served-model-name DeepSeek-R1-Distill-Qwen-7B --tensor-parallel-size 1 --max-model-len=16384 --enforce-eager --dtype=half --api-key api-key-example-abc123
    Este comando lee los archivos de pesos del modelo desde OSS e inicia el servicio de inference en el puerto 30000. La clave API se establece en api-key-example-abc123.

    ⑮: Expanda container-1 advanced settings.

    ⑯: CPU. Establezca el valor en 8 vCPU.

    ⑰: Memory. Establezca el valor en 30 GiB.

    ⑱: GPU. Establezca el valor en 1.

    ⑲: Active Storage y Add almacenamiento.

    ⑳: Mount Path. /oss-data

    ㉑: Haga clic en Next: Other Settings.

    ㉒: Elastic IP Addresses. Seleccione Auto Create.

    ㉛: Maximum Bandwidth. 200 Mbit/s.

    ㉜: Haga clic en Confirm Configuration y complete la creación de la configuración de escalado según se le solicite.

    ㉝㉞㉟: Habilite la configuración de escalado e inicie el grupo de escalado según se le solicite.

7. Inicio del servicio

Importante

Antes de continuar, asegúrese de que los archivos de pesos del modelo de Step 4 se hayan descargado por completo.

Desencadene un escalado horizontal al establecer el número esperado de instancias. Este ejemplo escala a cinco instancias ECI.

Después de ajustar el número esperado de instancias, hay un retraso antes de que se creen las nuevas instancias. Puede supervisar el progreso en la pestaña Scaling Activities .
  1. En la página de detalles del grupo de escalado, en la pestaña Basic Information, dentro de la sección Instance Scaling Overview, modifique el valor de Expected Number of Instances.

  2. En el cuadro de diálogo Modify Instance Scaling Overview, active el interruptor Expected Number of Instances, establezca Expected Number of Instances in Group en 5 y luego haga clic en OK.

Siguientes pasos

Integración con Dify

  1. Inicie sesión en Dify.

  2. Agregue un proveedor de modelos.

    1. Haga clic en su foto de perfil, seleccione Settings y luego vaya a Model Provider. Busque OpenAI-API-compatible y haga clic en Add.

      Si no está instalado, siga las instrucciones en pantalla para instalar el proveedor de modelos.
    2. Complete las siguientes configuraciones y haga clic en Save.

      • Model Type: LLM.

      • Model Name: DeepSeek-R1-Distill-Qwen-7B.

      • API Key: api-key-example-abc123. Esta clave debe ser la misma que la api-key que configuró en el comando de inicio del grupo de contenedores en el paso 6.

      • API endpoint URL:

        Importante

        Reemplace <alb_domain_name> con el nombre de dominio de su instancia de ALB.

        Consultar el nombre de dominio de la instancia de ALB

        Vaya a la consola, busque la instancia de ALB que creó en el paso 5 y consulte el nombre de dominio.

        En la columna DNS Name de la lista de instancias, localice el nombre de dominio de la instancia de ALB, cuyo formato es similar a alb-xxx.cn-hangzhou.alb.aliyuncsslb.com.

        http://<alb_domain_name>/v1
  3. Cree una aplicación de asistente de chat e interactúe con ella.

    1. En la página Applications, haga clic en Create Application y luego seleccione Create Blank Application.

    2. En el cuadro de diálogo Create Blank Application, establezca el tipo de aplicación como Chatbot.

    3. En el campo Application Name, introduzca DeepSeek-R1-7B.

    4. Haga clic en Create.

    5. En la parte superior del panel Debug and Preview, confirme que el modelo actual sea DeepSeek-R1-Distill-Qwen-7B. En el cuadro de entrada Chat with bot ubicado en la parte inferior, escriba un mensaje (por ejemplo, "Cuéntame sobre ti") y haga clic en el botón de enviar para probar la conversación. El chatbot devolverá una respuesta.

Liberar recursos

Libere los siguientes recursos para dejar de generar cargos.

  1. Delete the scaling group. Al eliminar el grupo de escalado que creó en el paso 6, también se liberan las instancias que este creó automáticamente.

  2. Release the ALB instance y delete the server group. Elimine la instancia de ALB y el grupo de servidores que creó en el paso 5.

  3. Release the pay-as-you-go EIP. Elimine la EIP que se creó cuando generó la caché de imágenes en el paso 4.

  4. Delete the image cache y delete the ECI instance. Elimine la caché de imágenes y la instancia temporal de ECI que creó en el paso 4.

  5. Delete the instance RAM role y delete the policy. Elimine el rol de RAM de la instancia y la directiva que creó en el paso 3.

  6. Delete the OSS bucket. Elimine el bucket de OSS que creó en el paso 2.

  7. Delete the VPC. Elimine la VPC que creó en el paso 1.

Consideraciones para producción

Tome en cuenta las siguientes mejoras para entornos de producción.