

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon OpenSearch Service ドメインのアップグレード
<a name="version-migration"></a>

**注記**  
OpenSearch および Elasticsearch バージョンのアップグレードは、サービスソフトウェア更新とは異なります。OpenSearch Service ドメインのサービスソフトウェアの更新については、「[Amazon OpenSearch Service でのサービスソフトウェア更新](service-software.md)」を参照してください。

Amazon OpenSearch Service では、OpenSearch 1.0 以降または Elasticsearch 5.1 以降を実行するドメインに対して、インプレースアップグレードを提供しています。Amazon Data Firehose や Amazon CloudWatch Logs などのサービスを使用して OpenSearch Service にデータをストリーミングする場合は、移行前にこれらのサービスが OpenSearch の新しいバージョンをサポートしていることを確認します。

## サポートされているアップグレードパス
<a name="supported-upgrade-paths"></a>

現在、OpenSearch Service は次のアップグレードパスをサポートしています。


| 元のバージョン | 目的のバージョン | 
| --- | --- | 
| OpenSearch 1.3、2.x、または 3.x |  OpenSearch 3.*x* OpenSearch 1.3 または 2.x を実行している場合は、OpenSearch 3.x にアップグレード*する前に*、まず OpenSearch 2.19 にアップグレードする必要があります。 OpenSearch 2.19 から OpenSearch 3.x にアップグレードする場合は、次の互換性のないインデックス設定に対処する必要があります。これらは 2.x の前半で廃止され、削除しないとアップグレードチェックの検証に失敗します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/version-migration.html) 廃止されたインデックス設定とその修正手順の詳細については、「[Index settings](https://docs.opensearch.org/2.6/search-plugins/knn/knn-index/#index-settings)」を参照してください。OpenSearch 3.x の重大な変更の完全なリストについては、[「3.0.0](https://docs.opensearch.org/latest/breaking-changes/#300)」を参照してください。 ドメインに OpenSearch 1.3、Elasticsearch 7.10 以前のバージョンで作成されたインデックスが含まれている場合は、OpenSearch 3.x にアップグレードする前にインデックスを再作成する必要があります。OpenSearch 3.x は、ホットストレージ、UltraWarm ストレージ、コールドストレージのいずれにあるかにかかわらず、これらの古いインデックスをサポートしていません。互換性のない UltraWarm インデックスまたはコールドインデックスを再インデックスするには: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/version-migration.html) または、不要になったインデックスを削除します。  | 
| OpenSearch 1.3 または 2.x |  OpenSearch 2.x OpenSearch 2.17 は、ドメインが次の条件を満たす場合、デフォルトで自動モードで同時セグメント検索を有効にします。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/version-migration.html) バージョン 2.3 には、次のような重要な変更点があります。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/version-migration.html)  | 
| OpenSearch 1.x | OpenSearch 1.x | 
| Elasticsearch 7.x |  Elasticsearch 7.*x* または OpenSearch 1.*x*  OpenSearch 1.*x* では多数の画期的な変更が行われています。詳細については、「[Amazon OpenSearch Service 名称変更 - 変更の概要](rename.md)」を参照してください。   | 
|  Elasticsearch 6.8  |  Elasticsearch 7.*x* または OpenSearch 1.*x*  Elasticsearch 7.0 と OpenSearch 1.0 には、数多くの大きな変更が含まれています。インプレースアップグレードを開始する前に、6.*x* ドメインの[手動スナップショットを作成](managedomains-snapshots.md)し、それをテスト用の 7.*x* または OpenSearch 1.*x* ドメインで復元して、そのテストドメインを使用してアップグレードの潜在的な問題を特定することが推奨されます。OpenSearch 1.0 での変更については、「[Amazon OpenSearch Service 名称変更 - 変更の概要](rename.md)」を参照してください。 Elasticsearch 6.*x* と同様に、インデックスに含めることができるマッピングタイプは 1 つだけですが、そのタイプには `_doc` という名前を付ける必要があります。その結果、特定の API では、リクエスト本文にマッピングタイプ (`_bulk` API など) が不要になりました。 新しいインデックスの場合、セルフホストの Elasticsearch 7.*x* と OpenSearch 1.*x* のデフォルトのシャード数は 1 です。Elasticsearch 7.*x*以降での OpenSearch Service ドメインでは、以前のデフォルトの 5 のままです。   | 
| Elasticsearch 6.*x* | Elasticsearch 6.*x* | 
| Elasticsearch 5.6 |  Elasticsearch 6.*x*  バージョン 6.*x* で作成されたインデックスは、複数のマッピングタイプをサポートしなくなりました。バージョン 5.*x* で作成されたインデックスは、6.*x* クラスターに復元された場合でも、複数のマッピングタイプをサポートします。クライアントコードによって作成されるマッピングタイプがインデックスごとに 1 種類のみであることを確認します。 Elasticsearch 5.6 から 6.*x* へのアップグレード中のダウンタイムを最小限に抑えるため、OpenSearch Service は `.kibana` インデックスを `.kibana-6` に再生成し、`.kibana` を削除して `.kibana` という名前でエイリアスを作成します。それから、新しいインデックスを新しいエイリアスにマッピングします。   | 
| Elasticsearch 5.x | Elasticsearch 5.x | 

アップグレードプロセスには、3 つの手順が含まれます。

1. **アップグレード前の確認** – OpenSearch Service は、アップグレードをブロックする可能性のある問題を確認し、これらの確認が成功しない限り、次のステップに進みません。

1. **スナップショット** – OpenSearch Service は、OpenSearch または Elasticsearch クラスターのスナップショットを取得し、スナップショットが成功しない限り次のステップに進みません。アップグレードが失敗した場合、OpenSearch Service はこのスナップショットを使用してクラスターを元の状態に復元します。詳細については、「[アップグレード後にダウングレードできない](handling-errors.md#troubleshooting-upgrade-snapshot)」を参照してください。

1. **アップグレード** – OpenSearch Service がアップグレードを開始すると、完了まで 15 分から数時間かかります。OpenSearch Dashboards は、アップグレードの一部または全期間で使用できなくなる場合があります。

# ドメインのアップグレード (コンソール)
<a name="starting-upgrades"></a>

アップグレードプロセスは元に戻せず、一時停止またはキャンセルすることはできません。アップグレード中、ドメインの設定を変更することはできません。アップグレードを開始する前に、続行するかどうかを再度確認します。これらの同じ手順を使用して、アップグレードを実際に開始することなくアップグレード前の確認を実行することができます。

クラスタに専用のマスターノードがある場合、OpenSearch のアップグレードはダウンタイムなしで完了します。ない場合、クラスターがマスターノードを選択している間、アップグレード後数秒間応答しなくなることがあります。

**ドメインを新しいバージョンの OpenSearch または Elasticsearch にアップグレードするには**

1. ドメインの[手動スナップショットを作成](managedomains-snapshots.md)します。以前のバージョンの Opensearch の使用に戻る場合、このスナップショットは、[新しいドメインで復元](managedomains-snapshot-restore.md)できるバックアップとして機能します。

1. [https://aws.amazon.com](https://console.aws.amazon.com/) にアクセスし、[**コンソールにサインイン**] を選択します。

1. [**分析**] の下で、[**Amazon OpenSearch Service**] を選択します。

1. ナビゲーションペインの **[Domains]** (ドメイン) で、アップグレードするドメインを選択します。

1. [**アクション**] から [**更新**] を選択します。

1. アップグレードするバージョンを選択します。OpenSearch バージョンにアップグレードする場合、[**互換モードを有効にする**] オプションが表示されます。この設定を有効にすると、OpenSearch はそのバージョンを 7.10 とレポートし、Elasticsearch の OSS クライアントや Logstash などのプラグインが Amazon OpenSearch Service での使用を継続できるようにします。この設定は後で無効にできます

1. [**アップグレード**] を選択します。

1. ドメインダッシュボードの**ステータス**をチェックし、アップグレードのステータスをモニタリングします。

# ドメインのアップグレード (CLI)
<a name="starting-upgrades-cli"></a>

以下のオペレーションを使用して、ドメイン用の正しい OpenSearch または Elasticsearch バージョンを識別できます。インプレースアップグレードを開始し、アップグレード前のチェックを実行して進捗状況を表示できます。
+ `get-compatible-versions` (`GetCompatibleVersions`)
+ `upgrade-domain` (`UpgradeDomain`)
+ `get-upgrade-status` (`GetUpgradeStatus`)
+ `get-upgrade-history` (`GetUpgradeHistory`)

詳細については、「[AWS CLI コマンドリファレンス](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/index.html)」と「[Amazon OpenSearch Service API リファレンス](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html)」を参照してください。

# ドメインのアップグレード (SDK)
<a name="starting-upgrades-sdk"></a>

このサンプルでは、 の [OpenSearchService](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html) 低レベル Python クライアント AWS SDK for Python (Boto) を使用して、ドメインが特定のバージョンへのアップグレードの対象であるかどうかを確認し、アップグレードし、アップグレードステータスを継続的にチェックします。

```
import boto3
from botocore.config import Config
import time

# Build the client using the default credential configuration.
# You can use the CLI and run 'aws configure' to set access key, secret
# key, and default Region.

DOMAIN_NAME = ''  # The name of the domain to upgrade
TARGET_VERSION = ''  # The version you want to upgrade the domain to. For example, OpenSearch_1.1

my_config = Config(
    # Optionally lets you specify a Region other than your default.
    region_name='us-east-1'
)
client = boto3.client('opensearch', config=my_config)


def check_versions():
    """Determine whether domain is eligible for upgrade"""
    response = client.get_compatible_versions(
        DomainName=DOMAIN_NAME
    )
    compatible_versions = response['CompatibleVersions']
    for i in range(len(compatible_versions)):
        if TARGET_VERSION in compatible_versions[i]["TargetVersions"]:
            print('Domain is eligible for upgrade to ' + TARGET_VERSION)
            upgrade_domain()
            print(response)
        else:
            print('Domain not eligible for upgrade to ' + TARGET_VERSION)


def upgrade_domain():
    """Upgrades the domain"""
    response = client.upgrade_domain(
        DomainName=DOMAIN_NAME,
        TargetVersion=TARGET_VERSION
    )
    print('Upgrading domain to ' + TARGET_VERSION + '...' + response)
    time.sleep(5)
    wait_for_upgrade()


def wait_for_upgrade():
    """Get the status of the upgrade"""
    response = client.get_upgrade_status(
        DomainName=DOMAIN_NAME
    )
    if (response['UpgradeStep']) == 'UPGRADE' and (response['StepStatus']) == 'SUCCEEDED':
        print('Domain successfully upgraded to ' + TARGET_VERSION)
    elif (response['StepStatus']) == 'FAILED':
        print('Upgrade failed. Please try again.')
    elif (response['StepStatus']) == 'SUCCEEDED_WITH_ISSUES':
        print('Upgrade succeeded with issues')
    elif (response['StepStatus']) == 'IN_PROGRESS':
        time.sleep(30)
        wait_for_upgrade()


def main():
    check_versions()


if __name__ == "__main__":
    main()
```

## 検証障害のトラブルシューティング
<a name="upgrade-validation"></a>

OpenSearch または Elasticsearch のバージョンアップグレードを開始すると、OpenSearch Service は最初に一連の検証チェックを実行して、ドメインがアップグレードのための要件を満たしていることを確認します。これらのチェックのいずれかが失敗した場合、ドメインを更新する前に修正する必要がある特定の問題を含む通知が表示されます。発生する可能性のある問題とその解決手順の一覧については、[検証エラーのトラブルシューティング](managedomains-configuration-changes.md#validation) を参照してください。

## アップグレードのトラブルシューティング
<a name="upgrade-failures"></a>

インプレース アップグレードには、正常なドメインが必要です。ドメインがアップグレードの対象とならなかったり、さまざまな理由でアップグレードに失敗する場合があります。次の表は、最も一般的な問題を示しています。


| 問題 | 説明 | 
| --- | --- | 
| オプションのプラグインはサポートされていません |  オプションプラグインを使用してドメインをアップグレードすると、OpenSearch Service はプラグインも自動的にアップグレードします。そのため、ドメインのターゲットバージョンは、これらのオプションプラグインもサポートしている必要があります。ターゲットバージョンでは使用できないオプションのプラグインがドメインにインストールされている場合、アップグレードリクエストは失敗します。  | 
| ノードあたりのシャードが多すぎます | OpenSearchだけでなく、7.x バージョンの Elasticsearch のデフォルト設定も、ノードあたり 1,000 シャード以下です。現在のクラスター内のノードがこの設定を超えている場合、OpenSearch Service はアップグレードを許可しません。トラブルシューティングのオプションについては、「[シャードの最大制限を超えました](handling-errors.md#troubleshooting-shard-limit)」を参照してください。 | 
| 処理中のドメイン | ドメインは、設定変更中です。オペレーション完了後、アップグレードの適格性を確認します。 | 
| 赤のクラスター状態 | クラスター内の 1 つ以上のインデックスが赤です。トラブルシューティングステップについては、「[赤のクラスター状態](handling-errors.md#handling-errors-red-cluster-status)」を参照してください。 | 
| 高いエラー率 | クラスターはリクエストの処理を試みましたが、大量の 5xx エラーを返しています。この問題は通常、同時読み取りまたは書き込みリクエストが多すぎることで起こります。クラスターへのトラフィックを減らすか、ドメインのスケーリングを検討してください。 | 
| スプリットブレイン | スプリットブレインとは、 クラスターに 1 つ以上のマスターノードがあり、決して独自に再結合することのない 2 つのクラスターに分割されているという意味です。[専用マスターノード](managedomains-dedicatedmasternodes.md)の推奨値を使用することで、スプリットブレインを回避できます。スプレッドブレインからの復旧方法については、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。 | 
| マスターノードが見つからない | OpenSearch Service は、クラスターのマスターノードを見つけることができません。ドメインで[マルチ AZ](managedomains-multiaz.md) を使用している場合、アベイラビリティーゾーンの障害によってクラスターがクォーラムを失い、新しい[マスターノード](managedomains-dedicatedmasternodes.md)を選択できなくなる可能性があります。問題が自動的に解決されない場合、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。 | 
| 保留中のタスクが多すぎる | マスターノードに高い負荷がかかっており、たくさんの保留中のタスクがあります。クラスターへのトラフィックを減らすか、ドメインのスケーリングを検討してください。 | 
| 障害が発生したストレージボリューム | 1 つ以上のノードのディスクボリュームが正常に機能していません。この問題は、高いエラー率や保留中のタスクが多すぎるなど、他の問題とともに頻繁に発生します。問題が単独で発生し、自動的に解決されない場合は、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。 | 
| KMS キーの問題 | ドメインの暗号化に使用する KMS キーがアクセス不可能であるか、または存在しません。詳細については、「[保管中のデータを暗号化するドメインのモニタリング](encryption-at-rest.md#monitoring-ear)」を参照してください。 | 
| スナップショットを作成中 | ドメインは現在、スナップショットを作成しています。スナップショットの完了後に、アップグレードの適格性を確認します。手動スナップショットのリポジトリが一覧表示できること、それらのリポジトリ内のスナップショットが一覧表示できること、および手動スナップショットが作成できることも確認してください。OpenSearch Service が、スナップショットが作成中かどうか確認できない場合、アップグレードは失敗します。 | 
| スナップショットのタイムアウトまたは障害 | アップグレード前のスナップショットの完了まで時間がかかりすぎたか、失敗しました。クラスター状態を確認して、再度お試しください。問題が解決しない場合は、[サポート](https://console.aws.amazon.com/support/home) までお問い合わせください。 | 
| 互換性のないインデックス | 1 つ以上のインデックスがターゲットバージョンと互換性がありません。この問題は、以前のバージョンの OpenSearch または Elasticsearch からインデックスを移行した場合に発生する可能性があります。インデックスを再作成して、再試行してください。 | 
| 高いディスク使用率 | クラスターのディスク使用率が 90% を超えています。データを削除またはドメインをスケーリングして、再度お試しください。 | 
| 高い JVM 使用率 | JVM メモリプレッシャーが 75% を超えています。クラスターへのトラフィックを削減するか、ドメインをスケーリングして、再度お試しください。 | 
| Opensearch Dashboards エイリアスの問題 | .dashboards はエイリアスとして既に設定されており、互換性のないインデックスにマッピングされています。おそらく、以前のバージョンの OpenSearch Dashboards からのインデックスです。インデックスを再作成して、再度お試しください。 | 
| 赤の Dashboards ステータス | Opensearch Dashboards のステータスが赤くなっています。アップグレードが完了したら、Dashboards を使用してみてください。赤いステータスが続く場合は、手動で解決してから再度お試しください。 | 
| クラスター間の互換性 |  アップグレードできるのは、アップグレード後にソースドメインとデスティネーションドメインの間で、クラスター間の互換性が維持されている場合のみです。アップグレードプロセス中に、互換性のない接続があれば特定されます。続行するには、リモートドメインをアップグレードするか、互換性のない接続を削除します。ドメインでレプリケーションがアクティブな場合は、接続を削除した後でレプリケーションを再開できないことに注意してください。  | 
| OpenSearch Service のサービスに関するその他の問題 | OpenSearch Service 自体の問題により、ドメインがアップグレード対象外として表示される可能性があります。前述の条件がドメインに当てはまらず、問題が 1 日以上続く場合は、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。 | 

# スナップショットを使用してデータを移行する
<a name="snapshot-based-migration"></a>

インプレースアップグレードは、ドメインを新しい OpenSearch または Elasticsearch バージョンにアップグレードする従来よりも簡単で迅速な、信頼性の高い方法です。スナップショットは、Elasticsearch の 5.1 より前のバージョンから移行する必要がある場合や、まったく新しいクラスターに移行する場合に適しています。

次の表は、スナップショットを使用して、OpenSearch または Elasticsearch の異なるバージョンを使用するドメインにデータを移行する方法を示しています。スナップショットの作成と復元の詳細については、「[Amazon OpenSearch Service でのインデックススナップショットの作成](managedomains-snapshots.md)」を参照してください。


| 元のバージョン | 目的のバージョン | 移行プロセス | 
| --- | --- | --- | 
| OpenSearch 1.3 または 2.x | OpenSearch 2.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| OpenSearch 1.x | OpenSearch 1.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 6.x または 7.x | OpenSearch 1.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 6.x | Elasticsearch 7.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 6.x | Elasticsearch 6.8 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 5.x | Elasticsearch 6.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 5.x | Elasticsearch 5.6 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 2.3 | Elasticsearch 6.x |  Elasticsearch 2.3 のスナップショットは 6.*x* とは互換性がありません。データを 2.3 から 6.*x* に直接移行するには、新しいドメインでインデックスを手動で再作成する必要があります。 または、この表の 2.3 から 5.*x* のステップに従い、新しい 5.*x* ドメインで `_reindex` オペレーションを実行して、2.3 インデックスを 5.*x* インデックスに変換してから、5.*x* から 6.*x* のステップに従うこともできます。  | 
| Elasticsearch 2.3 | Elasticsearch 5.x |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 
| Elasticsearch 1.5 | Elasticsearch 5.x |  Elasticsearch 1.5 のスナップショットは 5.*x* とは互換性がありません。データを 1.5 から 5.*x* に移行するには、新しいドメインでインデックスを手動で再作成する必要があります。  1.5 のスナップショットには 2.3 との互換性が*あります*が、OpenSearch Service 2.3 のドメインでは `_reindex` オペレーションがサポートされていません。それらのインデックスを再作成できないため、1.5 ドメインで作成されたインデックスは、2.3 スナップショットから 5.*x* ドメインへの復元に失敗します。   | 
| Elasticsearch 1.5 | Elasticsearch 2.3 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/snapshot-based-migration.html)  | 