2017-07-17 74 views
3

我有一個配置爲具有IPV4 IP地址的負載均衡器。但是,提供的IP是格式爲* .ap-south-1.elb.amazonaws.com的負載均衡器的DNS映射IP地址。將公共靜態ipv4地址添加到AWS負載平衡器

我需要配置IOT設備將數據發送到負載均衡器,並且它們不支持DNS。我如何分配一個靜態IP地址,如到我的負載平衡器,以便我可以配置我的IOT設備發送數據給它。

彈性IP部分不提供將其分配給負載平衡器的功能,並且僅支持ec2實例。

結論:

我已經找到一種方法來使用DNS我的IOT設備和這方面的工作是至關重要的。我現在知道在EC2實例上手動託管負載平衡器的選項。一個簡單的替代方案是將一個彈性的IP地址EC2實例的所有請求轉發給負載均衡器。但是,這會在透明代理上造成瓶頸。因此,我認爲在IOT設備上使用DNS功能是最佳選擇。

+1

ELB是一種託管服務,它依靠DNS並且不能配置靜態IP。考慮使用諸如在EC2上運行的HAProxy和彈性IP。 – jarmod

+0

這是一個合適的解決方案,手動管理? –

回答

4

彈性負載平衡器不支持靜態IP地址。它們只支持DNS CNAME(如果使用Route 53,則爲別名)。這是因爲ELB DNS條目將解析爲不同的IP地址,具體取決於它在可用區之間如何縮放。另外,隨着時間的推移,IP地址將會/可能會改變。

AWS文檔還特別聲明僅在將自定義DNS條目映射到ELB時創建CNAME記錄。如果您使用的是Route 53,則可以創建一個別名記錄,該記錄看起來像外部世界的A記錄。

如果你需要一個靜態IP地址,那麼你不能使用ELB。

相反,您需要使用彈性IP地址在EC2實例上管理自己的負載均衡器(HAProxy,nginx等)。

+0

如果我創建一個EC2實例將請求轉發到我的負載均衡器,該怎麼辦? –

+0

你可以做到這一點。但是就像使用HAProxy或nginx一樣,您需要管理代理上的負載,因爲所有請求都將通過單個實例。與您的ELB的可用容量相比,您的單個EC2實例可能會成爲瓶頸。 –

+0

我明白了,你能想出更好的選擇嗎? –

1

使用彈性負載均衡器不能分配靜態IP。您只需使用DNS名稱。

我知道這樣做的唯一方法是在VPC中設置您的實例並擁有專用的NAT實例,通過這些實例可以路由所有出站流量。

下面是AWS的文檔的鏈接瞭解如何設置NAT實例:

http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html

+0

NAT實例(和NAT網關)用於**出站**流量,而不是入站。 –

1

AWS彈性負載均衡不會由於諸多原因支持分配靜態IP地址。

看着你的問題,你面臨的問題是有大量的數據源將數據抽到AWS。我建議您使用AWS Kinesis Firehose服務,而不是目前的方法,因爲Firehose專注於將數據流式傳輸到AWS。