首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Elasticsearch系列之三】腾讯云ES云上安全优化

Elasticsearch本身是分布式多副本的,在此基础上腾讯云ES进一步提供高可用数据安全能力,您可以根据自身业务情况来选择相应的安全方案,具体如下:

1、数据构建COS备份

腾讯云ES集群提供主索引分片以快照的形式,自动备份到COS,并支持对快照的快速恢复,保障数据在意外情况下丢失时快速恢复,同时也通过手工快照备份恢复提供了跨集群恢复的手段。

1.1、自动快照备份

1) 备份说明:

Ø 腾讯云 ES 自动快照备份,只保留最近7天的快照数据;

Ø 自动快照备份的数据只能用于恢复到原集群,如果需要跨集群恢复,请参考手动快照;

Ø 默认情况下,自动快照备份在凌晨进行,建议您根据业务需求选择集群访问压力不大的时间进行;

Ø 集群第一个快照是集群数据的完整拷贝,执行时间视具体数据量而定,之后的快照保留的是已存快照和新数据之间的增量差异;

Ø 集群健康状态为红色时,自动快照服务将停止创建,建议您关注集群的健康状态;

Ø COS采用7天自动备份是腾讯云账号管理的,客户管理员也无法删除。

2) 操作步骤:

Ø 开启自动快照备份;

Ø 登录 ES 控制台,在集群列表,单击集群名称进入集群详情页;

Ø 在“高级配置”页,可以开启自动快照备份以及配置自动快照备份的时间。

3) 查看快照存储库

在集群详情页单击【Kibana】进入 Kibana 控制台, 在“Dev Tools”页可以通过 ES 的 API 查看集群的所有快照存储库。

查看集群的快照存储库命令如下:

代码语言:txt
复制
GET _snapshot?pretty

如果只有自动快照,将得到如下的返回信息:

代码语言:txt
复制
{
"ES_AUTO_BACKUP": {
  "type": "cos",
  "settings": {
    "bucket": "es-ap-guangzhou",
    "base_path": "/es_backup/es-2s8x1b9u",
    "chunk_size": "500mb",
    "region": "ap-guangzhou",
    "compress": "true"
  }
}
}

查看自动快照存储库中的快照信息命令如下:

代码语言:txt
复制
GET _snapshot/ES_AUTO_BACKUP/_all?pretty

返回结果如下:

代码语言:txt
复制
#如果没有快照,列表为空。
{
"snapshots": []
}
{
"snapshots": [
  {
    "snapshot": "es-2s8x1b9u_20181220",
    "uuid": "gsXPyWb1SNOlTuj3eNs2gA",
    "version_id": 5060499,
    "version": "5.6.4",
    "indices": [
      ".kibana"
    ],
    "state": "SUCCESS",
    "start_time": "2018-12-20T08:00:12.336Z",
    "start_time_in_millis": 1545292812336,
    "end_time": "2018-12-20T08:00:12.945Z",
    "end_time_in_millis": 1545292812945,
    "duration_in_millis": 609,
    "failures": [],
    "shards": {
      "total": 1,
      "failed": 0,
      "successful": 1
    }
  }
]
}

4) 恢复数据

恢复快照命令如下:

代码语言:txt
复制
POST _snapshot/ES_AUTO_BACKUP/es-2s8x1b9u_20181220/_restore

1.2、手工快照备份

详情参见:https://cloud.tencent.com/document/product/845/19549

可以使用命令自己创建仓库,并创建快照备份。

2、ES集群多可用区部署(同地域跨可用区容灾)

腾讯云ES 提供了多可用区部署方案,可保证在单可用区网络、电力等不可抗力故障下不停服。

2.1、创建支持多可用区的集群

以上海地域为例,在部署方式中选择【多可用区】,目前我们仅支持双可用区,用户需要选择两个【可用区及子网】。数据【节点数量】会自动按可用区的倍数调整。为了保证集群的稳定性及可靠性,默认选择【配置专用主节点】>【开启】,可以选择【专用主节点个数】为三个或五个。专用主节点也会均匀的分布在三个可用区中,保证一个可用区发生不可用的情况下,不会出现超过一半的专用主节点不可用的情况,始终保持集群有超过法定的主节点选举个数,保证了集群的可靠性。

2.2、集群多可用区容灾原理

1) 数据节点

为了保证多可用区容灾的功能生效,用户需要遵守以下原则:

Ø 购买集群的数据节点个数为可用区个数的倍数,例如选择两个可用区容灾,那么数据节点个数应该为2、4、6、8...以此类推;

Ø 索引分片至少设置1个副本,即保证集群始终有两份以上的数据。

ES 会自动的将用户所购买的数据节点均匀的部署在用户所选择的可用区中,且所部署的数据节点含有可用区感知的功能。该功能使用户数据的副本会分布到多个可用区中,保证单个可用区仅有一份副本。

ES 提供了 VPC 内负载均衡功能,用户通过我们提供的 VIP 连接集群,通过 ES 的 API 进行数据读写及集群控制操作。

Ø 此 VIP 绑定了集群内部的所有数据节点,并提供负载均衡功能,用户所有请求会平

均分布到集群的各个数据节点上;

Ø 此 VIP 还带有健康检查功能,如一个周期内多次检查确认某节点没有响应,健康检

查功能会暂时从 VIP 的绑定列表中摘除有问题的节点,直到节点恢复正常。

这样就保证了当某个节点宕机,或者某个机房的可用区不可用的情况下,自动的剔除有问题的节点,保证用户的客户端不会请求到有问题的节点。从而在可用区故障的情况下,实现客户业务无感知的切换,提高了客户业务的稳定性。

2) 专用主节点

为了提高集群的可靠性,用户在使用多可用区容灾功能时最少要创建三个专用主节点,且分布在三个不同的可用区中。即便用户选择的是双可用区部署数据节点,我们也会自动的为用户再多选择一个可用区部署专用主节点。这种部署方式,可以保证当一个可用区不可用时,集群依旧有超过半数的法定主节点选举个数,可以保证集群的正常选主。

3、跨集群复制CCR(跨地域容灾)

Elasticsearch白金版支持跨集群复制CCR能力,同时利用腾讯云跨地域内网互通能力,可支持跨地域容灾。

详情参见官方文档说明:

https://www.elastic.co/cn/blog/follow-the-leader-an-introduction-to-cross-cluster-replication-in-elasticsearch

对于一些业务安全性要求高的业务,可以考虑构建跨地域容灾。

下一篇
举报
领券