AWS opensearch-service documentation change
Summary
Removed detailed upgrade procedures for console/CLI/SDK and added new concurrent segment search auto-enablement conditions for OpenSearch 2.17
Security assessment
The changes primarily restructure documentation sections and add performance-related configuration details for concurrent segment search. No security vulnerabilities, mitigations, or security feature enhancements are mentioned. The concurrent search conditions relate to resource requirements and performance thresholds rather than security controls.
Diff
diff --git a/opensearch-service/latest/developerguide/version-migration.md b/opensearch-service/latest/developerguide/version-migration.md index a34e2921d..fc4d48fae 100644 --- a//opensearch-service/latest/developerguide/version-migration.md +++ b//opensearch-service/latest/developerguide/version-migration.md @@ -5 +5 @@ -Supported upgrade pathsUpgrading a domain (console)Upgrading a domain (CLI)Upgrading a domain (SDK)Troubleshooting validation failuresTroubleshooting an upgrade +Supported upgrade pathsTroubleshooting validation failuresTroubleshooting an upgrade @@ -21 +21,7 @@ From version | To version -OpenSearch 1.3 or 2._x_ | OpenSearch 2._x_ Version 2.3 has the following breaking changes: +OpenSearch 1.3 or 2._x_ | OpenSearch 2._x_ OpenSearch 2.17 will enable concurrent segment search by default with auto mode if the domain satisfies the following conditions: + + * No previous concurrent search settings are explicitly set. + * All data instances (hot and warm) are of instance type 2.xl or more. + * The average p90 cpu utilization on data instances (hot and warm) for more than 1 week is below 45%. For more details about concurrent segment search settings here, see [Concurrent segment search](https://opensearch.org/docs/2.17/search-plugins/concurrent-segment-search/). + +Version 2.3 has the following breaking changes: @@ -57,116 +62,0 @@ The upgrade process consists of three steps: -## Upgrading a domain (console) - -The upgrade process is irreversible and can't be paused or cancelled. During an upgrade, you can't make configuration changes to the domain. Before starting an upgrade, double-check that you want to proceed. You can use these same steps to perform the pre-upgrade check without actually starting an upgrade. - -If the cluster has dedicated master nodes, OpenSearch upgrades complete without downtime. Otherwise, the cluster might be unresponsive for several seconds post-upgrade while it elects a master node. - -###### To upgrade a domain to a later version of OpenSearch or Elasticsearch - - 1. [Take a manual snapshot](./managedomains-snapshots.html) of your domain. This snapshot serves as a backup that you can [restore on a new domain](./managedomains-snapshot-restore.html) if you want to return to using the prior OpenSearch version. - - 2. Go to [https://aws.amazon.com](https://aws.amazon.com) and choose **Sign In to the Console**. - - 3. Under **Analytics** , choose **Amazon OpenSearch Service**. - - 4. In the navigation pane, under **Domains** , choose the domain that you want to upgrade. - - 5. Choose **Actions** and **Upgrade**. - - 6. Select the version to upgrade to. If you're upgrading to an OpenSearch version, the **Enable compatibility mode** option appears. If you enable this setting, OpenSearch reports its version as 7.10 to allow Elasticsearch OSS clients and plugins like Logstash to continue working with Amazon OpenSearch Service. You can disable this setting later - - 7. Choose **Upgrade**. - - 8. Check the **Status** on the domain dashboard to monitor the status of the upgrade. - - - - -## Upgrading a domain (CLI) - -You can use the following operations to identify the correct version of OpenSearch or Elasticsearch for your domain, start an in-place upgrade, perform the pre-upgrade check, and view progress: - - * `get-compatible-versions` (`GetCompatibleVersions`) - - * `upgrade-domain` (`UpgradeDomain`) - - * `get-upgrade-status` (`GetUpgradeStatus`) - - * `get-upgrade-history` (`GetUpgradeHistory`) - - - - -For more information, see the [AWS CLI command reference](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/index.html) and [Amazon OpenSearch Service API Reference](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/Welcome.html). - -## Upgrading a domain (SDK) - -This sample uses the [OpenSearchService](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/opensearch.html) low-level Python client from the AWS SDK for Python (Boto) to check if a domain is eligible for upgrade to a specific version, upgrades it, and continuously checks the upgrade status. - - - 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() - @@ -211 +101 @@ Configure permissions -Using a snapshot to migrate data in Amazon OpenSearch Service +Upgrading a domain (console)