Skip to content

Clarify hardware profile and instance configuration related docs for ECH #2039

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 20 commits into from
Jul 14, 2025
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
2f9e518
Clarify hardware profile and instance configuration related docs
kunisen Jul 4, 2025
9d7cb96
Update ec-change-hardware-profile.md
kunisen Jul 4, 2025
2c5fafc
Update ec-change-hardware-profile.md
kunisen Jul 4, 2025
f5afb2b
Merge branch 'main' into kunisen-docpr-stl1586
kunisen Jul 4, 2025
b4ad1c5
Merge branch 'kunisen-docpr-stl1586' of https://github.com/elastic/do…
kunisen Jul 4, 2025
2749011
Update ec-change-hardware-profile.md
kunisen Jul 7, 2025
6f22fe1
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 7, 2025
ba8353d
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 7, 2025
17d4bd1
Merge branch 'main' into kunisen-docpr-stl1586
kunisen Jul 7, 2025
81b349c
Update change-hardware.md
kunisen Jul 8, 2025
6d6357e
Update change-hardware.md
kunisen Jul 8, 2025
66988bf
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 8, 2025
0f55f2d
Update deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md
kunisen Jul 10, 2025
306a288
Update deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md
kunisen Jul 10, 2025
036fb53
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 10, 2025
0876281
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 10, 2025
0f73c89
Update change-hardware.md
kunisen Jul 10, 2025
d64924d
Update change-hardware.md
kunisen Jul 10, 2025
4434f19
Update deploy-manage/deploy/elastic-cloud/change-hardware.md
kunisen Jul 14, 2025
8d8341a
Merge branch 'main' into kunisen-docpr-stl1586
kunisen Jul 14, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions deploy-manage/deploy/elastic-cloud/change-hardware.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@ products:
- id: cloud-hosted
---

# Change hardware [ec-change-hardware-for-a-specific-resource]
# Customize instance configuration [ec-change-instance-configuration]

The virtual hardware on which {{stack}} deployments run is defined by instance configurations. To learn more about what an instance configuration is, refer to [Instance configurations](cloud://reference/cloud-hosted/hardware.md#ec-getting-started-configurations).
## Consideration [ec-consideration-on-changing-ic]

The virtual hardware on which {{stack}} deployments run is defined by instance configurations. Review [Hardware profile](./ec-change-hardware-profile.md#ec-hardware-profile) and [Instance configurations](cloud://reference/cloud-hosted/hardware.md#ec-getting-started-configurations) for more information about hardware profile and instance configuration respectively.

When a deployment is created, each {{es}} tier and stateless resource (e.g., Kibana) gets an instance configuration assigned to it, based on the hardware profile used. The combination of instance configurations defined within each hardware profile is designed to provide the best possible outcome for each use case. Therefore, it is not advisable to use instance configurations that are not specified on the hardware profile, except in specific situations in which we may need to migrate an {{es}} tier or stateless resource to a different hardware type. An example of such a scenario is when a cloud provider stops supporting a hardware type in a specific region.

Expand Down Expand Up @@ -89,6 +91,17 @@ Having an instance configuration mismatch between the deployment and the hardwar

## Deprecated instance configurations (ICs) and deployment templates (DTs) [ec-deprecated-icdt]

A list of deprecated and valid ICs/DTs can be found on the [Available regions, deployment templates and instance configurations](cloud://reference/cloud-hosted/ec-regions-templates-instances.md) page, as well as through the API, using `hide_deprecated` to return valid ICs/DTs. For example, to return valid ICs/DTs the following request can be used: `https://api.elastic-cloud.com/api/v1/deployments/templates?region=us-west-2&hide_deprecated=true`. To list only the deprecated ones, this can be used: `https://api.elastic-cloud.com/api/v1/deployments/templates?region=us-west-2&metadata=legacy:true`.
Hardware profile is also referenced as deployment templates (DTs) in {{ecloud}}.

A list of deprecated and valid ICs/DTs can be found on the [Available regions, deployment templates and instance configurations](cloud://reference/cloud-hosted/ec-regions-templates-instances.md) page, as well as through the API, using `hide_deprecated` to return valid ICs/DTs.

For example, to return valid ICs/DTs the following request can be used: `https://api.elastic-cloud.com/api/v1/deployments/templates?region=us-west-2&hide_deprecated=true`. To list only the deprecated ones, this can be used: `https://api.elastic-cloud.com/api/v1/deployments/templates?region=us-west-2&metadata=legacy:true`.

If a deprecated IC/DT is already in use, it can continue to be used. However, creating or migrating to a deprecated IC/DT is no longer possible and will result in a plan failing. In order to migrate to a valid IC/DT, navigate to the **Edit hardware profile** option in the Cloud UI or use the [Deployment API](https://www.elastic.co/docs/api/doc/cloud/operation/operation-migrate-deployment-template).

In addtion, you can refer to below information about how these terminologies are referenced.
* _Deprecated_ is also referenced as _legacy_.
* When using APIs, `hide_deprecated=true` is equivalent as `metadata=legacy:true`.
* Using `metadata=legacy:false` is not available. Therefore, to verify an IC being deprecated or not, check the presence of `legacy` field in the above API response.
* Field `hidden` from API response is not used to present whether an IC being deprecated / legacy or not.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@ products:
- id: cloud-hosted
---

# Change hardware profiles [ec-change-hardware-profile]
# Manage hardware profiles [ec-change-hardware-profile]

## Hardware profile [ec-hardware-profile]

Deployment hardware profiles deploy the {{stack}} on virtual hardware. Each hardware profile has a different blend of storage, RAM, and vCPU.

Expand All @@ -24,6 +26,11 @@ The {{ecloud}} console indicates when a new version of a hardware profile is ava

## Change the hardware profile using the {{ecloud}} console [ec_change_the_hardware_profile_using_the_elastic_cloud_console]

::::{note}
Deployment with Elastic stack version prior to 7.10 does not support hardware profile change {{ecloud}} console and API. If you want to make change on hardware profile, upgrading to version 7.10 and onwards is required.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my understanding: What's causing this behavior? Is this something that's fixable easily?

Copy link
Contributor Author

@kunisen kunisen Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my understanding: What's causing this behavior? Is this something that's fixable easily?

@yuvielastic it's a product issue that we only support hardware profile migration based on node_roles, where previously in cloud deployment, they use node types and we only introduced node_roles from Elasticsearch 7.10.

You can review this KB (external link) for more details: https://support.elastic.co/knowledge/2040b616 (you can also view internal link and I can share it with you internally if you need more history context)

Also, @gigerdo and I had a sync recently and he suggested that we should use a more self-explanatory message - which is being handled in CP-11182 (internal ticket).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO it's not an easy fix - and we probably want to encourage customer more on upgrading to 7.10+ (preferably the current latest they can upgrade to) instead of fixing this and supporting customers to do HW migration on old versions. (It may cause other issues correspondingly as we didn't handle it very smoothly in earlier versions during node type to node roles migration, and it might be hard to cover all the test cases when we add an additional logic to hardware migration APIs - the most difficult part I can expect is the plan fails in the middle that having a mixed of node roles and types, then it may become technically hard to tackle.)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Kuni for clarifying and agreed that we should encourage customers to upgrade to 7.10+ especially as that version is super old. Also, good to know that we will be updating the message to be more self-explanatory (separately in CP-11182).

::::


### Upgrade to the newest version of your current hardware profile [ec_upgrade_to_the_newest_version_of_your_current_hardware_profile]

Note that if there’s no indication that a newer version is available, that means that your deployment is already running on the latest version of that hardware profile.
Expand Down Expand Up @@ -72,6 +79,11 @@ If your deployment is configured for high availability, the hardware profile cha

## Change the hardware profile using the API [ec_change_the_hardware_profile_using_the_api]

::::{note}
Deployment with Elastic stack version prior to 7.10 does not support hardware profile change {{ecloud}} console and API. If you want to make change on hardware profile, upgrading to version 7.10 and onwards is required.
::::


Prerequisites:

* A valid {{ecloud}} [API key](../../api-keys/elastic-cloud-api-keys.md) (`$EC_API_KEY`)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ If indexing is I/O-bound, consider increasing the size of the filesystem cache (
Stripe your index across multiple SSDs by configuring a RAID 0 array. Remember that it will increase the risk of failure since the failure of any one SSD destroys the index. However this is typically the right tradeoff to make: optimize single shards for maximum performance, and then add replicas across different nodes so there’s redundancy for any node failures. You can also use [snapshot and restore](../../tools/snapshot-and-restore.md) to backup the index for further insurance.

::::{note}
In {{ech}} and {{ece}}, you can choose the underlying hardware by selecting different hardware profiles or deployment templates. Refer to [ECH > Change hardware](/deploy-manage/deploy/elastic-cloud/change-hardware.md) and [ECE deployment templates](/deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md) for more details.
In {{ech}} and {{ece}}, you can choose the underlying hardware by selecting different hardware profiles or deployment templates. Refer to [ECH > Manage hardware profiles](/deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md) and [ECE > Manage deployment templates](/deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md) for more details.
::::

### Local vs. remote storage [_local_vs_remote_storage]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ If your searches are I/O-bound, consider increasing the size of the filesystem c
If your searches are CPU-bound, consider using a larger number of faster CPUs.

::::{note}
In {{ech}} and {{ece}}, you can choose the underlying hardware by selecting different hardware profiles or deployment templates. Refer to [ECH > Change hardware](/deploy-manage/deploy/elastic-cloud/change-hardware.md) and [ECE deployment templates](/deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md) for more details.
In {{ech}} and {{ece}}, you can choose the underlying hardware by selecting different hardware profiles or deployment templates. Refer to [ECH > Manage hardware profiles](/deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md) and [ECE > Manage deployment templates](/deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md) for more details.
::::

### Local vs. remote storage [_local_vs_remote_storage_2]
Expand Down
3 changes: 2 additions & 1 deletion deploy-manage/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ toc:
- file: deploy/elastic-cloud/configure.md
children:
- file: deploy/elastic-cloud/ec-change-hardware-profile.md
children:
- file: deploy/elastic-cloud/change-hardware.md
- file: deploy/elastic-cloud/ec-customize-deployment-components.md
- file: deploy/elastic-cloud/edit-stack-settings.md
- file: deploy/elastic-cloud/add-plugins-extensions.md
Expand All @@ -57,7 +59,6 @@ toc:
- file: deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md
- file: deploy/elastic-cloud/find-cloud-id.md
- file: deploy/elastic-cloud/ec-vcpu-boost-instance.md
- file: deploy/elastic-cloud/change-hardware.md
- file: deploy/elastic-cloud/manage-deployments-using-elastic-cloud-api.md
- file: deploy/elastic-cloud/keep-track-of-deployment-activity.md
- file: deploy/elastic-cloud/restrictions-known-problems.md
Expand Down
Loading