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

Microservices Engine:自己管理 Nacos 構成センターを MSE Nacos に移行する

最終更新日:Nov 09, 2025

自己管理 Nacos と比較して、Microservices Engine (MSE) Nacos は、構成の暗号化、復号、プッシュ追跡などの特徴を提供します。MSE Nacos は、パフォーマンス専有型で可用性が高く、ユーザーフレンドリなサービスであり、O&M コストを大幅に削減できます。このトピックでは、自己管理のオープンソース Nacos 構成センターから MSE Nacos 構成センターに移行する方法について説明します。

前提条件

  • MSE Nacos インスタンスが作成されていること。詳細については、「Nacos エンジンを作成する」をご参照ください。

  • 必要な名前空間が作成されていること。詳細については、「名前空間を作成する」をご参照ください。

    説明

    自己管理 Nacos インスタンスで複数の名前空間を使用する場合は、スムーズな移行を確実にするために、MSE Nacos に同じ ID と名前で対応する名前空間を作成します。

ステップ 1: 自己管理 Nacos から MSE Nacos に構成を移行する

方法 1: インポートおよびエクスポート機能を使用して構成を移行する

説明

各名前空間の構成を個別にインポートおよびエクスポートします

  1. 自己管理のオープンソース Nacos コンソールから構成をエクスポートします。

    1. 自己管理のオープンソース Nacos コンソールにログインします。

    2. [構成リスト] ページで、ターゲット構成を選択し、リストの下にある [エクスポート] をクリックしてから、[構成のエクスポート] ダイアログボックスで [エクスポート] をクリックします。

    3. エクスポートされた構成ファイルを保存します。

  2. 構成を MSE コンソールにインポートします。

    1. MSE コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、マイクロサービスの登録 > インスタンス を選択します。インスタンスの名前をクリックします。

    3. 左側のナビゲーションウィンドウで、Configuration Management > Configurations を選択します。

    4. [構成リスト] ページで、ターゲットの名前空間を選択し、[構成のインポート] をクリックします。

    5. [構成のインポート] ダイアログボックスで、インポートポリシーを設定します。同じ名前の構成が存在する場合、[インポートの停止][スキップ]、または [上書き] を選択できます。自己管理 Nacos コンソールからエクスポートした構成ファイルをアップロードし、[インポート] をクリックします。

      image.png

  3. 両側で構成を更新します。

    説明

    スムーズな移行を確実にするために、アプリケーションを移行する前に、自己管理 Nacos と MSE Nacos の両方の構成センターで構成を更新してください。SDK を使用して構成を更新する場合は、プログラムでデュアルライトを実装する必要があります。コンソールで構成を更新する場合は、両方のコンソールで手動で更新を実行する必要があります。

方法 2: MSE Sync を使用して構成のホットマイグレーションのための移行タスクを構成する

説明

同期ツールのデプロイ方法の詳細については、「MSE Sync 移行ソリューション」をご参照ください。

  1. MSE Sync がデプロイされた後、MSE コンソールにログインします。左側のナビゲーションウィンドウで、[マイクロサービスレジストリ] > [クラウド移行] を選択します。[クラウド移行] ページで、[構成の移行] をクリックします。

    image

  2. [構成の移行] ページで、[次へ] をクリックします。[構成の作成] ステップで、[ソースインスタンスタイプ][Nacos] に、[同期タイプ][構成同期] に設定します。[ソースインスタンスノードアドレス] には、ソースインスタンスのノード IP アドレスとポートを入力します。[ターゲットインスタンス] には、宛先インスタンスを選択します。次に、[次へ] をクリックします。[移行の実装] ステップで、[移行構成のダウンロードと保存] をクリックします。ダウンロードした構成ファイルを MSE Sync にインポートして、ソースクラスターからの構成のホット同期を有効にします。

    image

重要
  • 構成同期は、カナリアリリースの構成をサポートしていません。ソースまたは宛先クラスターのカナリアリリースの範囲に同期ツールが含まれている場合、ツールはカナリア構成を通常の構成としてピアクラスターに同期します。

  • ソースクラスターと宛先クラスターで同時に構成を変更しないでください。

ステップ 2: アプリケーションのビジネスパラメーターを置き換える

アプリケーションの種類に応じて、次の手順に従ってビジネスパラメーターを置き換えます:

Spring Cloud Alibaba アプリケーションの移行

  1. アプリケーションが Spring Cloud Alibaba アプリケーションであるかどうかを特定します。

    pom.xml ファイルに次の依存関係がある場合、アプリケーションは Spring Cloud Alibaba アプリケーションです。

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
  2. アプリケーションが Spring Cloud Alibaba アプリケーションの場合は、その bootstrap.properties 構成ファイルを変更します。

    {MSE パブリック/プライベートエンドポイント} を宛先の MSE Nacos インスタンスのエンドポイントに置き換えます。エンドポイントは、インスタンスの基本情報ページで確認できます。

    spring.cloud.nacos.config.server-addr=${MSE public/private endpoint}

    次の構成では、名前空間を MSE の対応する名前空間に置き換えます。名前空間 ID が同じ場合は、変更は必要ありません。MSE のデフォルトの名前空間は空なので、このパラメーターは空白のままにできます。カスタム名前空間を使用している場合は、Nacos インスタンスの [名前空間] ページでその ID を確認できます。

説明
  • デプロイメントにパブリック IP アドレスを使用する場合は、接続性を確保するためにクライアント IP アドレスをホワイトリストに追加する必要があります。詳細については、「ホワイトリストを設定する」をご参照ください。

  • ホワイトリストが空の場合、すべての IP アドレスがアプリケーションにアクセスできます。

Java アプリケーションの移行

  1. アプリケーションが Nacos SDK for Java を使用しているかどうかを特定します。

    pom.xml ファイルに次の依存関係がある場合、アプリケーションは Nacos SDK for Java を使用しています。

    <dependency>
      <groupId>com.alibaba.nacos</groupId>
      <artifactId>nacos-client</artifactId>
    </dependency>
  2. アプリケーションが Nacos SDK for Java を使用している場合は、次のコードを変更します。${MSE endpoint} を MSE エンドポイントに、${namespaceId} を MSE 名前空間 ID に置き換えます。デフォルトの名前空間を使用する場合、名前空間 ID は空のままにできます。名前空間 ID がソースと同じ場合は、変更は必要ありません。コードを変更した後、アプリケーションを再デプロイします。

    properties.put("serverAddr", "${MSE endpoint}");
    properties.put("namespace", "${namespaceId}");

nacos-spring-boot アプリケーションの移行

アプリケーションが nacos-spring-boot アプリケーションの場合は、その application.properties 構成ファイルを変更します。

${MSE endpoint} を MSE エンドポイントに置き換えます。

nacos.config.server-addr=${MSE endpoint}

次の構成では、名前空間を MSE の名前空間に置き換えます:

nacos.config.namespace=${MSE namespace ID}

Go アプリケーションの移行

説明

API を呼び出す前に、環境変数を設定してアクセス資格情報を読み取ります。Microservices Engine の AccessKey ID と AccessKey Secret の環境変数名は `MSE_AK` と `MSE_SK` です。

Nacos SDK for Go を使用する場合は、${serverAddr} を MSE エンドポイントに置き換えます。

sc := []constant.ServerConfig{
    {
    IpAddr: "${serverAddr}",
    Port:   8848,
    },
}
説明

Go アプリケーションのサンプルデモについては、「nacos-sdk-go」をご参照ください。

Python アプリケーションの移行

Nacos SDK for Python を使用する場合は、${server_address}${namespace_id} を MSE エンドポイントと名前空間 ID に置き換えます。

SERVER_ADDRESSES = "${server_address}"
NAMESPACE = "${namespace_id}"
client = nacos.NacosClient(SERVER_ADDRESSES, namespace=NAMESPACE)

Node.js アプリケーションの移行

Nacos SDK for Node.js を使用する場合は、${server_address}${namespace_id} を MSE エンドポイントと名前空間 ID に置き換えます。

const configClient = new NacosConfigClient({
  serverAddr: '${server_address}',
  namespace: '${namespace_id}',
  accessKey: 'MSE_AK',
  secretKey: 'MSE_SK',
  requestTimeout: 6000,
});

C# アプリケーションの移行

${server_address}${namespace_id} を MSE エンドポイントと名前空間 ID に置き換えます。

{
  "NacosConfig": {
    "Listeners": [
      {
        "Optional": false,
        "DataId": "common",
        "Group": "DEFAULT_GROUP"
      },
      {
        "Optional": false,
        "DataId": "demo",
        "Group": "DEFAULT_GROUP"
      }
    ],
    "Namespace": "namespace_id", 
    "ServerAddresses": [ "http://${server_address}:8848/" ],
    "UserName": "test2",
    "Password": "123456",
    "AccessKey": "MSE_AK",
    "SecretKey": "MSE_SK",
    "EndPoint": "acm.aliyun.com",
    "ConfigFilterAssemblies": ["YouPrefix.AssemblyName"],
    "ConfigFilterExtInfo": "some ext information"
  }
}

C++ アプリケーションの移行

Nacos SDK for C++ を使用する場合は、${server_address}${namespace_id} を MSE エンドポイントと名前空間 ID に置き換えます。

Properties props;
props[PropertyKeyConst::SERVER_ADDR] = "${server_address}:8848";
props[PropertyKeyConst::NAMESPACE] = "{namespaceId}";

ステップ 3: 自己チェックを実行し、自己管理インスタンスを廃止する

アプリケーションを MSE Nacos に完全に移行し、サービスが期待どおりに実行されていることを確認したら、構成のデュアル書き込みを停止できます。自己管理インスタンスのトラフィックを監視します。アクティブな接続または構成プッシュクエリレコードがない場合は、自己管理インスタンスを廃止して移行を完了できます。