AWS中创建ES集群(opensearch部署)
问题
在AWS中怎么启用ES集群服务?
步骤
设置安全组
这里只用暴露OpenSearch集群的443端口,即可,OpenSearch只让走https端口调用ES相关API。
创建OpenSearch
打开OpenSearch页面,开始创建域,如下图:
配置ES设置,如下图:
点击创建,如果没问题话,就顺利创建好了ES集群。注意如果你的vpc内网没有启用ipv6,则这里es集群也不要启用ipv6。等待一段时间(时间可能有点久),等es集群创建完成后,我们再开始验证测试。
修改访问策略
修改访问策略,如下图:
策略内容如下:
{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": {"AWS": "*"},"Action": ["es:ESHttp*"],"Resource": "arn:aws-cn:es:{region}:{account-id}:domain/{domain-name}/*"}]
}
测试验证
本地ssh隧道代理控制面板
ssh -L 8443:vpc-xxx-xxxx.cn-north-1.es.amazonaws.com.cn:443 -NCi "dev.pem" ec2-user@i-xxxxx
使用之前设置的用户名和密码,本地浏览器打开https://127.0.0.1:8443/_dashboards/访问控制面板效果,如下图:
到这里就表明,我们的ES集群部署完成了。
创建角色
开始角色创建,如下图:
设置角色权限,如下图:
这个角色权限设置很关键,直接影响着新建的用户能否通过Basic auth认证https请求连接。注意,这里添加一个*
索引配置,读取所有索引的监控指标和和read权限,才能连上OpenSearch集群。
创建用户
下面开始创建内部用户,如下图:
创建用户,如下图:
用户绑定角色
找到角色,如下图:
点击角色,进入用户映射配置界面,配置用户,如下图:
绑定角色与用户,如下图:
绑定成功后,就可以把这个用户给开发者们使用了。除了,绑定我们自己自定义角色之外,还需要绑定Opensearch的dashboard的角色:opensearch_dashboards_user
。接下来,也可以用这个新用户登录一下控制面板,看一看,如下图:
我们还可以使用Elasticvue 验证一下:
这里还是提一下Elasticvue连接配置,如下图:
这里的Elasticvue连接配置,使用的就是后面自定义创建的内部用户。
总结
AWS OpenSearch这个ES分支,与ES的配置还是有点区别了,不过,差异不太大。SSH隧道代理方式访问OpenSearch到此为止了。
参考
- Defining users and roles
- Tutorial: Configure a domain with the internal user database and HTTP basic authentication
- Default action groups