DSW支援將執行個體內的服務(如模型API、WebUI)暴露到公網,方便在瀏覽器中直接存取或分享給共同作業者測試。該功能通過NAT Gateway和Elastic IP Address實現,主要用於開發測試階段。
重要提醒
會產生額外費用:配置公網訪問需使用NAT Gateway和Elastic IP Address(EIP),兩者均獨立計費。
支援兩種類型執行個體:支援公用資源群組執行個體(資源規格非
ecs.ebm開頭)及靈駿智算執行個體,每個執行個體最多可配置5個自訂服務。DSW 停止則服務中斷:DSW執行個體停止時,其內部服務及公網訪問能力也將不可用。
生產環境推薦 EAS:如需穩定、高可用、支援Auto Scaling的生產環境服務,建議將模型部署至PAI-EAS。
實現原理
為了讓 DSW 執行個體內的服務(如運行在9000連接埠的 API)能從公網訪問,需要以下資源協同工作:
彈性公網 IP (EIP):提供一個固定的公網 IP 位址 (
121.40.**.**)。這是公網訪問的入口。NAT Gateway:位於您的 VPC 內,負責將公網請求 (
EIP:連接埠) 映射到私網 DSW 執行個體 (私人IP:連接埠)。安全性群組:相當於 DSW 執行個體的防火牆。您必須顯式添加規則,允許公網流量訪問您服務監聽的特定連接埠(如
9000)。這是訪問成功的關鍵一步。
核心流程: 公網使用者 (瀏覽器/工具) -> EIP:連接埠 -> NAT Gateway -> 交換器(vSwith) -> 安全性群組規則檢查 -> DSW 執行個體私人IP:連接埠 -> 您的服務
計費說明
NAT Gateway和 EIP 從建立起即開始計費。
即使 DSW 執行個體已停止,只要 NAT Gateway和 EIP 未刪除,仍會持續產生費用。
DSW 執行個體本身按運行狀態計費(後付費執行個體停止後不計費)。
如何配置公網訪問
建立 DSW 執行個體時配置公網訪問
建立DSW執行個體,配置如下關鍵網路參數。
网络信息地區選取項目您的專用網路和安全性群組。您可以參考以下操作步驟建立,詳細內容參見建立專用網路與交換器,及管理安全性群組。注意專用網路和安全性群組必須與DSW執行個體在相同地區。
找到服务访问与端口配置單擊添加,輸入服务名称、监听端口(如
9000),勾選公网访问,設定公网访问端口(如9000)。單擊DNAT+EIP,然後選擇您的NAT网关和弹性公网IP。您可參考以下內容建立NAT Gateway和Elastic IP Address。注意NAT Gateway和EIP必須與DSW執行個體在相同地區。此外,您也可以選擇NLB方式,建立NLB時執行個體網路類型選擇公網類型,VPC選擇與當前DSW執行個體相同的VPC,詳細操作參見NLB快速實現IPv4服務的負載平衡。
說明如果多台DSW執行個體共用相同的DNAT和EIP(或NLB),請使用不同的公網訪問連接埠。
為上述已選安全性群組配置監聽連接埠的入方向規則。關鍵參數如下,具體操作參見建立安全性群組。
授權策略:允許
協議類型:根據服務選擇(如
TCP)連接埠範圍:填寫您配置的監聽連接埠(如
9000/9000)授權對象:
0.0.0.0/0(允許所有公網IP訪問,測試用) 或按需限制 IP。生產環境建議嚴格限制來源 IP。配置完成後,安全性群組入方向規則列表中將顯示一條規則:協議為自訂 TCP,連接埠範圍為
9000/9000,訪問來源為0.0.0.0/0。
為已有 DSW 執行個體配置公網訪問
對於已有的DSW執行個體,可通過以下兩種方式修改公網訪問配置。
注意:如果需要添加或變更VPC、NAT Gateway等,還是需要通過变更配置再重啟執行個體的方式完成。
在執行個體詳情頁配置
在DSW執行個體列表頁,單擊執行個體名稱進入詳情頁面,修改公網訪問配置。
在執行個體詳情頁的訪問配置地區,找到自訂服務行,單擊其對應的修改配置按鈕配置公網訪問。配置時如需放通連接埠,可在網路設定地區擷取安全性群組 ID(如 sg-bp1g37d4lmajq...),前往安全性群組添加相應規則。
在DSW執行個體內配置
在DSW開發環境內,單擊頁面上方的变更配置可以修改自訂服務。
在左側導覽列單擊訪問配置,在自訂服務地區可查看已配置的服務(如服務名稱 gradio、監聽連接埠 9000)及其公網訪問地址和配置狀態。單擊修改配置進入自訂服務編輯。
在左側菜單中單擊網路,在右側網路設定資訊中找到安全性群組ID(如 sg-bp1g37d4lmajugsicmz2)並記錄,用於後續安全性群組規則配置。
測試連通性
在DSW的Terminal中執行以下命令,啟動Python內建的HTTP服務。
# 建立一個包含測試內容的 HTML 檔案 echo 'Hello, World!' > index.html # 啟動 Python 內建 HTTP 服務(監聽 9000 連接埠) python -m http.server 9000 --bind 0.0.0.0在執行個體詳情頁查看访问配置擷取訪問地址。
訪問配置地區的表格中包含VPC內訪問和公網訪問兩列地址資訊,當配置狀態為就緒時即可擷取對應訪問地址。
以公網訪問為例,複製公網訪問地址
121.40.**.**:9000並在瀏覽器中訪問。返回Hello, World!即表示配置成功。
生產環境應用建議
僅用於開發測試:DSW公網訪問功能主要用於臨時測試和協作調試。
通過 EAS 部署生產環境:對於正式發布的推理服務,請部署到 PAI-EAS。EAS 提供:
高可用性和負載平衡。
自動Auto Scaling應對流量波動。
完善的監控警示、版本管理、灰階發布。
更最佳化的公網訪問與計費模式。詳情參見將模型部署為線上服務。
節省成本:
常見問題
Q:配置了公網訪問,但瀏覽器訪問/外網串連失敗 (無法訪問此網站/Connection refused/Timeout)?
第一步:檢查安全性群組規則!(最常見原因)
確認安全性群組已添加 入方向 規則。
規則 連接埠範圍 是否包含您配置的連接埠(如
9000)規則 授權對象 是否包含您的公網 IP 或
0.0.0.0/0規則 協議類型 (TCP/UDP) 是否正確
第二步:確認服務在運行且監聽正確連接埠
在 DSW 執行個體的 Terminal 內,使用
netstat -tunlp | grep <連接埠號碼>(如netstat -tunlp | grep 9000) 查看連接埠是否被監聽。確保應用服務進程已啟動並在監聽配置的連接埠。
第三步:檢查 NAT Gateway和 EIP 狀態
第四步:本地測試:在 DSW 執行個體內部,嘗試用
curl http://localhost:<連接埠號碼>或curl http://<執行個體私人IP>:<連接埠號碼>看服務是否響應。第五步:使用網路診斷工具:
阿里雲 VPC 提供網路智慧型服務NIS可輔助排查路徑問題 (需開通)。
在 DSW 執行個體內使用
telnet <EIP> <連接埠>測試連接埠連通性(需先安裝telnet)。
Q:停止 DSW 後,公網訪問配置還會收費嗎?
會,DSW執行個體停止後本身(後付費)不計費。但是,關聯的 NAT Gateway 和 EIP 只要未刪除,會持續獨立計費。務必手動刪除以節省費用。
Q:一個 EIP 能映射多個連接埠嗎?
可以。 同一個 DSW 執行個體配置的多個服務連接埠(最多5個),都通過同一個 EIP 和 NAT Gateway進行映射訪問。訪問時使用 EIP:不同連接埠 即可。
Q:為什麼在下拉式清單中找不到我建立的VPC或NAT Gateway?
最常見的原因是地區不一致。在DSW頁面左上方查看當前所在地區是否與VPC或NAT Gateway的地區一致。DSW只能配置相同地區下的VPC和NAT Gateway。
下拉式清單未更新。如果是建立的VPC或NAT Gateway,請等待資源建立完畢後,在DSW配置頁面單擊重新整理按鈕
,重新載入列表。
配置VPC名稱、IPv4網段和交換器資訊,其他參數保持預設,然後單擊确定建立VPC和交換器。



