阿里云Logstash实例部署在专有网络VPC(Virtual Private Cloud)下,如果您需要通过Logstash采集公网网络中的数据,或者将Logstash采集的数据输出到公网网络中,则需要配置NAT网关,实现专有网络下的阿里云Logstash与公网连通。本文介绍具体的配置方法。
背景信息
由于阿里云Logstash实例部署在专有网络VPC下,如果源端或目标端任意一个与阿里云Logstash不在同一VPC下(源端和目标端网络不通),会导致数据无法传输。在这种情况下,您可以使用阿里云NAT网关的DNAT条目实现公网服务向Logstash节点推送数据,SNAT条目实现Logstash访问公网,解决网络不通的问题。阿里云NAT网关是一种网络地址转换服务,更多详细信息请参见什么是NAT网关。
前提条件
您已完成以下操作:
创建专有网络和虚拟交换机。
具体操作,请参见搭建IPv4专有网络。
创建阿里云Logstash实例。
具体操作,请参见创建阿里云Logstash实例。
操作步骤
- 进入阿里云Elasticsearch控制台的Logstash页面。
- 进入目标实例。
- 在顶部菜单栏处,选择地域。
- 在Logstash实例中单击目标实例ID。
在左侧导航栏,单击网络与安全。
在网络配置区域,单击前往配置NAT网关。
关于NAT网关的详细说明和配置流程,请参见创建和管理公网NAT网关实例。其中DNAT条目适用于公网服务向Logstash节点推送数据;SNAT条目适用于Logstash主动访问公网。
在NAT网关配置页面,创建NAT网关。
创建NAT网关时,所选的地域和VPC ID需要与阿里云Logstash保持一致。详细创建方法,请参见步骤一:创建公网NAT网关。
绑定弹性公网IP。
在NAT网关列表右侧操作列下,选择 。
在绑定弹性公网IP页面,选择从已有弹性公网IP中选择。
如果还没有EIP,可选择新购弹性公网IP并绑定,按照页面提示完成绑定。
选择可用的EIP,单击确定。
重要一个NAT网关最多可绑定20个EIP(最多可绑定10个按流量计费的EIP,每个按流量计费的EIP的最大峰值不能超过200 Mbps),您可以提交工单申请更多配额。
创建DNAT条目。
在NAT网关列表中,单击对应网关右侧操作列下的设置DNAT。
单击DNAT管理页签。
在DNAT条目列表区域,单击创建DNAT条目。
在创建DNAT条目页面,填写相关参数。
参数
说明
选择公网IP地址
选择一个可用的公网IP。
说明用于创建SNAT条目的公网IP不能再用来创建DNAT条目。
选择私网IP地址
选择通过手动输入,输入Logstash的IP地址。可在Logstash的基本信息页面获取,获取方式请参见查看实例的基本信息。
端口设置
选择DNAT映射的方式:
任意端口:该方式属于IP映射,相当于为目标Logstash实例配置了一个弹性公网IP。任何访问该公网IP的请求,都将转发到目标Logstash实例上。
具体端口:该方式属于端口映射,NAT网关会将指定协议和端口访问该公网IP的请求,转发到目标Logstash实例的指定端口上。
选择具体端口后,请根据业务需求输入公网端口(进行端口转发的外部端口)、私网端口(进行端口转发的内部端口)和协议类型(进行端口转发的协议类型)。
条目名称
输入DNAT条目的名称。
名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短横线(-)。
单击确定创建,完成创建。
创建SNAT条目。
返回NAT网关列表页面,单击对应网关右侧操作列下的设置SNAT。
单击SNAT管理页签。
在SNAT条目列表区域,单击创建SNAT条目。
在创建SNAT条目页面,单击SNAT条目粒度区域的交换机粒度,并填写相关参数。
参数
说明
选择交换机
选择Logstash所属的专有网络中的交换机。该交换机下所有ECS实例,都将通过SNAT功能进行公网访问。
选择公网IP地址
选择用来提供互联网访问的公网IP,支持选择多个公网IP,多个公网IP构建SNAT IP地址池。
当选择多个公网IP地址配置SNAT IP地址池时,请确保每个公网IP地址加入到一个共享带宽中。详细信息,请参见加入与移出共享带宽。
更多参数的详细信息,请参见创建和管理SNAT条目。
单击确定创建,完成创建。
返回Logstash控制台,通过管道配置实现公网数据传输。
详细信息,请参见通过配置文件管理管道。配置示例如下:
input { beats { port => 8000 host => "118.11.xx.xx" } } filter { } output { elasticsearch { hosts => ["http://es-cn-o40xxxxxxxxxx****.elasticsearch.aliyuncs.com:9200"] index => "logstash_test_1" password => "es_password" user => "elastic" } file_extend { path => "/ssd/1/ls-cn-v0h1kzca****/logstash/logs/debug/test" } }
假如管道配置的input为
beats
、output为elasticsearch
,其中Beats所在服务器与Logstash在同一VPC下,但Elasticsearch与Logstash不在同一VPC下,此时Logstash要将数据输出到Elasticsearch(Logstash主动访问公网),就需要先配置SNAT条目。
相关文档
最佳实践:腾讯云ES数据迁移至阿里云
如果您需要使用HTTPS,请参见使用HTTPS协议。