阿里云Logstash实例部署在专有网络VPC(Virtual Private Cloud)下,如果您需要通过Logstash采集公网网络中的数据,或者将Logstash采集的数据输出到公网网络中,则需要配置NAT网关,实现专有网络下的阿里云Logstash与公网连通。本文介绍具体的配置方法。
背景信息
由于阿里云Logstash实例部署在专有网络VPC下,如果源端或目标端任意一个与阿里云Logstash不在同一VPC下(源端和目标端网络不通),会导致数据无法传输。在这种情况下,您可以使用阿里云NAT网关的DNAT条目实现公网服务向Logstash节点推送数据,SNAT条目实现Logstash访问公网,解决网络不通的问题。阿里云NAT网关是一种网络地址转换服务,更多详细信息请参见什么是NAT网关。
前提条件
您已完成以下操作:
- 创建专有网络和虚拟交换机。
具体操作,请参见搭建IPv4专有网络。
- 创建阿里云Logstash实例。
具体操作,请参见创建阿里云Logstash实例。
操作步骤
- 登录阿里云Logstash控制台。
- 进入目标实例。
- 在顶部菜单栏处,选择地域。
- 在Logstash实例中单击目标实例ID。
- 在左侧导航栏,单击网络与安全。
- 在网络配置区域,单击前往配置NAT网关。关于NAT网关的详细说明和配置流程,请参见创建和管理公网NAT网关实例。其中DNAT条目适用于公网服务向Logstash节点推送数据;SNAT条目适用于Logstash主动访问公网。
- 在NAT网关配置页面,创建NAT网关。创建NAT网关时,所选的地域和VPC ID需要与阿里云Logstash保持一致。详细创建方法,请参见步骤一:创建公网NAT网关。
- 绑定弹性公网IP。
- 创建DNAT条目。
- 创建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条目。