全部產品
Search
文件中心

Alibaba Cloud Model Studio:通過終端節點私網訪問阿里雲百鍊模型或應用 API

更新時間:Nov 04, 2025

為了在 VPC 內直接調用阿里雲百鍊的模型或應用 API,且確保流量不經過公網,可以建立私網終端節點,將通訊完全限制在阿里雲內網。

工作原理

在Virtual Private Cloud中建立介面終端節點後,阿里雲私網串連服務(PrivateLink)將為您的VPC與阿里雲百鍊建立一條私網串連(終端節點串連)。該串連為單向設計,僅允許您的 VPC 內的資源主動訪問阿里雲百鍊,阿里雲百鍊無法通過此串連反向訪問您 VPC 內的資源。

VPC 內的計算資源訪問終端節點時,流量將通過 PrivateLink 轉寄至阿里雲百鍊服務端,不經過公網。

終端節點須與阿里雲百鍊服務位於同一地區,如需從其他地區的VPC內進行私網訪問,請參考跨地區私網訪問阿里雲百鍊 API

阿里雲百鍊服務所在地區:

  • 公用云:新加坡、華北2(北京)

通過終端節點訪問阿里雲百鍊 API

步驟一:建立介面終端節點

公用雲

  1. 登入終端節點控制台

    如果首次使用終端節點,按照介面指引開通私網串連服務。
  2. 介面終端節點頁簽下,單擊建立終端節點,並配置以下各項參數,其他參數保持預設即可。

    • 所屬地區:根據阿里雲百鍊服務地區選擇新加坡”或“華北2(北京)

    • 節點名稱:可自訂,例如“阿里雲百鍊私網連接點”。

    • 終端節點類型:選擇介面終端節點

    • 終端節點服務:選擇阿里雲服務,在下方輸入框中篩選後選中com.aliyuncs.dashscope

      image

    • 專用網路:選擇計劃用於訪問阿里雲百鍊服務的 VPC。終端節點將被建立到 VPC 內,VPC 內的 ECS、容器等資源才能通過私網網域名稱訪問阿里雲百鍊服務。

    • 可用性區域與交換器:介面終端節點會在所選交換器對應的可用性區域中,建立終端節點網卡(Endpoint ENI)用於接收來自 VPC 內部的私網流量。建議至少選擇兩個不同可用性區域的交換器,以實現高可用:當某個可用性區域發生故障時,流量可自動切換至其他可用性區域的網卡,避免服務中斷。

    • 安全性群組:選擇關聯到終端節點網卡的安全性群組,用於控制誰可以訪問該終端節點。因此請確保安全性群組在入方向允許 80(http)、443(https)訪問。

  3. 單擊確定建立,完成建立。

步驟二:擷取終端節點服務網域名稱

公用雲

完成介面終端節點建立後,可以在介面終端節點的詳情頁中擷取服務網域名稱,用於後續私網訪問阿里雲百鍊 API。

預設服務網域名稱僅支援 HTTP 協議,如需 HTTPS 訪問,可使用自訂服務網域名稱

image

步驟三:調用驗證

將阿里雲百鍊 API base_url 中的網域名稱,替換為上一步驟中擷取到的終端節點服務網域名稱,然後在對應 VPC 發起調用即可。

公用雲

以 OpenAI 相容模式調用新加坡地區的通義千問文本模型為例:

  • 替換前: https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions

  • 替換後:

    • 預設服務網域名稱http://ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com/compatible-mode/v1/chat/completions

    • 自訂服務網域名稱:https://vpc-ap-southeast-1.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

調用樣本:

HTTP

# 將原始網域名稱替換為上一步驟中擷取到的終端節點服務網域名稱
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": "你是誰?"
        }
    ]
}'

OpenAI Python SDK

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # 將原始網域名稱替換為上一步驟中擷取到的終端節點服務網域名稱
    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': '你是誰?'}],
)
print(completion.model_dump_json())

DashScope Python SDK

import os
from http import HTTPStatus
# 建議dashscope SDK 的版本 >= 1.14.0
import dashscope
from dashscope import Generation

# 將原始網域名稱替換為上一步驟中擷取到的終端節點服務網域名稱
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': '你是誰?'
}]
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

// 建議DashScope SDK的版本 >= 2.12.0
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 {
        // 將原始網域名稱替換為上一步驟中擷取到的終端節點服務網域名稱
        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("你是誰?")
                .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) {
            // 列印錯誤資訊
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
    }
}
調用前,需要您已完成準備工作:擷取與配置 API Key。如需要直接傳入 API Key,請將$DASHSCOPE_API_KEY 替換為您的 API Key。

跨地區私網訪問阿里雲百鍊 API

終端節點必須與阿里雲百鍊服務位於同一地區,如需從其他地區的VPC內進行私網訪問,需要完成以下配置:

  1. 參考前文,完成通過終端節點訪問阿里雲百鍊 API的配置。

  2. 通過雲企業網(CEN)配置跨地區VPC互連。需要注意:

    • 請在兩端選擇不同網段的 VPC,避免網段衝突導致互連失敗。

    • 中國大陸和其他地區之間通過 CEN 實現跨地區 VPC 互連,需要帳號通過企業實名認證

  3. 在終端節點關聯的安全性群組中,添加入方向規則,允許發起端內的資源訪問 80、443 連接埠。

配置完成後,在發起端 VPC 內訪問前文中配置好的終端節點預設服務網域名稱時,轉寄路由器(TR)會將流量路由至阿里雲百鍊服務所在地區的終端節點,實現跨地區私網訪問阿里雲百鍊 API。

預設情況下,終端節點的預設服務網域名稱可以在跨地區互聯的 VPC 內直接被訪問,但自訂服務網域名稱僅在終端節點所在地區 VPC 內有效。因此,如需在發起端通過自訂網域名私網訪問阿里雲百鍊 API ,可參考快速使用內網網域名稱解析,建立一個與自訂服務網域名稱同名的內網網域名稱,將該網域名稱通過 CNAME 記錄解析至該終端節點的預設服務網域名稱:

  1. 添加一條和自訂服務網域名稱同名的內網權威網域名稱,如:vpc-ap-southeast-1.dashscope.aliyuncs.com,生效範圍選取發起端 VPC。

  2. 添加解析記錄:記錄類型選擇 CNAME,主機記錄輸入@,記錄值填寫目標終端節點的預設服務網域名稱,如:ep-***.dashscope.ap-southeast-1.privatelink.aliyuncs.com

配置完成後,即可在發起端 VPC 內通過自訂服務網域名稱訪問阿里雲百鍊 API。

計費說明

使用私網串連(PrivateLink)、雲企業網(CEN)以及內網網域名稱解析(Private Hosted Zone)會產生額外費用,可參考對應計費說明來瞭解和評估成本:

常見問題

  1. 為什麼我的 ECS 執行個體無法通過私網連結訪問阿里雲百鍊 API?

    請按照以下步驟排查:

    1. 確認是否在同一 VPC。

      如果ECS執行個體的 VPC,與配置終端節點的 VPC 不同,則無法通過私網訪問阿里雲百鍊 API,需要先配置 VPC互連

    2. 檢查終端節點關聯的安全性群組,確認已添加入方向規則,允許來自發起端ECS執行個體所在網段對 80(HTTP)或 443(HTTPS)連接埠的訪問。

    3. 確認終端節點服務網域名稱。

      通過預設服務網域名稱私網訪問阿里雲百鍊平台僅支援 HTTP。

  2. 終端節點能否從公網訪問?

    不可以。私網串連(PrivateLink)僅用於在阿里雲內網建立私人串連。終端節點不具備公網訪問能力,終端節點網卡也無法綁定Elastic IP Address (EIP)。