
# 安全模式变更
当OpenSearch集群的安全性有变更需求时，CSS服务支持切换集群安全模式。
根据业务安全要求，可选择创建不同安全模式的集群：
![](https://support.huaweicloud.com/usermanual-css/public_sys-resources/caution_3.0-zh-cn.png)
OpenSearch安全集群只有1.3.6、2.19.0和3.4.0版本支持关闭HTTPS访问，其他版本均强制启用HTTPS访问，不可关闭。
表1集群安全模式介绍 
| 集群类型  | 关键配置                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 集群描述                                                         | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| 非安全集群 | "安全模式"：关闭                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 非安全模式的集群无需安全认证即可访问，采用HTTP协议明文传输数据。                           | 适合内部测试或对安全性要求不高的场景。 - 优点：简单，接入集群容易。  - 缺点：安全性差，任何人都可以访问集群，且不支持启用公网访问和Dashboards公网访问。   建议确认访问环境的安全性，勿将访问接口暴露在公网环境中，避免数据泄露。              |
| 安全集群  | 安全模式+HTTP协议的集群： - "安全模式"：开启  - "HTTPS访问"：关闭   | 安全模式的集群需要通过安全认证才能访问，且支持对集群进行授权、加密等功能。采用HTTP协议明文传输数据。         | 适合对安全性有一定要求，但对性能要求较高的场景。 - 优点：安全认证提升了集群安全性。通过HTTP协议访问集群又能保留集群的高性能。支持用户权限隔离。  - 缺点：不支持启用公网访问。   建议确认访问环境的安全性，勿将访问接口暴露在公网环境中，避免数据泄露。           |
| 安全集群  | 安全模式+HTTPS协议的集群： - "安全模式"：开启  - "HTTPS访问"：开启        | 安全模式的集群需要通过安全认证才能访问，且支持对集群进行授权、加密等功能。采用HTTPS协议进行通信加密，使数据更安全。 | 适合对安全性和数据传输加密要求较高、且需要公网访问的场景。 - 优点：安全认证提升了集群安全性。HTTPS协议提升了集群公网访问的安全性。支持用户权限隔离。  - 缺点：与HTTP协议相比，通过HTTPS协议访问集群会因加密和解密操作导致集群的读写性能有所下降。   |
   
如[表2]所示，CSS服务支持多种安全模式的变更场景。
 表2安全模式的变更场景介绍 
| 变更类型         | 适用场景                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | 变更流程                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| 非安全模式切换为安全模式 | 非安全 → 安全+HTTP："非安全模式的集群"切换为"安全模式+HTTP协议的集群"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 1. 选择一个节点，修改OpenSearch、OpenSearch Dashboards、Cerebro配置文件。  2. 重启OpenSearch、OpenSearch Dashboards、Cerebro进程，并恢复数据。  3. 确认节点恢复后，依次变更其余节点，直至全部节点变更完成。   |
| 非安全模式切换为安全模式 | 非安全 → 安全+HTTPS："非安全模式的集群"切换为"安全模式+HTTPS协议的集群"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | 1. 选择一个节点，修改OpenSearch、OpenSearch Dashboards、Cerebro配置文件。  2. 重启OpenSearch、OpenSearch Dashboards、Cerebro进程，并恢复数据。  3. 确认节点恢复后，依次变更其余节点，直至全部节点变更完成。   |
| 安全模式切换为非安全模式 | 安全 → 非安全： - "安全模式+HTTP协议的集群"切换为"非安全模式的集群"  - "安全模式+HTTPS协议的集群"切换为"非安全模式的集群"   | 1. 选择一个节点，修改OpenSearch、OpenSearch Dashboards、Cerebro配置文件。  2. 重启OpenSearch、OpenSearch Dashboards、Cerebro进程，并恢复数据。  3. 确认节点恢复后，依次变更其余节点，直至全部节点变更完成。   |
| 切换安全模式下的协议   | HTTP → HTTPS："安全模式+HTTP协议的集群"切换为"安全模式+HTTPS协议的集群"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 1. 选择一个节点，修改OpenSearch、OpenSearch Dashboards、Cerebro配置文件。  2. 重启OpenSearch、OpenSearch Dashboards、Cerebro进程，并恢复数据。  3. 确认节点恢复后，依次变更其余节点，直至全部节点变更完成。   |
| 切换安全模式下的协议   | HTTPS → HTTP："安全模式+HTTPS协议的集群"切换为"安全模式+HTTP协议的集群"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 1. 选择一个节点，修改OpenSearch、OpenSearch Dashboards、Cerebro配置文件。  2. 重启OpenSearch、OpenSearch Dashboards、Cerebro进程，并恢复数据。  3. 确认节点恢复后，依次变更其余节点，直至全部节点变更完成。   |
   
#### 变更影响
在更改安全模式前，您需要了解以下关键影响和操作建议，以便合理规划变更，最小化业务影响。
表3变更影响总览 
| 变更类型           | 业务是否会中断 | 认证方式变化 | 性能影响 | 公网访问变化 | 安全账号风险 |
|:---|:---|:---|:---|:---|:---|
| 非安全 → 安全+HTTP  | 是       | 增加安全认证 | 不涉及  | 不支持    | 不涉及    |
| 非安全 → 安全+HTTPS | 是       | 增加安全认证 | 下降   | 支持     | 不涉及    |
| 安全 → 非安全       | 是       | 移除安全认证 | 提升   | 自动禁用   | 永久删除   |
| HTTP → HTTPS   | 是       | 无变化    | 下降   | 支持     | 不涉及    |
| HTTPS → HTTP   | 是       | 无变化    | 提升   | 自动禁用   | 不涉及    |
   
变更影响说明：
- 非安全表示非安全模式的集群；安全表示安全模式的集群。
- 业务中断：在更改集群安全模式的过程中，集群会自动重启，导致业务暂时不可用。
- 认证方式变化：更改集群安全模式后，访问集群时的安全认证机制会发生改变，此时客户端必须同步更新认证逻辑。如未及时完成适配，可能导致业务服务中断。
- 性能影响：当集群安全模式变更导致通信协议从HTTP切换为HTTPS后，在相同硬件配置下，集群处理高并发请求时的性能指标（如吞吐量）将出现约20%的下降。相反，当通信协议从HTTPS切换为HTTP后，集群性能会有所提升。
- 公网访问变化：只有安全模式+HTTPS协议的集群才支持配置公网访问，其他类型的集群都不支持。
- 安全账号风险：当安全模式变更为非安全模式的集群，系统会清理安全集群的账号，所有安全账号将被永久删除。
- 组件影响：对于已打开过OpenSearch Dashboards会话框的集群，在更改集群安全模式后，OpenSearch Dashboards会提示Session错误，此时需要清理缓存再打开OpenSearch Dashboards才能正常访问。
由于更改安全模式会导致节点访问方式改变，此过程可能会引起业务中断，建议在业务上线前或集群可接受停机变更的场景下使用。
#### 变更时长
变更集群安全模式的时长估算公式如下：
**变更时长（分钟）= 5（分钟）x 节点总个数 + 数据恢复时长（分钟）**
其中：
- 5分钟为初始化等非数据恢复操作的基准耗时，是经验值。
- 节点总个数是集群的数据节点、Master节点、Client节点和冷数据节点数量之和。
 
**数据恢复时长（分钟）= 数据总量（MB）÷ \[ 数据节点的CPU核数 × 8（MB/s）× 60（秒）\]**
其中：
- 8MB/s表示每个CPU核每秒可处理8MB数据，是经验值。
- 以上公式为理想状态下的理论估算值，实际恢复速率受集群负载影响。
 
#### 前提条件
- 变更前，建议备份所有关键数据，以免造成数据丢失。操作指导请参见[创建快照备份数据](https://support.huaweicloud.com/usermanual-css/css_01_0298.html)。
- 集群必须处于"可用"状态，且无正在进行的任务。
- 确认集群是否启用"负载均衡"，如果启用了，则先关闭集群的"负载均衡"，待安全模式变更完成后再开启"负载均衡"。避免变更过程中造成通过负载均衡实例访问集群异常。
 
#### 非安全模式切换为安全模式
介绍集群从"非安全模式"切换为"安全模式+HTTP协议"或"安全模式+HTTPS协议"的操作。当集群从非安全模式变更为安全模式后，访问集群将需要进行安全认证。
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> OpenSearch"。
3. 在集群列表，选择目标集群，单击操作列的"更多\>形态变更"进入形态变更页面。
4. 选择"更改安全模式"页签。
5. 在更改安全模式页面，打开"安全模式"的开关，输入并确认集群的管理员密码。
   图1非安全模式切换为安全模式   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002289446649.png "点击放大") 
6. 选择集群是否启用"HTTPS访问"。
   - 打开开关：实现"非安全模式"切换为"安全模式+HTTPS协议"。集群通讯使用HTTPS协议，通讯数据将进行加密，且可以启用集群的公网访问功能。
   
   - 关闭开关：实现"非安全模式"切换为"安全模式+HTTP协议"。集群通讯使用HTTP协议，无法启用集群的公网访问功能。
    
7. 单击"提交申请"，确认后将返回集群列表页面。 集群的"任务状态"列中显示为"安全模式更改中"，当"集群状态"变为"可用"表示变更成功。
   
 
#### 安全模式切换为非安全模式
介绍集群从"安全模式+HTTP协议"或"安全模式+HTTPS协议"切换为"非安全模式"的操作。当集群从安全模式变更为非安全模式后，访问集群将不再需要进行安全认证。
![](https://support.huaweicloud.com/usermanual-css/public_sys-resources/warning_3.0-zh-cn.png)
- 非安全模式的集群将无需安全认证即可访问，且采用的是HTTP协议传输数据，所以请确保集群访问环境的安全性，勿将访问接口暴露在公网环境中。
- 在安全模式切换为非安全模式的过程中，变更任务会删除原安全模式的集群用到的索引。切换前请做好数据备份，以免数据丢失。
- 如果集群已绑定公网IP，则无法将安全模式切换为非安全模式，需要先解绑公网IP，才能切换。
- 如果集群已启用Dashboards公网访问，则无法将安全模式切换为非安全模式，需要先关闭Dashboards公网访问功能，才能切换。
 
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> OpenSearch"。
3. 在集群列表，选择目标集群，单击操作列的"更多\>形态变更"进入形态变更页面。
4. 选择"更改安全模式"页签。
5. 在更改安全模式页面，关闭"安全模式"的开关。
   图2安全模式切换为非安全模式   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002254796400.png "点击放大") 
6. 单击"提交申请"，在弹窗中确认后将返回集群列表页面。 集群的"任务状态"列中显示为"安全模式更改中"，当"集群状态"变为"可用"表示变更成功。
   
 
 #### 切换安全模式下的协议
介绍安全模式的集群切换访问协议的操作，包括"安全模式+HTTP协议"切换为"安全模式+HTTPS协议"、"安全模式+HTTPS协议"切换为"安全模式+HTTP协议"。
![](https://support.huaweicloud.com/usermanual-css/public_sys-resources/warning_3.0-zh-cn.png)
- 如果集群已绑定公网IP，则无法将协议从HTTPS切换到HTTP，需要先解绑公网IP，才能切换安全模式下的协议。
- OpenSearch安全集群只有1.3.6、2.19.0和3.4.0版本支持关闭HTTPS访问，其他版本均强制启用HTTPS访问，不可关闭。
 
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏，选择"集群管理 \> OpenSearch"。
3. 在集群列表，选择目标集群，单击操作列的"更多\>形态变更"进入形态变更页面。
4. 选择"更改安全模式"页签。
5. 在更改安全模式页面，修改"HTTPS访问"的开关切换安全模式下的集群访问协议。
   图3切换协议   
   ![](https://support.huaweicloud.com/usermanual-css/figure/zh-cn_image_0000002304308981.png "点击放大")
   - 打开开关：实现"安全模式+HTTP协议"切换为"安全模式+HTTPS协议"。 切换为HTTPS协议后，集群通讯将进行加密，且可以启用集群的公网访问功能。
     
   
   - 关闭开关：实现"安全模式+HTTPS协议"切换为"安全模式+HTTP协议"。关闭开关会弹出告警提示，单击"确定"后关闭开关。 切换为HTTP协议后，集群通讯将不再加密，且无法启用集群的公网访问功能。
     
    
6. 单击"提交申请"，确认后将返回集群列表页面。 集群的"任务状态"列中显示为"安全模式更改中"，当"集群状态"变为"可用"表示变更成功。
   
 
