Para chamar as APIs do Model Studio a partir de uma VPC sem expor o tráfego à internet pública, crie um endpoint privado. Essa configuração restringe toda a comunicação à rede interna da Alibaba Cloud.
Como funciona
Após você criar um endpoint de interface em uma VPC, o PrivateLink estabelece uma conexão de endpoint privado entre sua VPC e o Model Studio. Essa conexão é unidirecional: permite que os recursos na sua VPC acessem o Model Studio, mas impede que o Model Studio use essa conexão para acessar recursos na sua VPC.
Quando os recursos de computação na sua VPC acessam o endpoint, o PrivateLink roteia o tráfego para o serviço Model Studio, contornando a internet pública.
Para acessar o serviço de forma privada a partir de uma VPC em outra região, consulte Acesso privado entre regiões.
O Model Studio está disponível nas seguintes regiões:
-
Nuvem pública: Singapura e China (Pequim).
Atualmente, não há suporte para acesso por rede privada na região EUA (Virgínia).
Acesso às APIs via endpoint
Etapa 1: Criar um endpoint de interface
Nuvem pública
-
Faça login no Endpoint console.
Se esta for a primeira vez que você utiliza um endpoint, siga as instruções na tela para ativar o serviço PrivateLink.
-
Na aba Interface Endpoint, clique em Create Endpoint e configure os parâmetros a seguir. Mantenha os valores padrão para os demais parâmetros.
Region: Com base na região do seu serviço Model Studio, selecione "Singapore" ou "China (Beijing)".
Node Name: Insira um nome personalizado. Por exemplo,
Model Studio PrivateLink endpoint.Endpoint Type: Selecione Interface Endpoint.
-
Endpoint Service: Selecione Alibaba Cloud Service, pesquise e selecione com.aliyuncs.dashscope.

VPC: Selecione a VPC usada para acessar o serviço Model Studio. O endpoint é criado dentro desta VPC, permitindo que recursos como instâncias ECS e containers na VPC acessem o serviço Model Studio por meio de um nome de domínio privado.
Zones and Switches: Uma ENI de endpoint é criada na zona de cada vSwitch selecionado para receber tráfego privado de dentro da VPC. Para alta disponibilidade, recomendamos selecionar vSwitches em pelo menos duas zonas diferentes. Se uma zona falhar, o tráfego fará failover automaticamente para uma ENI de endpoint em outra zona, evitando interrupções de serviço.
Security Group: Selecione um grupo de segurança para associar à ENI do endpoint. O grupo de segurança controla quais recursos podem acessar o endpoint. Garanta que o grupo de segurança permita tráfego de entrada na porta 80 (HTTP) e na porta 443 (HTTPS).
Clique em Create.
Etapa 2: Obter o nome de domínio do endpoint
Nuvem pública
Após criar o endpoint de interface, obtenha seu nome de domínio de serviço na página de detalhes do endpoint. Use esse nome de domínio para acessar as APIs do Model Studio de forma privada.
O Default Domain Name suporta apenas o protocolo HTTP. O uso de HTTPS requer um Custom Domain Name.

Etapa 3: Verificar a conexão
Substitua o nome de domínio no base_url da sua requisição de API do Model Studio pelo nome de domínio de serviço do endpoint obtido na etapa anterior. Em seguida, faça a chamada de API a partir da VPC correspondente.
Nuvem pública
Por exemplo, para chamar o modelo de texto Qwen na região de Singapura no modo compatível com OpenAI:
Antes da substituição:
https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completionsouhttps://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions-
Após a substituição:
Default Domain Name: http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/compatible-mode/v1/chat/completions
Custom Domain Name: https://vpc-ap-southeast-1.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Exemplo de chamada:
HTTP
# Replace the original domain name with the endpoint service domain name obtained in the previous step.
curl -X POST http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-flash",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
}'
OpenAI Python SDK
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Replace the original domain name with the endpoint service domain name obtained in the previous step.
base_url="http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-flash",
messages=[
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Who are you?'}],
)
print(completion.model_dump_json())
DashScope Python SDK
import os
from http import HTTPStatus
# We recommend that you use DashScope SDK v1.14.0 or later.
import dashscope
from dashscope import Generation
# Replace the original domain name with the endpoint service domain name obtained in the previous step.
dashscope.base_http_api_url = "http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/api/v1"
dashscope.api_key = os.getenv("DASHSCOPE_API_KEY")
messages = [{
'role': 'user', 'content': 'Who are you?'
}]
response = Generation.call(
model="qwen-flash",
messages=messages,
result_format='message'
)
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
DashScope Java SDK
// We recommend that you use DashScope SDK v2.12.0 or later.
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.protocol.Protocol;
import com.alibaba.dashscope.utils.JsonUtils;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
// Replace the original domain name with the endpoint service domain name obtained in the previous step.
Generation gen = new Generation(Protocol.HTTP.getValue(), "http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/api/v1");
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("Who are you?")
.build();
GenerationParam param = GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-flash")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(JsonUtils.toJson(result));
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
// Print the error message.
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
}
}
Antes de fazer a chamada, obtenha uma chave de API . Se quiser passar a chave de API diretamente no código, substitua $DASHSCOPE_API_KEY pela sua chave de API.
Acesso privado entre regiões
O Model Studio está implantado em Singapura e China (Pequim). Para acessar as APIs do Model Studio por uma rede privada a partir de uma VPC em outra região, escolha um dos métodos abaixo conforme o escopo da sua conexão:
Entre regiões dentro da China continental ou fora da China continental (por exemplo, uma VPC no Japão (Tóquio) acessando o Model Studio em Singapura): Use o Método 1: Ativar um endpoint entre regiões (recomendado).
Conexão transfronteiriça entre regiões (entre a China continental e outras regiões, por exemplo, uma VPC em Singapura acessando o Model Studio na China (Pequim)): Utilize o Método 2: Conexão VPC entre regiões via CEN.
Método 1: Ativar um endpoint entre regiões (recomendado)
Para o procedimento completo, consulte Acessar um serviço entre regiões via endpoint de interface. Configurações principais para o cenário do Model Studio:
Region: Selecione a região da sua VPC de source.
Type: Selecione Alibaba Cloud Service.
Service Region: Marque a caixa de seleção Enable cross-region endpoint e selecione Singapore ou China (Beijing).
Endpoint Service: Selecione
com.aliyuncs.dashscopena lista de serviços disponíveis.Cross-region configuration: O CDT liquida e fatura as taxas de tráfego entre regiões. A largura de banda padrão depende do escopo da conexão: 1.000 Mbit/s para conexões entre regiões na China continental e 100 Mbit/s para conexões entre regiões fora da China continental.
Configure os parâmetros restantes como faria para acesso na mesma região. Após criar o endpoint, adicione uma regra de entrada no grupo de segurança associado para permitir tráfego da VPC de source nas portas 80 e 443.
O Método 1 não suporta conexões entre a China continental e outras regiões. Para acesso transfronteiriço, utilize o Método 2.
Após concluir a configuração, ao acessar o nome de domínio de serviço padrão do endpoint a partir da VPC de source, o PrivateLink roteará o tráfego diretamente para a região do serviço Model Studio, habilitando o acesso privado entre regiões.
Método 2: Conexão VPC entre regiões via Cloud Enterprise Network (CEN) — para cenários transfronteiriços
Utilize este método para acesso entre regiões transfronteiriço entre a China continental e outras regiões. O endpoint deve estar na mesma região do serviço Model Studio, e o CEN conecta a VPC de source à VPC do endpoint entre regiões:
Conclua as configurações descritas em Acesso às APIs via endpoint.
-
Use o Cloud Enterprise Network (CEN) para configurar uma conexão VPC entre regiões. Observe o seguinte:
Selecione VPCs com blocos CIDR diferentes para evitar falhas de conexão devido a conflitos de rede.
Para estabelecer uma conexão VPC entre regiões entre a China continental e outras regiões usando o CEN, sua conta deve concluir a verificação de identidade empresarial.
No grupo de segurança associado ao endpoint, adicione uma regra de entrada para permitir tráfego da VPC de source nas portas 80 e 443.
Após concluir a configuração, ao acessar o nome de domínio de serviço padrão do endpoint a partir da VPC de source, um Transit Router roteará o tráfego para o endpoint na região do serviço Model Studio. Isso habilita o acesso privado entre regiões às APIs do Model Studio.
Por padrão, o nome de domínio de serviço padrão de um endpoint é acessível a partir de uma VPC interconectada em outra região. No entanto, um nome de domínio de serviço personalizado é válido apenas dentro da VPC do endpoint. Para acessar as APIs do Model Studio a partir da VPC de source usando um nome de domínio personalizado por uma rede privada, consulte o Guia de início rápido do Private DNS. Você pode criar um nome de domínio privado idêntico ao nome de domínio de serviço personalizado e resolvê-lo para o nome de domínio de serviço padrão do endpoint criando um registro CNAME.
Adicione um nome de domínio autoritativo privado idêntico ao nome de domínio de serviço personalizado, como
vpc-ap-southeast-1.dashscope.aliyuncs.com, e defina seu escopo para a VPC de source.-
Adicione um registro DNS: defina Record Type como CNAME, Host como
@e Record Value como o nome de domínio de serviço padrão do endpoint de destino, como ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com.Nota: Ao configurar o Private DNS, não use sublinhados (_) no registro de host ou no nome de domínio completo. Caso contrário, as chamadas de API podem falhar. Recomendamos que os nomes de domínio contenham apenas letras, números e hifens (-). Por exemplo, use
test-for-dns.dashscope.aliyuncs.comem vez detest_for_dns.dashscope.aliyuncs.com.
Após concluir a configuração, você poderá acessar as APIs do Model Studio a partir da VPC de source usando o nome de domínio de serviço personalizado. Se você utilizar um nome de domínio privado diferente do seu nome de domínio de serviço personalizado para a configuração, consulte Configurar Private DNS.
Faturamento
O uso de PrivateLink e Private DNS (Private Hosted Zone) gera custos adicionais. Cenários transfronteiriços incorrem em taxas adicionais de CEN entre regiões. Consulte a documentação de faturamento a seguir para estimar seus custos:
Faturamento do CEN (apenas cenários transfronteiriços)
Perguntas frequentes
-
Por que minha instância ECS não consegue acessar as APIs do Model Studio por uma rede privada?
Verifique os seguintes itens:
-
Confirme se os recursos estão na mesma VPC.
Se a instância ECS e o endpoint estiverem em VPCs diferentes, não será possível acessar as APIs do Model Studio pela rede privada. Nesse caso, configure primeiro a conectividade VPC.
Verifique o grupo de segurança associado ao endpoint. Confirme se existe uma regra de entrada permitindo tráfego do bloco CIDR da instância ECS de source na porta 80 (HTTP) ou 443 (HTTPS).
-
Confirme o nome de domínio de serviço do endpoint.
Ao acessar a plataforma Model Studio por uma rede privada usando o nome de domínio de serviço padrão, apenas HTTP tem suporte.
-
-
Um endpoint pode ser acessado pela internet pública?
Não. O PrivateLink estabelece apenas conexões privadas dentro da rede interna da Alibaba Cloud. Endpoints não podem ser acessados pela internet pública, e não é possível associar um endereço IP elástico a uma ENI de endpoint.
-
Ao usar o Private DNS, por que recebo um erro ao chamar um modelo usando meu nome de domínio personalizado?
Esse problema geralmente ocorre quando o registro de host ou o nome de domínio completo para resolução de domínio privado contém caracteres inválidos, como um sublinhado (
_). O nome de domínio deve consistir apenas em letras, dígitos e hifens (-).Configure o registro DNS seguindo estas etapas:
Authoritative Domain: No Private DNS, adicione um registro DNS para o domínio autoritativo
dashscope.aliyuncs.com.-
Host Record: Selecione CNAME para o tipo de registro e insira o prefixo do seu domínio personalizado, como
test-for-dns-right. Nota: O registro de host não pode conter sublinhados (_).Exemplo correto
Exemplo incorreto


Record Value: Insira o nome de domínio de serviço padrão do endpoint do Model Studio. Exemplo: ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com.
Após concluir a configuração, você poderá chamar o modelo em
https://test-for-dns-right.dashscope.aliyuncs.com/api/v1(o endpoint para o modo compatível com OpenAI éhttps://test-for-dns-right.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions).Usar um nome de domínio que contenha um sublinhado, como
https://test_for_dns_wrong.dashscope.aliyuncs.com/api/v1, causará falha na chamada da API.