阿里云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條目。