Skip to content

Commit 8409324

Browse files
github-actions[bot]Naarcha-AWSnatebower
committed
Updated Is "Migration Right for you?" page and some dependencies (#10158)
* Restructured "Is Migration Assistant Right for you?" page. Signed-off-by: Brian Presley <bjpres@amazon.com> * Broke down limitation by component. Minor editorial changes. Signed-off-by: Brian Presley <bjpres@amazon.com> * Removed "Chossing migration approach" since it will be revised and included in a seperate migration patterns page. Updated checklist. Signed-off-by: Brian Presley <bjpres@amazon.com> * Updated requirements around VPC connectivity. Signed-off-by: Brian Presley <bjpres@amazon.com> * Updated list of Migration Assistant products to vale github action products list. * Added further breakdown of networking requirements Signed-off-by: Brian Presley <bjpres@amazon.com> * Moved limitations and assumptions Signed-off-by: Brian Presley <bjpres@amazon.com> * Removed Github issue reference for Kibana Signed-off-by: Brian Presley <bjpres@amazon.com> * Identify services that are only Capture-and-Replay Signed-off-by: Brian Presley <bjpres@amazon.com> * Added ALB to list of services. Updated verbiage for ELB. Signed-off-by: Brian Presley <bjpres@amazon.com> * Updated based on style-job suggestions. Signed-off-by: Brian Presley <bjpres@amazon.com> * Updated S3 verbiage Signed-off-by: Brian Presley <bjpres@amazon.com> * Remove duplicate compression bullet point. Signed-off-by: Brian Presley <bjpres@amazon.com> * Indicate that secrets manager is only used for basic auth creds. Signed-off-by: Brian Presley <bjpres@amazon.com> * Updated SSM verbiage replacing EC2 w/ ECS Signed-off-by: Brian Presley <bjpres@amazon.com> * Add writer edits Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> * Apply suggestions from code review Signed-off-by: Nathan Bower <nbower@amazon.com> --------- Signed-off-by: Brian Presley <bjpres@amazon.com> Signed-off-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> Signed-off-by: Nathan Bower <nbower@amazon.com> Co-authored-by: Naarcha-AWS <97990722+Naarcha-AWS@users.noreply.github.com> Co-authored-by: Nathan Bower <nbower@amazon.com> (cherry picked from commit 3a4bedf) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent 17d7cba commit 8409324

File tree

4 files changed

+94
-79
lines changed

4 files changed

+94
-79
lines changed

.github/vale/styles/Vocab/OpenSearch/Products/accept.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Anthropic Claude
1313
Apache Kafka
1414
Auditbeat
1515
AWS Cloud
16+
Capture and Replay
1617
Cohere Command
1718
Cohere Embed
1819
Cohere Embed English
@@ -61,8 +62,10 @@ Log4j
6162
Logstash
6263
Lucene
6364
macOS
65+
Metadata-Migration-Tool
6466
Metricbeat
6567
Microsoft Power BI
68+
Migration Assistant
6669
Minikube
6770
Nagios
6871
Okta
@@ -93,6 +96,7 @@ PyTorch
9396
Querqy
9497
Query Workbench
9598
RankLib
99+
Reindex-from-Snapshot
96100
RCF Summarize
97101
RPM Package Manager
98102
Ruby
@@ -104,6 +108,8 @@ Titan
104108
Titan Multimodal Embeddings
105109
Titan Text Embeddings
106110
TorchScript
111+
Traffic Capture Proxy
112+
Traffic Replayer
107113
Tribuo
108114
VisBuilder
109115
Winlogbeat

_migration-assistant/deploying-migration-assistant/getting-started-data-migration.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,10 @@ redirect_from:
1212

1313
This quickstart outlines how to deploy Migration Assistant for OpenSearch and execute an existing data migration using `Reindex-from-Snapshot` (RFS). It uses AWS for illustrative purposes. However, the steps can be modified for use with other cloud providers.
1414

15-
## Prerequisites and assumptions
15+
Before using this quickstart, make sure you review [Is Migration Assistant right for you?]({{site.url}}{{site.baseurl}}/migration-assistant/overview/is-migration-assistant-right-for-you/#supported-migration-paths).
1616

17-
Before using this quickstart, make sure you fulfill the following prerequisites:
1817

19-
* Verify that your migration path [is supported]({{site.url}}{{site.baseurl}}/migration-assistant/overview/is-migration-assistant-right-for-you/#supported-migration-paths). Note that we test with the exact versions specified, but you should be able to migrate data on alternative minor versions as long as the major version is supported.
20-
* The source cluster must be deployed Amazon Simple Storage Service (Amazon S3) plugin.
21-
* The target cluster must be deployed.
22-
* Verify that the `CDKToolkit` stack exists and is set to `CREATE_COMPLETE`. For more information about how to bootstrap your AWS account in the required AWS Region, see [the CDKToolkit documentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html).
23-
24-
The steps in this guide assume the following:
25-
26-
* In this guide, a snapshot will be taken and stored in Amazon S3; the following assumptions are made about this snapshot:
27-
* The `_source` flag is enabled on all indexes to be migrated.
28-
* The snapshot includes the global cluster state (`include_global_state` is `true`).
29-
* Shard sizes of up to approximately 80 GB are supported. Larger shards cannot be migrated. If this presents challenges for your migration, contact the [migration team](https://opensearch.slack.com/archives/C054JQ6UJFK).
30-
* Migration Assistant will be installed in the same AWS Region and have access to both the source snapshot and target cluster.
18+
Because this guide uses [AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/), make sure that the `CDKToolkit` stack exists and is in the `CREATE_COMPLETE` state. For setup instructions, see the [CDK Toolkit documentation](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html).
3119

3220
---
3321

_migration-assistant/overview/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ has_children: true
66
has_toc: false
77
permalink: /migration-assistant/overview/
88
items:
9+
- heading: "Is Migration Assistant right for you?"
10+
description: "Evaluate whether Migration Assistant is right for your use case."
11+
link: "/migration-assistant/overview/is-migration-assistant-right-for-you/"
912
- heading: "Key components"
1013
description: "Get familiar with the key components of Migration Assistant."
1114
link: "/migration-assistant/overview/key-components/"
1215
- heading: "Architecture"
1316
description: "Understand how Migration Assistant integrates into your infrastructure."
1417
link: "/migration-assistant/overview/architecture/"
15-
- heading: "Is Migration Assistant right for you?"
16-
description: "Evaluate whether Migration Assistant is right for your use case."
17-
link: "/migration-assistant/overview/is-migration-assistant-right-for-you/"
1818
---
1919

2020
# Migration Assistant overview

_migration-assistant/overview/is-migration-assistant-right-for-you.md

Lines changed: 83 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@ redirect_from:
99

1010
# Is Migration Assistant right for you?
1111

12-
Deciding whether to use Migration Assistant depends on your specific upgrade path, infrastructure complexity, and operational goals. This page will help you evaluate whether Migration Assistant is right for your use case—or whether another tool might be a better fit.
12+
Whether Migration Assistant is right for you depends on your upgrade path, infrastructure complexity, and operational goals. This page will help you evaluate whether Migration Assistant fits your use case.
1313

14-
Migration Assistant was built to fill important gaps in common migration strategies. For example, if you're upgrading across multiple major versions—such as from Elasticsearch 6.8 to OpenSearch 2.19—Migration Assistant lets you do this in a single step. Other methods, like rolling upgrades or snapshot restores, require you to upgrade through each major version, often reindexing your data at every step.
14+
Migration Assistant addresses key limitations in traditional migration approaches. For example, if you're upgrading across multiple major versions—such as from Elasticsearch 6.8 to OpenSearch 2.19—Migration Assistant enables you to complete the process in a single step. Other methods, like rolling upgrades or snapshot restores, require upgrading through each major version, often with reindexing at every stage.
1515

16-
Migration Assistant also supports live traffic replication, allowing for zero-downtime migrations. This makes it a strong choice for production environments, where minimizing service disruption is critical.
17-
18-
If your migration is limited to a static cluster configuration (like index templates and aliases), or if you're not concerned about downtime, simpler tools may be sufficient. But for complex migrations involving real-time traffic or major version jumps, Migration Assistant offers robust, flexible capabilities.
16+
Migration Assistant also supports live traffic replication, enabling zero-downtime migrations. This makes it a strong fit for environments where minimizing service disruption is critical.
1917

2018
## Supported migration paths
2119

@@ -34,7 +32,7 @@ The following matrix shows which source versions can be directly migrated to whi
3432
<table class="migration-matrix">
3533
<thead>
3634
<tr>
37-
<th></th>
35+
<th>Source Version</th>
3836
{% for target in unique_targets %}
3937
<th>{{ target }}</th>
4038
{% endfor %}
@@ -59,95 +57,118 @@ The following matrix shows which source versions can be directly migrated to whi
5957
**Source and target platforms**
6058

6159
- Self-managed (on premises or hosted by a cloud provider)
62-
- Amazon OpenSearch Service
63-
64-
65-
**AWS Regions**
66-
67-
Migration Assistant is supported in the following AWS Regions:
68-
69-
- US East (N. Virginia, Ohio)
70-
- US West (Oregon, N. California)
71-
- Europe (Frankfurt, Ireland, London)
72-
- Asia Pacific (Tokyo, Singapore, Sydney)
73-
- AWS GovCloud (US-East, US-West)[^1]
60+
- Amazon OpenSearch Service (Amazon OpenSearch Serverless collections are not supported)
7461

75-
[^1]: In AWS GovCloud (US), `reindex-from-snapshot` (RFS) is limited to shard sizes of 80 GiB or smaller.
62+
**Supported AWS Regions**
7663

64+
Refer to [Supported AWS Regions](https://docs.aws.amazon.com/solutions/latest/migration-assistant-for-amazon-opensearch-service/plan-your-deployment.html#supported-aws-regions) for the full list of supported Regions.
7765

66+
## Supported features
7867

79-
## Supported components
68+
Before starting an upgrade or migration, consider the cluster feature to be included. The following table lists what can be migrated using Migration Assistant, whether it is currently supported, and recommendations for how to handle each component.
8069

81-
Before starting a migration, consider the scope of the components involved. The following table outlines components that should potentially be migrated, indicates whether they are supported by Migration Assistant, and provides recommendations.
82-
83-
| Component | Supported | Recommendations |
70+
| Feature | Supported | Recommendations |
8471
| :--- |:--- | :--- |
85-
| **Documents** | Yes | Migrate existing data with RFS and live traffic with capture and replay. |
72+
| **Documents** | Yes | Migrate existing data with RFS and live traffic with Capture and Replay. |
8673
| **Index settings** | Yes | Migrate with the `Metadata-Migration-Tool`. |
8774
| **Index mappings** | Yes | Migrate with the `Metadata-Migration-Tool`. |
8875
| **Index templates** | Yes | Migrate with the `Metadata-Migration-Tool`. |
8976
| **Component templates** | Yes | Migrate with the `Metadata-Migration-Tool`. |
9077
| **Aliases** | Yes | Migrate with the `Metadata-Migration-Tool`. |
9178
| **Index State Management (ISM) policies** | Expected in 2025 | Manually migrate using an API. For more information about ISM support, see [issue #944](https://github.com/opensearch-project/opensearch-migrations/issues/944). |
92-
| **Elasticsearch Kibana[^2] dashboards** | Expected in 2025 | This tool is only needed when migrating from Elasticsearch Kibana dashboards to OpenSearch Dashboards. Start by exporting JSON files from Kibana and importing them into OpenSearch Dashboards. For Elasticsearch versions 7.10.2 to 7.17, use the [`dashboardsSanitizer`](https://github.com/opensearch-project/opensearch-migrations/tree/main/dashboardsSanitizer) tool before importing X-Pack visualizations like Canvas and Lens in Kibana dashboards, as they may require recreation for compatibility with OpenSearch.|
93-
| **Security constructs** | No | Configure roles and permissions based on cloud provider recommendations. For example, if using AWS, leverage AWS Identity and Access Management (IAM) for enhanced security management. |
79+
| **Elasticsearch Kibana dashboards** | Expected in 2025 | This tool is only needed when migrating from Elasticsearch Kibana dashboards to OpenSearch Dashboards. Start by exporting JSON files from Kibana and importing them into OpenSearch Dashboards. For Elasticsearch versions 7.10.2 to 7.17, use the [`dashboardsSanitizer`](https://github.com/opensearch-project/opensearch-migrations/tree/main/dashboardsSanitizer) tool before importing X-Pack visualizations like Canvas and Lens into Kibana dashboards, as they may require recreation for compatibility with OpenSearch.|
80+
| **Security constructs** | No | Configure roles and permissions based on cloud provider recommendations. For example, if using AWS, use AWS Identity and Access Management (IAM) for enhanced security management. |
9481
| **Plugins** | No | Check plugin compatibility; some Elasticsearch plugins may not have direct OpenSearch equivalents. |
9582

96-
[^2]: Support for Kibana 5.0 through 7.10.2 migration paths to OpenSearch Dashboards will be added in a future version. Kibana 8 and later are not supported. For more information, see [issue #944](https://github.com/opensearch-project/opensearch-migrations/issues/944).
83+
## Checklist
9784

98-
## Choosing your migration approach
85+
Use this checklist to determine whether Migration Assistant is the right fit for your migration:
9986

100-
Use the following checklist to determine which Migration Assistant components best fit your use case.
87+
- Are you migrating across one or more major versions—for example, from Elasticsearch 5 to OpenSearch 3—in a single step?
88+
- Are you upgrading but want the ability to safely back out, reducing the risk of data loss or service disruption?
89+
- Do you need to maintain high service availability with minimal or zero downtime?
90+
- Do you need to validate a new OpenSearch cluster before switching over---with rollback capabilities?
91+
- Is your environment self-managed or running on Amazon OpenSearch Service?
92+
- Are you looking for tooling to migrate index settings and other metadata?
93+
- Do you need to reconfigure your target cluster—for example, by changing the sharding strategy and reindexing?
94+
- Are you migrating across Regions, from on premises, or from another cloud provider?
95+
- Do you need a high-performance backfill solution that can reliably reindex documents—with support for pause, resume, or checkpoint recovery?
10196

102-
### Metadata migration
97+
If you answered "yes" to most of these questions, Migration Assistant is likely the right solution for your migration.
10398

104-
Use [metadata migration]({{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/migrating-metadata/) if:
99+
## Migration Assistant assumptions and limitations
105100

106-
- You need to migrate while mitigating breaking changes between the source and target clusters, such as differences in mappings, settings, aliases, or component templates.
107-
- You want a relatively consistent configuration between the source and target clusters.
101+
Before using Migration Assistant, review the following assumptions and limitations.
108102

109-
### Backfill migration
103+
### Networking and environment
110104

111-
Use [backfill migration]({{site.url}}{{site.baseurl}}/migration-assistant/migration-phases/backfill/) if:
105+
Connectivity to AWS services and outbound internet access are required in order to build and deploy Migration Assistant. Requirements differ based on whether you're deploying to a new or existing virtual private cloud (VPC).
112106

113-
- You need to move historical data without disrupting live traffic.
114-
- You want to backfill indexes from a specific point in time without impacting the source cluster.
115-
- You want to verify historical data in the target cluster before switching over.
116-
- You want to backfill using an existing or incremental snapshot.
117-
- You need the fastest backfill option that includes reindexing.
118-
- You want the ability to pause and resume migration.
107+
#### Source and target connectivity
119108

120-
### RFS
109+
To meet connectivity requirements, ensure the following:
121110

122-
Use [RFS]({{site.url}}{{site.baseurl}}/migration-assistant/deploying-migration-assistant/getting-started-data-migration/) if:
111+
- You must establish connectivity between:
112+
- The source cluster and/or Amazon Simple Storage Service (Amazon S3) (for snapshots, which may only require updating the bucket policy) and Migration Assistant.
113+
- The target cluster and Migration Assistant.
114+
- If the source or target resides in a private VPC without internet access, use one of the following to connect:
115+
- VPC endpoints
116+
- VPC peering
117+
- AWS Transit Gateway
123118

124-
- You already use OpenSearch snapshots for backups.
125-
- You need to migrate documents at scale in parallel, such as with Amazon Elastic Container Service (Amazon ECS).
126-
- You require a data migration path as part of a zero-downtime migration.
127-
- Your AWS Region supports RFS and your shard sizes are within supported limits.
119+
#### Deploying to a new VPC
128120

129-
### Combination of all three
121+
When deploying to a new VPC, consider the following:
130122

131-
Use a combination of all three migration types if:
123+
- Migration Assistant provisions a new VPC with required components (for example, NAT gateway, subnets).
124+
- You must establish network access from this VPC to both the source and target clusters.
132125

133-
- You're performing a complex, multi-version migration.
134-
- You require zero downtime and full validation of the target environment.
135-
- You want end-to-end tooling for metadata, data movement, and cluster behavior comparison.
136-
- You're cloning an existing cluster and changing the source's configuration.
137-
- You're setting up disaster recovery.
126+
#### Deploying to an existing VPC
138127

139-
## Checklist
128+
When deploying to an existing VPC, consider the following:
140129

141-
Use this checklist to decide whether Migration Assistant is right for you:
130+
- If deploying Migration Assistant to an existing VPC (for example, the same VPC as the source or target), you may need to configure connectivity to any cluster external to the target VPC.
131+
- For example, if Migration Assistant is deployed to the source VPC, you may need VPC endpoints or peering to reach the target.
142132

143-
- Are you migrating across one or more major versions?
133+
- Ensure all required AWS services are reachable by Migration Assistant components.
144134

145-
- Do you need to maintain service availability with zero downtime?
135+
- If the VPC has outbound access using private subnets with a NAT gateway or public subnets with an internet gateway, then VPC interface endpoints are not required.
146136

147-
- Do you need to validate a new OpenSearch cluster before switching over?
148137

149-
- Is your environment self-managed or running on Amazon OpenSearch Service?
138+
- If using isolated subnets with no outbound access, you must configure VPC interface endpoints or routing to the following services:
150139

151-
- Are you looking for tooling that can automate metadata migration and performance comparison?
140+
- **Application Load Balancer** (Capture and Replay only) – Used to optionally reroute client traffic from the source to the target during migration.
141+
- **Amazon CloudWatch** – Publishes migration metrics.
142+
- **Amazon CloudWatch Logs** – Ingests Amazon Elastic Container Service (Amazon ECS) task logs.
143+
- **Amazon Elastic Compute Cloud (Amazon EC2)** – Used to bootstrap Migration Assistant. When deploying using AWS CloudFormation, the bootstrap EC2 instance requires outbound internet access (using NAT gateway or an internet gateway) to download the latest version from GitHub.
144+
- **Amazon Elastic Block Store (Amazon EBS)** – Provides temporary disk storage.
145+
- **Amazon Elastic Container Registry (Amazon ECR)** – Pulls container images.
146+
- **Amazon ECS** – Orchestrates container workloads.
147+
- **Amazon Elastic File System (Amazon EFS)** – Stores persistent logs.
148+
- **Amazon Managed Streaming for Apache Kafka (Amazon MSK)** (Capture and Replay only) – Used as durable storage to capture and replay live HTTP traffic.
149+
- **Amazon S3** – Stores and retrieves snapshots and artifacts.
150+
- **Elastic Load Balancing** (Capture and Replay only) – Used by the migration console to connect to the Application Load Balancer.
151+
- **AWS Secrets Manager** – Securely stores credentials when using basic authentication on the source or target.
152+
- **AWS Systems Manager Parameter Store** – Stores configuration parameters.
153+
- **AWS Systems Manager Session Manager** – Enables secure shell access to ECS tasks such as the migration console.
154+
- **AWS X-Ray** – Supports distributed tracing.
155+
- **Amazon Virtual Private Cloud (Amazon VPC)** – Ensures proper routing, DNS resolution, and endpoint configuration.
152156

153-
If you answered "yes" to most of these questions, Migration Assistant is likely the right solution for your migration.
157+
### Reindex-from-Snapshot
158+
159+
To use `Reindex-from-Snapshot` (RFS), ensure the following:
160+
161+
- The `_source` field must be enabled on all indexes to be migrated. See [Source]({{site.url}}{{site.baseurl}}/field-types/metadata-fields/source/).
162+
- The source cluster must have the Amazon S3 plugin installed.
163+
- If you choose to bring your own snapshot (that is, one not created by Migration Assistant), the following settings must be applied when creating the snapshot:
164+
- `include_global_state: true` – Ensures that global cluster state is included.
165+
- `compress: false` – Disables metadata compression, which is required for compatibility with RFS.
166+
- Shards of up to **80 GiB** are supported by default. Larger shard sizes can be configured, **except in AWS GovCloud (US)**, where 80 GiB is the maximum.
167+
168+
### Capture and Replay
169+
170+
Capture and Replay has the following requirements:
171+
172+
- The Traffic Capture Proxy must be deployed to intercept client traffic.
173+
- Live capture is recommended only for workloads with **< 4 TB/day** of incoming traffic to the source cluster.
174+
- Automatically generated document IDs are **not preserved** during replay. Clients must explicitly provide document IDs for `index` and `update` operations.

0 commit comments

Comments
 (0)