すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:RocketMQ 4.x インスタンスの非リージョンエンドポイント廃止について

最終更新日:May 07, 2026

Message Queue for Apache RocketMQ サービスの安定性をさらに向上させるため、一部の 4.x シリーズインスタンスのアクセス方式を非リージョンエンドポイントからリージョンエンドポイントへアップグレードし、メッセージの送受信リンクの安定性を高めます。

廃止日時

非リージョンエンドポイントは、2026 年 5 月 15 日 00:00:00(UTC + 08:00)に廃止されます。サービス中断を防ぐため、この日時までにプロデューサーおよびコンシューマーのエンドポイント構成を更新してください。

影響範囲

  1. 対象範囲: ドメイン名にリージョン ID を含まないエンドポイント(例:http://xxxx.mq-internal.aliyuncs.com:8080)を使用して Message Queue for Apache RocketMQ 4.x インスタンスにアクセスしているクライアントが対象です。

  2. 影響内容: 廃止日以降、非リージョンエンドポイントを使用したメッセージ送受信リクエストはすべて失敗します。新しいリージョンエンドポイントはクロスリージョンアクセスをサポートしません。

移行手順

非リージョンエンドポイントを使用しているクライアントの特定

  1. Message Queue for Apache RocketMQ コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[情報照会] をクリックします。

  3. [非リージョンエンドポイントからのアクセス情報] セクションで、ご利用のリソースにアクセスしているインスタンス ID、トピック、クライアントの IP アドレスを確認します。

エンドポイント構成の更新

Message Queue for Apache RocketMQ 4.x インスタンスへのアクセスには、新しいリージョンエンドポイントを使用してください。リージョンエンドポイントの取得手順は以下のとおりです。

  1. Message Queue for Apache RocketMQ コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、インスタンス数 をクリックします。

  3. 上部のナビゲーションバーでリージョン(例:中国 (杭州))を選択し、ターゲットインスタンスの名前をクリックします。

  4. インスタンスの詳細 ページで、エンドポイント タブをクリックします。

  5. エンドポイント タブの TCP エンドポイント セクションで、ネットワークイントラネットアクセス となっているエンドポイントを確認します。

  6. このエンドポイントをプロデューサーおよびコンシューマーのコードに設定します。

    Java ons-client SDK

    1. 必要なクライアントバージョン:1.8.7.4.Final 以降

    2. ONSAddr パラメーターを NAMESRV_ADDR に変更し、エンドポイントの値を更新します。

      // Before:
      properties.put(PropertyKeyConst.ONSAddr, "http://xxxx.mq-internal.aliyuncs.com:8080");          
      // After:
      properties.put(PropertyKeyConst.NAMESRV_ADDR, "http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");

    Java オープンソース RocketMQ SDK

    1. 必要なクライアントバージョン:4.5.2 以降

    2. パラメーターを更新します。

      // For a producer, update the nameserver address before the producer starts.
      // Before:
      producer.setNamesrvAddr("http://xxxx.mq-internal.aliyuncs.com:8080");
      // After:
      producer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");
      
      // For a consumer, update the nameserver address before the consumer starts.
      // Before:
      consumer.setNamesrvAddr("http://xxxx.mq-internal.aliyuncs.com:8080");
      // After:
      consumer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");

    C/C++ SDK

    1. 必要なクライアントバージョン:1.1.0 以降

    2. エンドポイントパラメーターを更新します。ONSFactory.getInstance() を使用して初期化する場合は、ONSFactoryProperty 内のエンドポイント設定を確認してください。

      • ONSAddr パラメーターを使用している場合、NAMESRV_ADDR に変更し、エンドポイントの値を更新します。

        // Before:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::ONSAddr, "http://XXX.mq-internal.aliyuncs.com:8080");
        // After:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");
      • すでに NAMESRV_ADDR パラメーターを使用している場合、エンドポイントの値のみを更新します。

        // Before:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.mq-internal.aliyuncs.com:8080");
        // After:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");

    .NET SDK

    1. 必要なクライアントバージョン:1.1.0 以降

    2. エンドポイントパラメーターを更新します。ONSFactory.getInstance() を使用して初期化する場合は、ONSFactoryProperty 内のエンドポイント設定を確認してください。

      • ONSAddr パラメーターを使用している場合、NAMESRV_ADDR に変更し、エンドポイントの値を更新します。

        // Before:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::ONSAddr, "http://XXX.mq-internal.aliyuncs.com:8080");
        // After:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");
      • すでに NAMESRV_ADDR パラメーターを使用している場合、エンドポイントの値のみを更新します。

        // Before:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.mq-internal.aliyuncs.com:8080");
        // After:
        factoryInfo.setFactoryProperty(ONSFactoryProperty::NAMESRV_ADDR, "http://MQ_INST_XXXXXXXXXXX.cn-hangzhou.mq-internal.aliyuncs.com:8080");

背景情報

TCP プロトコルを使用して Message Queue for Apache RocketMQ SDK でメッセージを送受信するには、実際のリソース情報に基づいて対応するパラメーターを構成する必要があります。以下のパラメーターに対応するリソースは、すべて同一リージョン内に存在している必要があります。

  • GROUP_IDMessage Queue for Apache RocketMQ コンソールで作成したグループ ID

  • TopicMessage Queue for Apache RocketMQ コンソールで作成したトピック

  • NAMESRV_ADDRMessage Queue for Apache RocketMQ コンソールの [インスタンス詳細] ページで取得したエンドポイント

たとえば、中国 (杭州) リージョンに Message Queue for Apache RocketMQ のインスタンス A があり、同じリージョン内のクライアント A 用にトピック A およびグループ ID A を作成したとします。また、中国 (深セン) リージョンに別の Message Queue for Apache RocketMQ のインスタンス B があり、そのリージョン内のクライアント B 用にトピック B およびグループ ID B を作成したとします。この場合、以下のルールに注意してください。

  • 中国 (杭州) リージョンのグループ ID A に属するクライアント A のみが、トピック A へのメッセージ送信またはトピック A からのメッセージ受信が可能です。

  • 中国 (深セン) リージョンのグループ ID B に属するクライアント B のみが、トピック B へのメッセージ送信またはトピック B からのメッセージ受信が可能です。

以下の図はこの関係を示しています。接入点设置