# EMQXクラスターを4.4から5.xへアップグレードする方法

このページでは、EMQXクラスターを最新バージョンにアップグレードする手順を説明します。

EMQX 5.xは設定、管理API、およびクラスタリングAPIの互換性が4.xとは異なるため、初期バージョンからの[ローリングアップグレード](./rolling-upgrades.md)はサポートされていません。アップグレードを成功させるために、アップグレード手順を開始する前に必ず[開始前の注意点](#considerations-before-you-start)をよくお読みください。

アップグレード中に問題が発生した場合は、[EMQXサポート](https://www.emqx.com/en/support)までご連絡ください。

::: tip

現在のバージョンを新規インストールすると、既存のクラスター設定は保持されません。新規インストールについては[インストール](./install.md)を参照してください。

:::

## 対象読者

この手順は、EMQXの旧バージョンからアップグレードが必要な方、およびデータセンター運用に精通したLinuxシステム管理者を対象としています。

## 開始前の注意点

アップグレードを開始する前に、本節で説明する要件、互換性のない変更点、および潜在的な落とし穴を理解しておいてください。

### アップグレードのバージョンパス

既存のEMQXクラスターをバージョン5.1以降にアップグレードするには、現在4.4.xリリースを実行している必要があります。

4.4.xより前のバージョンを使用している場合は、段階的にメジャーリリースをアップグレードし、4.4.xに到達してから5.xへのアップグレードを行ってください。例えば、現在4.3.xを使用している場合は、まず4.4にアップグレードしてから5.xへ進む必要があります。詳細は[4.4アップグレードガイド](https://docs.emqx.com/en/enterprise/v4.4/changes/upgrade-4.4.html#data-and-config-backup)を参照してください。

### 互換性のない変更点

アップグレードを開始する前に、現在のデプロイメントとの互換性の問題や競合をすべて解決する必要があります。アプリケーションやデプロイメントに影響を与える可能性のある互換性問題や破壊的変更については、以下の資料を参照してください。

- [EMQX 5.1とEMQX 4.4間の互換性のない変更点](../../release-notes/breaking-changes-5.1.0.md)
- [EMQX 5.4の互換性のない変更点](../../release-notes/breaking-changes-ee-5.4.md)
- [EMQX 5.5の互換性のない変更点](../../release-notes/breaking-changes-ee-5.5.md)
- [EMQX 5.6の互換性のない変更点](../../release-notes/breaking-changes-ee-5.6.md)
- [EMQX 5.7の互換性のない変更点](../../release-notes/breaking-changes-ee-5.7.md)
- [EMQX 5.8の互換性のない変更点](../../release-notes/breaking-changes-ee-5.8.md)

また、本番環境に適用する前にステージング環境で十分にテストすることを強く推奨します。これによりスムーズな移行と潜在的な障害の最小化が期待できます。

#### クライアントアプリケーションおよびデータブリッジの互換性

アップグレード後のEMQXと互換性のないクライアントやデータブリッジのバージョンを使用すると、予期しない動作や未定義の挙動が発生する可能性があります。したがって、クライアントアプリケーションおよびデータブリッジのバックエンドサービスが最新のEMQXバージョンと互換性があることを必ず確認してください。互換性の検証には、[EMQX 5.1とEMQX 4.4間のデータ統合の互換性問題](../../release-notes/data-integration-4.4-to-5.1-incompatibility.md)および[クライアントSDK](../../develop/connect-emqx/introduction.md)を参照してください。

### 潜在的な落とし穴

アップグレード中に注意すべき一般的な潜在的落とし穴には以下があります。

- アップグレード後のEMQXバージョンとクライアントアプリケーション間の互換性問題
- 新バージョンに適応するために必要な設定変更
- 更新や再設定が必要な外部システムやサービスへの依存関係

これらの問題を回避するために、最新のEMQXドキュメントをよく読み、ステージング環境で十分なテストを行ってから本番環境に適用してください。また、円滑で成功したアップグレードのためにEMQXのサポートサービスを利用することも検討してください。

## EMQXクラスターのアップグレード

::: tip 前提条件

- EMQXクラスターのリリースが4.4.xであることを確認してください。
- [リリースノート](../../release-notes/all-changes-ee.md)を読んでいること。
- デプロイ環境がEMQXがサポートする[オペレーティングシステム](./install.md)のVMまたはDockerコンテナを実行可能であること。
- アップグレードに十分なディスク容量とメモリがあること。
- [パフォーマンスチューニング（Linux）](../../guides/performance/tune.md)に記載された特定の前提条件を確認済みであること。

:::

1. EMQX `6.3.1` パッケージをダウンロードします。

   - **パッケージマネージャの利用:** お使いのOSのパッケージマネージャがEMQX `6.3.1` バイナリを提供している場合は、それを利用してダウンロードおよびインストールしてください。
   - **手動ダウンロード:** パッケージマネージャで提供されていない場合やサーバーのネットワークが制限されている場合は、[公式EMQXウェブサイト](https://www.emqx.com/en/downloads-and-install/enterprise)から手動でダウンロードしてください。

2. バイナリを使用して新しいEMQXクラスターをデプロイします。詳細なインストール手順は[インストール](../deploy/install.md)を参照してください。これにより最新バージョンのクリーンインストールが行えます。

3. EMQXクラスターをマイグレーションします。

   - APIまたはダッシュボードを使用して、EMQX 4.4クラスターの設定およびデータをバックアップします。

   - 設定ファイルのフォーマットを4.4バージョンからEMQX `6.3.1` に対応した新フォーマットに変換します。

   - 変換済みの設定ファイルを `emqx ctl data import <File>` コマンドを使ってEMQX `6.3.1` クラスターに復元します。

     ::: tip

     既存のEMQX 4.4クラスターから新しいEMQX `6.3.1` クラスターへの設定マイグレーションを支援するツールが[こちら](https://github.com/emqx/emqx-data-converter/releases)で提供されています。このツールはマイグレーション手順の自動化を目的としており、スムーズな移行を支援します。生成された設定が期待通りかどうか必ず確認してください。

     :::

4. 新しいEMQXクラスターが期待通りに動作するかを十分に検証します。接続性、メッセージング機能、その他関連機能をテストし、アップグレードが成功したことを確認してください。

   ::: warning 注意

   以前のバージョンへのダウングレードはサポートされていません。古いクラスターを破棄する前に、新しいクラスターを十分に検証してください。

   :::

5. 本番環境をアップグレード済みクラスターに切り替えます。DNSレコードやロードバランサー、その他関連設定を更新してトラフィックを新しいクラスターに誘導してください。切り替え後はシステムを注意深く監視し、安定稼働を確認してください。
