Todos os produtos
Search
Central de documentação

Auto Scaling:Implante rapidamente um serviço de inferência DeepSeek-R1-Distill-Qwen-7B escalável e altamente disponível

Última atualização: Aug 26, 2026

Combine grupos de dimensionamento do Elastic Container Instance (ECI) com o Application Load Balancer (ALB) para implantar um serviço de inferência de modelo de linguagem grande (LLM) altamente disponível e distribuído entre zonas.

Visão geral da solução

Esta solução implanta instâncias de inferência baseadas em ECI em várias zonas dentro de uma única região, garantindo recuperação de desastres no nível de zona. O ALB gerencia a distribuição de tráfego e o Object Storage Service (OSS) armazena os arquivos do modelo. A figura a seguir ilustra a arquitetura.

image

Benefícios

  • Alta disponibilidade: Distribui a carga de trabalho entre vários servidores para eliminar pontos únicos de falha e evitar interrupções no serviço.

  • Dimensionamento elástico: Um grupo de dimensionamento gerencia o cluster de inferência. Escale horizontalmente com rapidez ajustando a quantidade de instâncias ECI ou configure o dimensionamento automático para provisionar recursos sob demanda conforme a carga de trabalho.

Procedimento

  1. Planeje a rede do cluster. Crie uma VPC e vSwitches em múltiplas zonas.

  2. Crie um bucket do OSS. Armazene os arquivos de pesos do modelo.

  3. Configure uma função RAM de instância. Conceda à instância ECI acesso ao bucket do OSS criado na Etapa 2.

  4. Prepare um cache de imagem. Crie um cache de imagem para acelerar a inicialização e baixe os pesos do modelo para o OSS.

  5. Crie uma instância ALB. A instância ALB funcionará como o endpoint do serviço.

  6. Crie um grupo de dimensionamento. Associe-o à instância ALB para adicionar automaticamente novas instâncias ECI ao grupo de servidores de back-end.

  7. Inicie o serviço. Defina a quantidade esperada de instâncias no grupo de dimensionamento para iniciar o serviço.

1. Planeje a rede do cluster

Crie uma Virtual Private Cloud (VPC) e vSwitches em múltiplas zonas. Este exemplo utiliza uma VPC e dois vSwitches em zonas diferentes para garantir alta disponibilidade.

Você pode reutilizar uma VPC existente e pular esta etapa.
  1. No console, crie uma VPC e dois vSwitches conforme as instruções abaixo.

    ①: No painel de navegação à esquerda, clique em Virtual Private Cloud e, em seguida, clique em Create VPC.

    ②: Region. China (Hangzhou).

    ③: Name. vpc-ess-hangzhou.

    ④: IPv4 CIDR. Selecione 192.168.0.0/16.

    vSwitch 1:

    ⑤: Name. vSwitch-j.

    ⑥: Zone. Zone J.

    ⑦: IPv4 CIDR. 192.168.0.0/24.

    ⑧: Clique em Add para criar o vSwitch 2.

    vSwitch 2:

    ⑨: Name. vSwitch-k.

    ⑩: Zone. Zone K.

    ⑪: IPv4 CIDR. 192.168.1.0/24.

  2. Clique em OK e aguarde a criação da VPC.

2. Crie um bucket do OSS

Crie um bucket do Object Storage Service (OSS) para armazenar os arquivos de pesos do modelo. As instâncias ECI lerão os arquivos deste bucket.

Você pode reutilizar um bucket do OSS existente e pular esta etapa.
  1. No console do Object Storage Service, crie um bucket.

    Configure os seguintes parâmetros principais. Mantenha os padrões para os demais.

    ①: Clique em Create Bucket.

    ②: Bucket. Este nome será necessário quando você montar o espaço de armazenamento posteriormente.

    ③: Region. Selecione Specific Region e certifique-se de que a região seja a mesma das suas instâncias ECI. Este tutorial usa China (Hangzhou).

    O acesso na mesma região do ECI para o OSS utiliza a rede interna e não gera taxas de transferência de dados. Access OSS resources from an ECS instance over an internal network.
  2. Clique em OK.

3. Crie uma função RAM de instância

Crie uma função RAM de instância que permita às instâncias ECI ler os arquivos de pesos do modelo no seu bucket do OSS.

  1. No console, crie uma função RAM de instância com as seguintes configurações.

    ①: No painel de navegação à esquerda do console RAM, escolha Identities > Roles. Clique em Create Role.

    ②: Principal Type. Selecione Cloud Service.

    ③: Principal Name. Selecione ECS.

    ④: Clique em OK e defina um nome para a função RAM de instância conforme solicitado.

  2. No console, crie a seguinte política.

    ①: Clique em Create Policy.

    ②: Clique em JSON Editor.

    ③: Esta política concede permissões totais para um bucket específico. Use o script de política a seguir.

    Importante

    Ao configurar esta política, substitua <bucket_name> pelo Bucket do bucket que você criou.

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

    Clique em OK e defina um nome para a política conforme solicitado.

  3. No console, conceda permissões à função RAM de instância.

    ①: Clique em Grant Permission.

    ②: Principal. Selecione a função RAM de instância que você criou.

    ③: Policies. Selecione a política que você criou.

    Clique em OK.

4. Prepare o cache de imagem e os arquivos do modelo

Crie um cache de imagem para acelerar a inicialização das instâncias ECI e baixe os arquivos de pesos do modelo para o OSS.

  1. No console, crie um cache de imagem ECI.

    ①: No painel de navegação à esquerda do console Elastic Container Instance, clique em Image Cache. Clique em Create Image Cache.

    ②: Region and Zone. Deve corresponder à região da VPC da Etapa 1. A zona deve corresponder a um dos vSwitches da Etapa 1.

    ③: Network. Selecione a VPC e um dos vSwitches criados na Etapa 1.

    ④: Elastic IP Addresses. Selecione um EIP existente. Se não houver nenhum, clique em EIP console para criar um, retorne, clique no ícone de atualização image e selecione-o.

    ⑤: Security Group. Selecione um grupo de segurança. Se não houver nenhum, clique em Create Security Group para criar um, retorne e selecione-o.

    ⑥: 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.

    ⑩: Marque a caixa de seleção Elastic Container Instance ECI Service Agreement. ⑪: Clique em OK.

    Aguarde a criação do cache de imagem (~15 minutos). Verifique o progresso na página de cache de imagem do console.

    Após a criação do cache de imagem, a coluna Status exibirá Preparing com uma porcentagem de conclusão (como 0%), indicando que a criação está em andamento.

  2. No console, inicie uma instância ECI temporária para baixar os arquivos de pesos do modelo para o bucket do OSS.

    ①: No painel de navegação à esquerda, clique em Container Groups e, em seguida, clique em Create Container Group.

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

    ③: Region. Deve corresponder à região da VPC da Etapa 1. Este tutorial usa China (Hangzhou).

    ④: VPC. Selecione a VPC criada na Etapa 1.

    ⑤: vSwitch. Selecione o vSwitch criado na Etapa 1.

    ⑥: Security Group. Defina o parâmetro conforme solicitado na página.

    Configuração do grupo de contêineres:

    ⑦: CPU. 2 vCPU.

    ⑧: Memory. 4 GiB.

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

    Configurações avançadas:

    ⑩: Expanda Advanced Configuration.

    ⑪: Ative Automatically Match Image Cache.

    ⑫: Selecione e adicione OSS Persistence.

    ⑬: Name. oss-data.

    ⑭: Bucket. Selecione o bucket criado na Etapa 2.

    ⑮: RAM Role. Selecione a função RAM de instância criada na Etapa 3.

    ⑯: Ephemeral Storage Size. Defina o valor como 100 GiB.

    Configuração do contêiner:

    ⑰: 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 os seguintes comandos para os campos correspondentes.

    /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 usa git-lfs para clonar o modelo do repositório da comunidade ModelScope para o diretório /oss-data/DeepSeek-R1-Distill-Qwen-7B.

    Configurações avançadas do contêiner:

    ⑳: Expanda container-1 advanced settings.

    ㉑: CPU. 2 vCPU.

    ㉒: Memory. 4 GiB.

    ㉓: Ative Storage e Add uma montagem de volume.

    ㉔: Selecione oss-data.

    ㉕: Mount Path. /oss-data.

    ㉖: Clique em Next: Other Settings.

    ㉗: Elastic IP Addresses. Selecione Auto Create.

    ㉘: Maximum Bandwidth. Defina o valor como 200 Mbit/s.

    ㉙: Clique em Confirm Configuration e conclua a criação da instância ECI conforme solicitado.

    O download do arquivo de pesos do modelo inicia automaticamente após a criação da instância ECI. Prossiga com a Etapa 5 e a Etapa 6 enquanto o download é executado.

    Como verificar se o download foi concluído

    Após a conclusão do download, o status da instância ECI muda para Run successfully no console ECI.

    No console do Object Storage Service, uma pasta chamada DeepSeek-R1-Distill-Qwen-7B é gerada no bucket.

5. Crie uma instância ALB

Crie uma instância do Application Load Balancer (ALB) para atuar como o endpoint do serviço.

  1. No console, crie uma instância ALB.

    ①: No painel de navegação à esquerda, escolha ALB > Instances. Clique em Create ALB.

    ②: Region. Selecione China (Hangzhou) para manter a consistência com a VPC criada na Etapa 1.

    ③: Network Type. Selecione Public para fornecer serviços pela internet.

    ④: VPC. Selecione a VPC criada na Etapa 1.

    ⑤: Zone e vSwitch. Selecione os vSwitches criados na Etapa 1.

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

    ⑦: Clique em Buy Now e conclua a criação da instância ALB conforme solicitado.

  2. No console, crie um listener e um grupo de servidores de back-end para a instância ALB.

    ①: Localize a instância ALB criada e clique em Create Listener na coluna Actions.

    Se não conseguir encontrar a instância ALB, mude para uma região diferente no canto superior esquerdo da página.

    ②: Selecione HTTP como protocolo.

    ③: Defina a porta do listener como 80.

    ④: Clique em Next.

    ⑤: Clique em Create Server Group.

    ⑥: Server Group Type. Selecione Server.

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

    ⑧: VPC. Selecione a VPC criada na Etapa 1. Este parâmetro é selecionado automaticamente.

    ⑨: Select Backend Server Protocol. HTTP.

    ⑩: Ative Health Check.

    ⑪: Health check method. Selecione GET.

    ⑫: Caminho da verificação de integridade. Defina o valor como /health. Após o início do serviço de inferência, o ALB usa o caminho /health para determinar o status do serviço.

    ⑬: Clique em Create, clique em Next e, em seguida, clique em Submit. Aguarde a conclusão da criação.

6. Crie um grupo de dimensionamento

Crie um grupo de dimensionamento associado à instância ALB. O grupo gerencia automaticamente as instâncias ECI e as adiciona ao grupo de servidores de back-end do ALB.

  1. No console do Auto Scaling, crie um grupo de dimensionamento e associe-o à instância ALB.

    ①: No painel de navegação à esquerda, clique em Scaling Groups. Na barra de navegação superior, selecione a região de destino (como China (Hangzhou)). Clique em Create Scaling Group.

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

    ③: Type. Selecione ECI.

    ④: Instance Configuration Source. Selecione Create from Scratch.

    ⑤: Minimum Number of Instances. Defina este parâmetro como 0. Esta é a quantidade mínima de instâncias no grupo de dimensionamento.

    ⑥: Maximum Number of Instances. Defina este parâmetro como 10. Esta é a quantidade máxima de instâncias no grupo de dimensionamento.

    ⑦: VPC. Selecione a VPC criada na Etapa 1.

    ⑧: vSwitch. Selecione todos os vSwitches criados na Etapa 1.

    ⑨: Clique em Show Advanced Settings.

    Configurações avançadas:

    ⑩: Ative Expected Number of Instances e defina o valor como 0. Isso cria um grupo de dimensionamento vazio.

    ⑪: Clique em Add Server Group e defina o Type como ALB.

    ⑫: Server Group. Selecione o grupo de servidores criado na Etapa 5.

    ⑬: Port. Selecione 30000. O serviço de inferência implantado na instância ECI usará esta porta para fornecer serviços.

    ⑭: Clique em Create. Aguarde a criação do grupo de dimensionamento. Em seguida, crie uma configuração de dimensionamento conforme solicitado.

  2. No console do Auto Scaling, crie uma configuração de dimensionamento.

    Uma configuração de dimensionamento é um modelo para criar instâncias durante eventos de scale-out.

    ①: No painel de navegação à esquerda, clique em Scaling Groups. Na barra de navegação superior, selecione a região de destino (como China (Hangzhou)), localize o grupo de dimensionamento de destino na lista e clique em seu ID para acessar a página de detalhes.

    ②: Clique em Scaling Configuration > Scaling Configuration > Create Scaling Configuration.

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

    ④: Selecione um Security Group.

    Configuração do grupo de contêineres:

    ⑤: Selecione Specify Instance Type.

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

    ⑦: Selecione Automatically Match Image Cache.

    ⑧: Expanda Advanced Configuration.

    ⑨: Selecione OSS Persistence. Configure o Bucket e a RAM Role da instância.

    ⑩: Ephemeral Storage Size. 100 GiB.

    ⑪: GPU Driver Version. tesla=550.

    Defina o Name do armazenamento persistente do OSS como oss-data e defina a RAM Role como EciOssRole.

    Configuração do contêiner:

    ⑫: 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 os seguintes comandos para os campos correspondentes.

    /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 lê os arquivos de pesos do modelo do OSS e inicia o serviço de inferência na porta 30000. A chave da API é definida como api-key-example-abc123.

    ⑮: Expanda container-1 advanced settings.

    ⑯: CPU. Defina o valor como 8 vCPU.

    ⑰: Memory. Defina o valor como 30 GiB.

    ⑱: GPU. Defina o valor como 1.

    ⑲: Ative Storage e Add armazenamento.

    ⑳: Mount Path. /oss-data

    ㉑: Clique em Next: Other Settings.

    ㉒: Elastic IP Addresses. Selecione Auto Create.

    ㉛: Maximum Bandwidth. 200 Mbit/s.

    ㉜: Clique em Confirm Configuration e conclua a criação da configuração de dimensionamento conforme solicitado.

    ㉝㉞㉟: Ative a configuração de dimensionamento e inicie o grupo de dimensionamento conforme solicitado.

7. Inicie o serviço

Importante

Antes de prosseguir, certifique-se de que os arquivos de pesos do modelo da Etapa 4 foram totalmente baixados.

Acione um scale-out definindo a quantidade esperada de instâncias. Este exemplo escala para cinco instâncias ECI.

Após ajustar a quantidade esperada de instâncias, há um atraso antes que as novas instâncias sejam criadas. Monitore o progresso na aba Scaling Activities.
  1. Na página de detalhes do grupo de dimensionamento, na aba Basic Information, na seção Instance Scaling Overview, modifique o valor de Expected Number of Instances.

  2. Na caixa de diálogo Modify Instance Scaling Overview, ative a chave Expected Number of Instances, defina Expected Number of Instances in Group como 5 e clique em OK.

Próximas etapas

Integração com Dify

  1. Faça login no Dify.

  2. Adicione um provedor de modelos.

    1. Clique na sua foto de perfil, selecione Settings e acesse Model Provider. Localize OpenAI-API-compatible e clique em Add.

      Se não estiver instalado, siga as instruções na tela para instalar o provedor de modelos.
    2. Conclua as seguintes configurações e clique em Save.

      • Model Type: LLM.

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

      • API Key: api-key-example-abc123. Esta chave deve ser igual à api-key configurada no comando de inicialização do grupo de contêineres na Etapa 6.

      • URL do endpoint da API:

        Importante

        Substitua <alb_domain_name> pelo nome de domínio da sua instância ALB.

        Visualizar o nome de domínio da instância ALB

        Acesse o console, localize a instância ALB criada na Etapa 5 e visualize o nome de domínio.

        Na coluna DNS Name da lista de instâncias, localize o nome de domínio da instância ALB, que segue um formato semelhante a alb-xxx.cn-hangzhou.alb.aliyuncsslb.com.

        http://<alb_domain_name>/v1
  3. Crie e interaja com uma aplicação de assistente de chat.

    1. Na página Applications, clique em Create Application e selecione Create Blank Application.

    2. Na caixa de diálogo Create Blank Application, defina o tipo de aplicação como Chatbot.

    3. No campo Application Name, insira DeepSeek-R1-7B.

    4. Clique em Create.

    5. Na parte superior do painel Debug and Preview, confirme se o modelo atual é DeepSeek-R1-Distill-Qwen-7B. Na caixa de entrada Chat with bot na parte inferior, insira uma mensagem (por exemplo, "Tell me about yourself") e clique no botão de envio para testar a conversa. O chatbot retornará uma resposta.

Limpar recursos

Libere os seguintes recursos para parar de incorrer em cobranças.

  1. Delete the scaling group. Excluir o grupo de dimensionamento criado na Etapa 6 também libera as instâncias que foram criadas automaticamente por ele.

  2. Release the ALB instance e delete the server group. Exclua a instância ALB e o grupo de servidores criados na Etapa 5.

  3. Release the pay-as-you-go EIP. Exclua o EIP criado durante a criação do cache de imagem na Etapa 4.

  4. Delete the image cache e delete the ECI instance. Exclua o cache de imagem e a instância ECI temporária criados na Etapa 4.

  5. Delete the instance RAM role e delete the policy. Exclua a função RAM de instância e a política criadas na Etapa 3.

  6. Delete the OSS bucket. Exclua o bucket do OSS criado na Etapa 2.

  7. Delete the VPC. Exclua a VPC criada na Etapa 1.

Considerações para produção

Considere as seguintes melhorias para ambientes de produção.