全部產品
Search
文件中心

Elastic Compute Service:如何通過內網調用API

更新時間:Aug 29, 2025

如果Virtual Private Cloud類型的ECS執行個體沒有設定公網IP,則無法調用API。本文介紹該類執行個體如何通過阿里雲內網調用API。

背景資訊

由於Elastic Compute Service提供的接入地址(Endpoint)為公網服務地址,當您的ECS執行個體沒有分配公網頻寬或者不存在公網IP地址時,無法使用阿里雲CLI或者SDK等工具發起API請求。此時,您可以通過以下兩種方式實現阿里雲內網調用API。

  • SDK:Java SDK核心庫在4.5.3版本起,支援通過VPC內網調用API。

  • CLI:使用CLI時,只需將Endpoint修改為對應地區的接入地址,即可實現內網調用API。

使用說明如下:

  • 兩種方式僅適用於Virtual Private Cloud類型ECS執行個體所在的地區,且僅能使用對應地區的接入地址(Endpoint)操作同地區資源,不支援跨地區操作。

  • 建議您使用已部署了阿里雲CLI或者SDK的自訂鏡像建立ECS執行個體,避免執行個體在無公網訪問的條件下無法載入相關依賴。

支援的內網調用API的ECS接入地址(Endpoint)如下表所示,請確保您使用的Endpoint在列舉範圍內。

阿里雲地區

地區ID

接入地址(Endpoint)

華東 1(杭州)

cn-hangzhou

ecs-vpc.cn-hangzhou.aliyuncs.com

華東 2(上海)

cn-shanghai

ecs-vpc.cn-shanghai.aliyuncs.com

華東5(南京-本地地區)

cn-nanjing

ecs-vpc.cn-nanjing.aliyuncs.com

華東6(福州-本地地區)

cn-fuzhou

ecs-vpc.cn-fuzhou.aliyuncs.com

華北 1(青島)

cn-qingdao

ecs-vpc.cn-qingdao.aliyuncs.com

華北 2(北京)

cn-beijing

ecs-vpc.cn-beijing.aliyuncs.com

華北 3(張家口)

cn-zhangjiakou

ecs-vpc.cn-zhangjiakou.aliyuncs.com

華北 5(呼和浩特)

cn-huhehaote

ecs-vpc.cn-huhehaote.aliyuncs.com

華北 6(烏蘭察布)

cn-wulanchabu

ecs-vpc.cn-wulanchabu.aliyuncs.com

華南 1(深圳)

cn-shenzhen

ecs-vpc.cn-shenzhen.aliyuncs.com

華南 2(河源)

cn-heyuan

ecs-vpc.cn-heyuan.aliyuncs.com

華南 3(廣州)

cn-guangzhou

ecs-vpc.cn-guangzhou.aliyuncs.com

西南 1(成都)

cn-chengdu

ecs-vpc.cn-chengdu.aliyuncs.com

中國(香港)

cn-hongkong

ecs-vpc.cn-hongkong.aliyuncs.com

新加坡

ap-southeast-1

ecs-vpc.ap-southeast-1.aliyuncs.com

馬來西亞(吉隆坡)

ap-southeast-3

ecs-vpc.ap-southeast-3.aliyuncs.com

印尼(雅加達)

ap-southeast-5

ecs-vpc.ap-southeast-5.aliyuncs.com

菲律賓(馬尼拉)

ap-southeast-6

ecs-vpc.ap-southeast-6.aliyuncs.com

泰國(曼穀)

ap-southeast-7

ecs-vpc.ap-southeast-7.aliyuncs.com

日本(東京)

ap-northeast-1

ecs-vpc.ap-northeast-1.aliyuncs.com

韓國(首爾)

ap-northeast-2

ecs-vpc.ap-northeast-2.aliyuncs.com

德國(法蘭克福)

eu-central-1

ecs-vpc.eu-central-1.aliyuncs.com

英國(倫敦)

eu-west-1

ecs-vpc.eu-west-1.aliyuncs.com

美國(矽谷)

us-west-1

ecs-vpc.us-west-1.aliyuncs.com

美國(維吉尼亞)

us-east-1

ecs-vpc.us-east-1.aliyuncs.com

阿聯酋(杜拜)

me-east-1

ecs-vpc.me-east-1.aliyuncs.com

方式一(推薦):SDK內網調用API

使用SDK過程中,只需要簡單配置,即可實現內網調用API。Java程式碼範例如下所示:

import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeRegionsRequest;
import com.aliyun.ecs20140526.models.DescribeRegionsResponse;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class Test {
    public static void main(String[] args) throws Exception {
        Config config = new Config();
        // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_ID。
        config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
        // 必填,請確保代碼運行環境設定了環境變數 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
        config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 請參考 https://api.aliyun.com/product/Ecs
        config.setEndpoint("<ENDPOINT>");
        // 初始化ECS用戶端
        Client ecsClient = new Client(config);
        // 建立查詢地區資訊的請求對象
        DescribeRegionsRequest describeRegionsRequest = new DescribeRegionsRequest();
        // 建立運行時選項對象
        RuntimeOptions runtime = new RuntimeOptions();
        // 發送請求並擷取地區資訊響應
        DescribeRegionsResponse response = ecsClient.describeRegionsWithOptions(describeRegionsRequest, runtime);
        System.out.println(response.body.toMap());
    }
}

方式二:CLI內網調用API

以介面DescribeRegions為例,調用命令樣本如下:

aliyun ecs DescribeRegions --endpoint ecs-vpc.cn-hangzhou.aliyuncs.com