全部產品
Search
文件中心

ApsaraMQ for RabbitMQ:公網存取點訪問開源鑒權執行個體

更新時間:Aug 13, 2026

本文補充說明不同類型執行個體,在使用公網存取點串連開源鑒權執行個體時,用戶端需要額外配置的執行個體 ID。

適用範圍

使用開源鑒權執行個體的公網存取點串連服務端。

前提條件

重要

通過公網訪問執行個體時必須啟用公網 IP 白名單,並將用戶端實際公網出口 IP 位址或 CIDR 位址區段加入白名單。僅白名單範圍內的用戶端可以訪問執行個體。

串連前,請完成以下配置:

  1. 在執行個體的使用者和許可權管理頁面建立自訂使用者名稱和密碼,並為使用者授予目標 Vhost 及相關資源的操作許可權。具體操作,請參見使用者和許可權管理

  2. 將用戶端的實際公網出口 IP 位址或 CIDR 位址區段加入執行個體的公網 IP 白名單。具體操作,請參見公網IP和VPCID白名單

  3. 实例详情頁面擷取執行個體 ID 和公网存取點。請直接複製控制台展示的公網存取點,不要自行拼接網域名稱。

用戶端設定執行個體 ID

公網接入時,不同版本的用戶端配置要求如下:

執行個體系列

具體版本

是否需要傳入執行個體 ID

說明

Serverless系列

(独享)预留+弹性

服務端可以自動識別目標執行個體。

Serverless系列

(共享)预留+弹性

用戶端必須通過 AMQP Client Properties 指定目標執行個體。

Serverless系列

(共享)按累积量

用戶端必須通過 AMQP Client Properties 指定目標執行個體。

預付費系列

铂金版

服務端可以自動識別目標執行個體。

預付費系列

企业版

用戶端必須通過 AMQP Client Properties 指定目標執行個體。

Java 配置樣本

使用 Serverless 系列的(共用)預留+彈性或(共用)按累積量規格,或者使用預付費企業版時,按照步驟三:調用SDK收發訊息配置公網存取點、使用者名稱、密碼和 Vhost 後,在調用 newConnection() 前增加以下配置:

String instanceId = "rabbitmq-cn-xxxxxxxx";

// factory 已按常規方式配置公網存取點、使用者名稱、密碼和 Vhost。
Map<String, Object> clientProperties =
        new HashMap<String, Object>(factory.getClientProperties());
clientProperties.put("aliyun_rabbitmq_instance_id", instanceId);
//部份執行個體需要如此設定
//clientProperties.put("connection_name", "{__rabbitmq-cn-xxxxx__}");//todo 替換成真實執行個體ID。
factory.setClientProperties(clientProperties);

Connection connection = factory.newConnection();

注意事項:

  • aliyun_rabbitmq_instance_id 的值必須是控制台展示的執行個體 ID,而不是公網存取點。

  • (共享)预留+弹性(共享)按累积量和預付費企业版必須在建立 Connection 前設定該屬性。

  • 複製並保留 factory.getClientProperties() 中的預設屬性,避免覆蓋 Java Client 內建的用戶端資訊。

  • (独享)预留+弹性和預付費铂金版無需設定該屬性;如果主動設定,屬性值必須與當前執行個體 ID 一致。

串連失敗時檢查

如果公網串連被拒絕或返回 AccessAccountDataError 錯誤,請依次確認:

  1. 用戶端實際公網出口 IP 已加入目標執行個體的公網 IP 白名單。

  2. 使用(共享)预留+弹性(共享)按累积量或預付費企业版時,確認 aliyun_rabbitmq_instance_id 已設定且與目標執行個體 ID 完全一致;(独享)预留+弹性和預付費铂金版無需設定該屬性。

  3. 自訂使用者名稱和密碼正確,並且使用者已獲得目標 Vhost 的存取權限。

  4. 用戶端配置的是執行個體的公網存取點,而不是 OpenAPI 服務接入地址。

網路逾時、資源許可權或常規 SDK 配置問題,請參見串連失敗的可能原因及解決辦法