阿里雲Logstash執行個體部署在Virtual Private Cloud(Virtual Private Cloud)下,如果您需要通過Logstash採集公網網路中的資料,或者將Logstash採集的資料輸出到公網網路中,則需要配置NAT Gateway,實現專用網路下的阿里雲Logstash與公網連通。本文介紹具體的配置方法。
背景資訊
由於阿里雲Logstash執行個體部署在Virtual Private Cloud下,如果源端或目標端任意一個與阿里雲Logstash不在同一VPC下(源端和目標端網路不通),會導致資料無法傳輸。在這種情況下,您可以使用阿里雲NAT Gateway的DNAT條目實現公網服務向Logstash節點推送資料,SNAT條目實現Logstash訪問公網,解決網路不通的問題。阿里雲NAT Gateway是一種網路位址轉譯服務,更多詳細資料請參見什麼是NAT Gateway。
前提條件
- 建立專用網路和虛擬交換器。
具體操作,請參見搭建IPv4專用網路。
- 建立阿里雲Logstash執行個體。
具體操作,請參見建立阿里雲Logstash執行個體。
操作步驟
- 進入Elasticsearch控制台的Logstash頁面。
- 進入目標執行個體。
- 在頂部功能表列處,選擇地區。
- 在Logstash執行個體中單擊目標執行個體ID。
- 在左側導覽列,單擊網路與安全。
- 在網路設定地區,單擊前往配置NAT Gateway。關於NAT Gateway的詳細說明和配置流程,請參見建立和管理公網NAT Gateway執行個體。其中DNAT條目適用於公網服務向Logstash節點推送資料;SNAT條目適用於Logstash主動訪問公網。
- 在NAT Gateway配置頁面,建立NAT Gateway。建立NAT Gateway時,所選的地區和VPC ID需要與阿里雲Logstash保持一致。詳細建立方法,請參見步驟一:建立公網NAT Gateway。
- 綁定Elastic IP Address。
- 在NAT Gateway列表右側操作列下,選擇 。
- 在綁定Elastic IP Address頁面,選擇從已有Elastic IP Address中選擇。如果還沒有EIP,可選擇新購Elastic IP Address並綁定,按照頁面提示完成綁定。
- 選擇可用的EIP,單擊確定。重要 一個NAT Gateway最多可綁定20個EIP(最多可綁定10個按流量計費的EIP,每個按流量計費的EIP的最大峰值不能超過200 Mbps),您可以提交工單申請更多配額。
- 建立DNAT條目。
- 在NAT Gateway列表中,單擊對應網關右側操作列下的設定DNAT。
- 單擊DNAT管理頁簽。
- 在DNAT條目列表地區,單擊建立DNAT條目。
- 在建立DNAT條目頁面,填寫相關參數。
參數 說明 選擇公網IP地址 選擇一個可用的公網IP。 說明 用於建立SNAT條目的公網IP不能再用來建立DNAT條目。選擇私網IP地址 選擇通過手動輸入,輸入Logstash的IP地址。可在Logstash的基本資料頁面擷取,擷取方式請參見查看執行個體的基本資料。 連接埠設定 選擇DNAT映射的方式: - 任意連接埠:該方式屬於IP映射,相當於為目標Logstash執行個體配置了一個Elastic IP Address。任何訪問該公網IP的請求,都將轉寄到目標Logstash執行個體上。
- 具體連接埠:該方式屬於連接埠映射,NAT Gateway會將指定協議和連接埠訪問該公網IP的請求,轉寄到目標Logstash執行個體的指定連接埠上。
選擇具體連接埠後,請根據業務需求輸入公網連接埠(進行連接埠轉寄的外部連接埠)、私網連接埠(進行連接埠轉寄的內部連接埠)和協議類型(進行連接埠轉寄的協議類型)。
條目名稱 輸入DNAT條目的名稱。 名稱長度為2~128個字元,以大小寫字母或中文開頭, 可包含數字、底線(_)和虛線(-)。
- 單擊確定建立,完成建立。
- 建立SNAT條目。
- 返回NAT Gateway列表頁面,單擊對應網關右側操作列下的設定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條目。