amazon-web-services - cloudformation 如何保护 Elasticsearch 集群数据?
问题描述
我正在使用 CloudFormation 将 Elasticsearch 集群部署到 AWS 托管的 Elasticsearch 服务。CloudFormation 模板包括所有资源,如domain
、iam role
、policy
。
如果我更新 ES 域的策略或角色,CloudFormation 是否会关闭集群并重新部署一个新集群?
我想知道什么更改会导致重新部署,因为它非常危险,可能会导致数据丢失。update size
, shard number
,policy
等更改role
。但我在文档中找不到任何内容。
解决方案
这取决于您要在AWS::Elasticsearch::Domain中修改的特定属性。
更改给定属性可能导致:
- 不间断更新
- 有一些中断的更新
- 替代品
例如:
AccessPolicies
:更新要求:无中断DomainName
:更新要求:更换
Replacement
将导致您的域被拆除,并丢失您的数据。但是,您可以做一些事情来检查替换了什么以及如何保护它:
UpdateReplacePolicy - “在堆栈更新操作期间替换资源的现有物理实例时,使用 UpdateReplacePolicy 属性保留或(在某些情况下)备份资源的现有物理实例。”
堆栈策略- 使您能够拒绝任何会导致删除或替换资源的更新。
更改集- 在任何更新之前,执行更改集以检查您要执行的更新是否会导致替换。
在任何更新之前手动备份,请备份您的 ES 域以避免丢失数据。
推荐阅读
- flutter - google_sign_in signinSilently gets APIException PlatformException(sign_in_required, com.google.android.gms.common.api.ApiException: 4: 4: , null)
- matlab - 在 uiputfile 中设置文件夹 - Matlab
- java - 如何在java中分隔特定标签
- botframework - 如果 BotFramework 发送了两次 event 类型的活动,如何使用 activitymiddleware
- aws-cdk - AWS CDK: Unexpected token '?'
- python - Python 3: What should I do about this the Internal Python error in the inspect module
- android - how can i fix that android studio does not accept or detect my xml layouts when doing setContentView()?
- javascript - Maximum call stack exceeded error when rendering columns dynamically (react-table@6.11.5)
- android - onDestroy() not called
- c# - 如何将此查询转换为 linq?