Networking
AWS ec2 實例公有 IP 與私有 IP 使用差異
在快速啟動 Linux 平台的AWS ec2 實例後,我嘗試從 AWS 外部通過 ssh 客戶端(例如 PuTTY)連接到它。通過查看 ec2 配置,它具有公共 IPv地址和私有 IPv地址。順便說一句,我檢查了外部世界允許的 http 流量。
如果有人可以解釋我的以下問題,我將不勝感激,
- 我可以使用公共 IP遠端連接到此伺服器,但不能使用私有 IP,為什麼?
- 當我執行
ip addr show eth0
時,它返回私有 IP。我期待公共 IP。我查看了他們的差異,我想我確實理解 stmt 下面所說的內容:
您可以使用公共地址在您的實例和 Internet 之間進行通信。AWS 將外部 DNS 主機名解析為實例網路外部的實例公共 IP 地址,以及實例網路內的實例私有 IPv4 地址。
對於 IPv4 公共地址,AWS 對大多數新 AWS 使用者不期望的 EC2 伺服器實例做了一些事情。起初我當然被它弄糊塗了。
儘管公共 IP 地址與 EC2 伺服器相關聯,但公共地址並未在伺服器本身上配置。相反,您的 VPC 的 Internet 網關具有公共地址並執行地址轉換。EC2 伺服器在其網路配置中只有其私有 IP 地址,您可以使用
ifconfig
或查看ip addr show
。EC2 伺服器的私有 IP 地址將無法從公共 Internet 訪問,只能訪問公共 IP 地址。在您的 VPC 中,EC2 伺服器的私有 IP 將是可訪問的,如果您的私有子網有 NAT 網關,EC2 伺服器的公共 IP 也將是可訪問的。
但是您並不真正希望來自您的 VPC 內部的流量傳出到公共 Internet,只是經過一個“髮夾”轉彎返回 VPC 並到達此 EC2 伺服器。對於您的 VPC 的其餘部分通過其私有 IP 地址連接到此 EC2 伺服器,這是一種更好的配置 - 並且網路流量費用成本更低。