

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

# Amazon OpenSearch Service でのサービスソフトウェア更新
<a name="service-software"></a>

**注記**  
各メジャーな (パッチでない) サービスのソフトウェア更新で行われた変更および追加に関する説明については、[リリースノート](release-notes.md)を参照してください。

Amazon OpenSearch Service では、機能追加またはドメイン強化を行うサービスソフトウェア更新を定期的にリリースしています。コンソールの **[Notifications]** (通知) パネルを使用すると、更新がリリースされているかどうかの確認や、更新のステータスのチェックを簡単に行うことができます。各通知には、サービスソフトウェア更新に関する詳細が含まれます。ソフトウェア更新では、ダウンタイムを最小限に抑えるためブルー/グリーンデプロイが使用されます。

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

 OpenSearch Service では、可用性から 30 日以内に必要なサービスソフトウェアの更新を適用する必要があります。これらの更新は、セキュリティコンプライアンスを維持する上で重要です。

 30 日以内に必要な更新を適用しない場合、30 日間 15 日ごとにリマインダー通知が送信されます。コンプライアンスのないこの期間を過ぎると、ドメインは次の効果で分離されます。
+ ドメインへのすべてのネットワークアクセスが削除されます
+ ドメインのステータスが**分離**された状態に変更される
+ ドメインは、必要な更新を適用するまで使用できません

 隔離中は、60 日間 15 日ごとにリマインダー通知が引き続き届きます。この期間内に必要な更新を適用しない場合、OpenSearch Service ドメインと関連するすべてのデータは完全に削除されます。詳細については、[「検証エラーのトラブルシューティング](managedomains-configuration-changes.md#validation)」を参照してください。

## オプションの更新と必須の更新
<a name="service-software-optional-required"></a>

OpenSearch Service のサービスソフトウェア更新には、大きく分けて次の 2 つのカテゴリがあります。

### オプションの更新
<a name="service-software-optional"></a>

オプションのサービスソフトウェア更新には、通常、機能強化や新機能のサポートが含まれます。オプションの更新はドメインには適用されず、インストールの厳しい締切もありません。更新の有無は、メールとコンソールの通知でユーザーに通知されます。更新は、すぐに適用することもできれば、別の日時にスケジュール変更することもできます。ドメインの[オフピークの時間帯](off-peak.md)にスケジュールすることも可能です。ソフトウェア更新の大半は、任意です。

更新をスケジュールするか否かにかかわらず、[ブルー/グリーンデプロイ](managedomains-configuration-changes.md)につながるドメインの変更を行うと、OpenSearch Service はユーザーに代わって自動的にサービスソフトウェアを更新します。

自分のドメインで、[オフピークの時間帯](off-peak.md)にオプションの更新を自動適用するように、設定することが可能です。このオプションをオンにすると、OpenSearch Service はオプションの更新が利用可能になってから少なくとも 13 日間待機し、7 日後に更新をスケジュールします。更新がスケジュールされると、コンソールに通知が届きます。別の日にスケジュール変更することも可能です。

自動ソフトウェア更新を有効にするには、ドメインを作成または更新する際に、**[Enable automatic software update]** (自動ソフトウェア更新を有効にする) を選択します。を使用して同じ設定を構成するには AWS CLI、ドメインを作成または更新`true`するときに `--software-update-options` を に設定します。

### 必須の更新
<a name="service-software-required"></a>

必須のサービスソフトウェア更新には、通常、ドメインの整合性と機能とを維持するための、重要なセキュリティ修正やその他必要な更新が含まれます。必須の更新の例には、Log4j の Common Vulnerabilities and Exposures (CVE) や、Instance Metadata Service Version 2 (IMDSv2) の適用などがあります。必須の更新が行われる回数は、通常、年に 3 回未満です。

OpenSearch Service はこれらの更新を自動的にスケジュールし、スケジュールされた更新の 7 日前に E メールとコンソール通知で通知します。必須の更新は、すぐに適用することもできれば、指定された期間内の別の日時にスケジュール変更することもできます。ドメインの、次回の[オフピークの時間帯](off-peak.md)にスケジュールすることも可能です。ユーザーが必須の更新に関して何もしなかったり、ブルー/グリーンデプロイにつながるドメインの変更を行わなかったりすると、OpenSearch Service は、指定された期限 (通常は更新の提供から 14 日目) 以降随時、ドメインのオフピークの時間帯に更新を開始します。

更新がスケジュールされた日時にかかわらず、[ブルー/グリーンデプロイ](managedomains-configuration-changes.md)につながるドメインの変更を行うと、OpenSearch Service はユーザーに代わって自動的にドメインを更新します。

## パッチ更新
<a name="service-software-patches"></a>

末尾が「-P」と数字のサービスソフトウェアバージョン (例: R20211203-*P4*) がパッチリリースです。パッチには、パフォーマンスの改善、マイナーなバグ修正、セキュリティ修正または体制の改善が含まれる可能性があります。パッチリリースには新機能や重大な変更は含まれず、通常は、ユーザーに直接的なまたは顕著な影響はありません。サービスソフトウェアの通知を見ると、パッチリリースがオプションか必須かがわかります。

## 考慮事項
<a name="service-software-considerations"></a>

ドメインを更新するかどうかを決定するときには、以下を考慮します。
+ ドメインを手動で更新すると、新しい機能をより迅速に活用できます。[**更新**] を選択すると、OpenSearch Service はリクエストをキューに入れ、時間があるときに更新を開始します。
+ サービスソフトウェアのアップデートを開始すると、OpenSearch Service はアップデートの開始時と完了時に通知を送信します。
+ ソフトウェア更新では、ダウンタイムを最小化するためにブルー/グリーンデプロイが使用されます。更新によってクラスターの専用マスターノードに一時的に負荷がかかることがあるため、関連するオーバーヘッドを処理するのに十分な容量を確保してください。
+ 更新は通常、数分以内に完了しますが、システムに負荷がかかっている場合は、数時間または数日かかることがあります。ドメインを更新するときは、長時間の更新を避けるため、あらかじめ設定した[オフピークの時間帯](off-peak.md)に行うことを検討します。

## サービスのソフトウェア更新を開始する
<a name="service-software-requesting"></a>

OpenSearch Service コンソール、、またはいずれかの SDKs を使用して AWS CLI、サービスソフトウェアの更新をリクエストできます。

### コンソール
<a name="service-software-request-console"></a>

**サービスのソフトウェア更新をリクエストするには**

1. [https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home) で Amazon OpenSearch Service コンソールを開きます。

1. ドメイン名を選択し、設定を開きます。

1. **[Actions]** (アクション)、**[Update]** (更新) の順に選択し、次のオプションの中から 1 つを選択します。
   + **[Apply update now]** (今すぐ更新を適用) - 容量に空きがあれば、アクションを現在の時間で行うよう、すぐにスケジュールします。容量に空きがなければ、別の他の時間帯を選択できます。
   + **[Schedule it in off-peak window]** (オフピークウィンドウにスケジュールする) — ドメインでオフピークウィンドウが有効になっている場合のみ選択できます。ドメインで設定されたオフピークの時間帯に更新を行うようにスケジュールします。更新が、その次の時間帯に行われるという保証はありません。容量によっては翌日になる場合もあります。詳細については、「[オフピークの時間帯にソフトウェア更新をスケジュールする](#service-software-offpeak)」を参照してください。
   + **[Schedule for specific date and time]** (特定の日時にスケジュールする) — 特定の日時に更新が行われるようにスケジュールします。指定した日時が容量上の理由で利用できない場合は、別の時間帯を選択できます。

   更新を後日 (ドメインのオフピークウィンドウ中かそれ以外) にスケジュールした場合は、いつでもスケジュール変更できます。手順については、「[アクションのスケジュール変更](off-peak.md#off-peak-reschedule)」を参照してください。

1. **[確認]** を選択します。

### AWS CLI
<a name="service-software-request-cli"></a>

start[start-service-software-update](https://docs.aws.amazon.com/cli/latest/reference/opensearch/start-service-software-update.html) AWS CLI リクエストを送信して、サービスソフトウェアの更新を開始します。こちらの例では、更新がすぐにキューに追加されています。

```
aws opensearch start-service-software-update \
  --domain-name my-domain \
  --schedule-at "NOW"
```

**レスポンス**:

```
{
    "ServiceSoftwareOptions": {
        "CurrentVersion": "R20220928-P1",
        "NewVersion": "R20220928-P2",
        "UpdateAvailable": true,
        "Cancellable": true,
        "UpdateStatus": "PENDING_UPDATE",
        "Description": "",
        "AutomatedUpdateDate": "1969-12-31T16:00:00-08:00",
        "OptionalDeployment": true
    }
}
```

**ヒント**  
更新をリクエストした後に、わずかな時間ですが、これをキャンセルできる時間帯があります。この`PENDING_UPDATE`状態の期間は大きく異なり、 AWS リージョン と OpenSearch Service が実行している同時更新の数によって異なります。更新をキャンセルするには、 コンソールまたは `cancel-service-software-update` AWS CLI コマンドを使用します。

リクエストが `BaseException` により失敗した場合は、指定した日時が容量上の理由で利用できないことを意味し、別の日時を指定する必要があります。OpenSearch Service が、応答で、利用可能な別の時間帯を提案します。

### AWS SDKs
<a name="service-software-request-sdk"></a>

このサンプル Python スクリプトは、 の [describe\$1domain](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html#OpenSearchService.Client.describe_domain) メソッドと [start\$1service\$1software\$1update](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html#OpenSearchService.Client.start_service_software_update) メソッド AWS SDK for Python (Boto3) を使用して、ドメインがサービスソフトウェア更新の対象であるかどうかを確認し、対象である場合は更新を開始します。`domain_name` の値を指定する必要があります。

```
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.

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

domain_name = ''  # The name of the domain to check and update

client = boto3.client('opensearch', config=my_config)


def getUpdateStatus(client):
    """Determines whether the domain is eligible for an update"""
    response = client.describe_domain(
        DomainName=domain_name
    )
    sso = response['DomainStatus']['ServiceSoftwareOptions']
    if sso['UpdateStatus'] == 'ELIGIBLE':
        print('Domain [' + domain_name + '] is eligible for a service software update from version ' +
              sso['CurrentVersion'] + ' to version ' + sso['NewVersion'])
        updateDomain(client)
    else:
        print('Domain is not eligible for an update at this time.')


def updateDomain(client):
    """Starts a service software update for the eligible domain"""
    response = client.start_service_software_update(
        DomainName=domain_name
    )
    print('Updating domain [' + domain_name + '] to version ' +
          response['ServiceSoftwareOptions']['NewVersion'] + '...')
    waitForUpdate(client)


def waitForUpdate(client):
    """Waits for the domain to finish updating"""
    response = client.describe_domain(
        DomainName=domain_name
    )
    status = response['DomainStatus']['ServiceSoftwareOptions']['UpdateStatus']
    if status == 'PENDING_UPDATE' or status == 'IN_PROGRESS':
        time.sleep(30)
        waitForUpdate(client)
    elif status == 'COMPLETED':
        print('Domain [' + domain_name +
              '] successfully updated to the latest software version')
    else:
        print('Domain is not currently being updated.')

def main():
    getUpdateStatus(client)
```

## オフピークの時間帯にソフトウェア更新をスケジュールする
<a name="service-software-offpeak"></a>

2023 年 2 月 16 日以降に作成された各 OpenSearch Service ドメインでは、現地時間の毎日午後 10 時から午前 8 時までの 10 時間が、[オフピークの時間帯](off-peak.md)とみなされています。OpenSearch Service は、この時間帯を利用して、ドメインにサービスソフトウェアの更新をスケジュールします。オフピークの時間帯に更新を行うことにより、トラフィックの多い時間帯にクラスターの専用マスターノードにかかる負荷を、最小限に抑えることができます。OpenSearch Service は、ユーザーの同意なしに、この 10 時間以外の時間帯に更新を開始することはできません。
+ オプションの更新の場合、OpenSearch Service は、更新が提供されたことをユーザーに通知し、次回のオフピークウィンドウに更新をスケジュールするように指示します。
+ 必須の更新の場合、OpenSearch Service は、次回のオフピークウィンドウに自動的に更新をスケジュールし、更新の 3 日前にユーザーに通知します。この更新は (オフピークウィンドウ中かそれ以外に) スケジュール変更できますが、更新を完了すべき時間枠内に限られます。

ドメインごとに、デフォルトの午後 10 時の開始時刻を、カスタムの時刻で上書きすることができます。手順については、「[カスタムのオフピークウィンドウの設定](off-peak.md#off-peak-custom)」を参照してください。

### コンソール
<a name="service-software-offpeak-console"></a>

**次回のオフピークウィンドウに更新をスケジュールするには**

1. [https://console.aws.amazon.com/aos/home](https://console.aws.amazon.com/aos/home ) で Amazon OpenSearch Service コンソールを開きます。

1. ドメイン名を選択し、設定を開きます。

1. **[アクション]**、**[更新]** の順に選択します。

1. **[Schedule it in off-peak window]** (オフピークの時間帯に更新をスケジュール) を選択します。

1. **[確認]** を選択します。

スケジュール済みのアクションは **[Off-peak window]** (オフピークウィンドウ) タブに表示され、いつでもスケジュール変更できます。「[スケジュール済みのアクションを表示する](off-peak.md#off-peak-view)」を参照してください。

### CLI
<a name="service-software-offpeak-cli"></a>

を使用して今後のオフピークウィンドウ中に更新をスケジュールするには AWS CLI、[StartServiceSoftwareUpdate](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_StartServiceSoftwareUpdate.html) リクエストを送信し、 `--schedule-at`パラメータ`OFF_PEAK_WINDOW`に を指定します。

```
aws opensearch start-service-software-update \
  --domain-name my-domain \
  --schedule-at "OFF_PEAK_WINDOW"
```

## サービスソフトウェア更新のモニタリング
<a name="service-software-monitor"></a>

OpenSearch Service はサービスのソフトウェア更新が利用可能になったとき、必要なとき、開始したとき、完了したとき、または失敗したときに、[通知](managedomains-notifications.md)を送信します。これらの通知は、OpenSearch Service コンソールの **[Notifications]** (通知) パネルで確認できます。通知の重要度は、それが必要な場合に更新がオプションおよび `High` の場合、`Informational` です。

OpenSearch Service は、サービスソフトウェアイベントの、Amazon EventBridge への送信も行います。EventBridge を使用して、イベントの受信時に E メールを送信したり、特定のアクションを実行したりするルールを設定できます。ウォークスルーの例については、「」を参照してください[チュートリアル: 利用可能なソフトウェア更新に関する Amazon SNS アラートの送信](sns-events.md)。

Amazon EventBridge に送信される各サービスソフトウェアイベントの形式を表示する場合は、「[サービスソフトウェア更新イベント](monitoring-events.md#monitoring-events-sso)」を参照してください。

## ドメインが更新の対象でない場合
<a name="service-software-ineligible"></a>

次のテーブルに示されているいずれかの状態にある場合、ドメインはサービスソフトウェア更新の対象外である可能性があります。


| 状態 | 説明 | 
| --- | --- | 
| 処理中のドメイン |  ドメインは、設定変更中です。オペレーション完了後、更新の適格性を確認します。  | 
| 赤のクラスター状態 |  クラスター内の 1 つ以上のインデックスが赤です。トラブルシューティングステップについては、「[赤のクラスター状態](handling-errors.md#handling-errors-red-cluster-status)」を参照してください。  | 
| 高いエラー率 |  OpenSearch クラスターはリクエストの処理を試みましたが、大量の 5*xx* エラーを返しています。この問題は通常、同時読み取りまたは書き込みリクエストが多すぎることで起こります。クラスターへのトラフィックを減らすか、ドメインのスケーリングを検討してください。  | 
| スプリットブレイン |  *スプリットブレイン*とは、OpenSearch クラスターに 1 つ以上のマスターノードがあり、決して独自に再結合することのない 2 つのクラスターに分割されているという意味です。[専用マスターノード](managedomains-dedicatedmasternodes.md)の推奨値を使用することで、スプリットブレインを回避できます。スプレッドブレインからの復旧方法については、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。  | 
| Amazon Cognito の統合の問題 |  ドメインで [OpenSearch Dashboards の認証](cognito-auth.md)を使用しており、OpenSearch Service では 1 つ以上の Amazon Cognito リソースが見つかりません。この問題は通常、Amazon Cognito ユーザープールがない場合に発生します。この問題を修正するには、見つからないリソースを再作成し、そのリソースを使用するように OpenSearch Service ドメインを設定します。  | 
| その他の サービスの問題 |  OpenSearch Service 自体の問題により、ドメインが更新対象外として表示される可能性があります。前の条件がドメインに当てはまらず、問題が 1 日以上続く場合は、[サポート](https://console.aws.amazon.com/support/home) にお問い合わせください。  | 