我试着以最简化的配置创建了Amazon Elasticsearch Service
※虽然我在写下以最小成本构建的步骤,但需要注意的内容很多,因此前言很长。如果你想先做再考虑的话,请向下滚动以跳过前言。
※这个是为了理解结构而写的。部分内容是用猜测画出的。
※我不了解Elasticsearch的具体操作方法。这只是关于环境构建的讨论。
亚马逊 Elasticsearch 服务(AmazonES)在市场中的定位
Elasticsearch是由Elastic公司主导开发的开源产品。
AmazonES是将这个开源产品作为软件即服务(SaaS)提供的服务。
与AWS的其他服务相比,我觉得它有一些突出的特点,所以我将把这些特点总结为“关键点”。然后,我将记录下构建最小配置的Amazon ES域的步骤。
要点1:关于通信路径


当使用VPC访问进行设置时,只有具有私有IP的网络接口可以用于您的AWS帐户。VPC端点对象是不可用的(是否被隐藏?(阴谋论))
重点2:每个工具的操作范围。
使用 CloudFormation / AWSCLI / AWSSDK 只能操作与环境有关的部分,比如构建 AmazonES 域。
针对 Elasticsearch 本身的数据操作相关操作需要通过 HTTPS 进行。意味着可以借助第一个节点的通信路径来使用。

另外,如果使用REST API的话,
连接目标主机是“端点”
可用的API将使用Open Distro for Elasticsearch(可能是从原始的Elasticsearch API派生而来的)
要点3:实例类型和功能限制
如果您只是想暫時試用並選擇了最低性能的t2.small.elasticsearch實例類型,請注意無法使用被稱為細粒度的存取方式。
Kibana可用的功能似乎也会发生变化。

重点四:关于访问权限。

-
- 通信経路的限制→可在VPC内外两种选择中进行。
-
- 利用许可的限制→可以在Elasticsearch中指定允许的用户、角色和IP地址。
- 详细设置→可以通过Kibana进行指定。
1. 通訊路徑
按照第一点所说明的,通过VPC是更安全的选择。
2. 使用授权
在IAM中不需要确定策略。
按照第2点的说明,在环境搭建方面,使用AWS进行。在数据操作方面,则使用Elasticsearch。这就是分类的方式。
也就是说,如果进行数据操作,就不需要在IAM中设置策略(事实上也做不到)。对于Elasticsearch来说,只需知道“谁(IAM用户)做了什么(IAM角色)”即可。
Elasticsearch的授权(使用许可)。
以下是一个可能的中文译文:
– 允许哪个用户或资源访问?可以通过IAM资源的ARN进行指定。
– 允许从哪里进行访问?可以通过IP地址进行指定。
– 还可以设置谁可以使用什么。
可以在新建域名时的「访问策略」或域名创建后的「访问策略更改」中进行设置。
3.精细

通过在角色映射中指定IAM用户和角色的ARN,可以授予连接权限。
之后的内容涉及到Kibana,在此略过。
最小的组成方式创建域名。
目標:建立一个成本低廉的最小化架构,使得可以从自己的电脑上操作Kibana。
第一步
部署类型:开发和测试

第二步
请指定域名和实例类型。域名可以随意选择。实例类型应选择最便宜的t2.small.elasticsearch。

步骤3



做完之後

虽然我没有试过,但我觉得RESTAPI也可以在没有密码的情况下进行访问。
如果无法连接,可能是因为在域访问策略中设置的IP地址有误。
总结
因此,如果使用t2.small.elasticsearch进行测试,我们只能考虑功能方面的调查,因为在最小配置下,安全性是相当令人担忧的。至少,我们应该使用用户账户进行Kibana登录。