# 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 間の非互換変更](../changes/breaking-changes-5.1.0.md)
- [EMQX 5.4 の非互換変更](../changes/breaking-changes-ee-5.4.md)
- [EMQX 5.5 の非互換変更](../changes/breaking-changes-ee-5.5.md)
- [EMQX 5.6 の非互換変更](../changes/breaking-changes-ee-5.6.md)
- [EMQX 5.7 の非互換変更](../changes/breaking-changes-ee-5.7.md)
- [EMQX 5.8 の非互換変更](../changes/breaking-changes-ee-5.8.md)

また、本番環境に適用する前にステージング環境で十分にアプリケーションの動作検証を行うことを推奨します。これによりスムーズな移行と潜在的な障害の最小化が期待できます。

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

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

### 潜在的な注意点

アップグレード中に注意すべき一般的な問題点は以下の通りです。

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

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

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

::: tip 前提条件

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

:::

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

   - **パッケージマネージャーの利用:** OS のパッケージマネージャーに EMQX `6.2.0` バイナリがあるか確認し、あればそれを使ってダウンロードおよびインストールしてください。
   - **手動ダウンロード:** パッケージマネージャーで提供されていない、またはサーバーのネットワークが制限されている場合は、[公式 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.2.0` に対応した新しい形式に変換します。

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

     ::: tip

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

     :::

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

   ::: warning 注意

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

   :::

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