本文介绍在开始本教程前,需要完成的准备工作。
创建专有网络和虚拟交换机
创建专有网络和虚拟交换机的具体步骤,请参见搭建IPv4专有网络。
创建阿里云Elasticsearch实例
创建2个阿里云Elasticsearch实例,分别作为Logstash的input和output,创建方式请参见创建阿里云Elasticsearch实例,实例配置如下。

本教程选择实例版本为通用商业版6.7.0,使用的数据迁移方案为阿里云Elasticsearch 6.7.0 > 阿里云Logstash 6.7.0 > 阿里云Elasticsearch 6.7.0,提供的脚本仅适用于该数据迁移方案,其他方案不保证兼容。
注意
- 源阿里云Elasticsearch实例需要与Logstash实例在同一VPC下,否则需要配置网络与安全,使用外网访问Logstash,详情请参见配置NAT公网数据传输。
- 目标阿里云Elasticsearch实例需要与Logstash实例在同一区域、同一可用区、同一VPC下,且版本满足兼容性要求。
- 访问阿里云Elasticsearch实例的账号,默认为elastic(本文以此为例)。如果需要使用自建用户,要给予自建用户相应的角色和权限。
开启目标Elasticsearch实例的自动创建索引功能
阿里云Elasticsearch为了保证用户操作数据的安全性,默认将自动创建索引设置为不允许。Logstash在传输数据时,使用的是提交数据的方式创建索引,而不是使用Create index API方式。因此在使用Logstash上传数据前,需要把目标Elasticsearch实例的自动创建索引设置为允许,详情请参见开启自动创建索引。
准备数据
进入源阿里云Elasticsearch实例的Kibana控制台,在Dev Tools页面的Console中,执行如下命令创建索引和文档。
注意
- 进入Kibana控制台的具体步骤,请参见登录Kibana控制台。
- 以下示例以Elasticsearch 6.7.0版本为例,仅供测试,不一定适用于其他版本。
- 创建名称为my_index的索引。
PUT /my_index { "settings" : { "index" : { "number_of_shards" : "5", "number_of_replicas" : "1" } }, "mappings" : { "my_type" : { "properties" : { "post_date": { "type": "date" }, "tags": { "type": "keyword" }, "title" : { "type" : "text" } } } } }
- 创建名称为1的文档。
PUT /my_index/my_type/1?pretty { "title": "One", "tags": ["ruby"], "post_date":"2009-11-15T13:00:00" }
- 创建名称为2的文档。
PUT /my_index/my_type/2?pretty { "title": "Two", "tags": ["ruby"], "post_date":"2009-11-15T14:00:00" }