2013-07-16 54 views
1

我有一個配置了公有和私有子網的VPC。當通過ELB路由igw時,公共Web實例無法更新(apt-get)

我的公共實例位於ELB後面(面向互聯網)並將出站流量路由至igw。公共實例SG允許80 + 443流量入站,我的ELB將80 + 443流量轉發給它們。

有了這個設置,我可以通過ELB DNS名稱訪問公共Web實例,但是我的問題是當我不能更新它們(apt-get)或訪問網頁(wget)的實例時。

我沒有將EIP分配給公共Web實例,因爲我將盡快設置Auto-Scaling,並且我不相信它是必需的。

如果我通過NAT實例將apt-get/wget等公共web實例路由出去,但我的ELB dns名稱將停止工作。

有人可以向我解釋什麼是正確的設置應該是什麼?

回答

1

該問題在您的傳出安全規則中。我不是debian/ubuntu用戶,所以我不熟悉apt-get,但是通過yum,您可以指定爲更新而連接的服務器,找到適用於AWS的更新服務器的IP並添加它到你的80/443出局規則,你應該能夠更新。

+0

感謝凱文,它不只是更新它的所有互聯網接入wget,ping等。目前SG允許所有80 + 443。雖然公共實例使用igw它不足以讓他們直接連接到互聯網。 我現在明白,我可以讓我的web實例訪問互聯網的唯一方法是給他們一個EIP或將他們放在私有子網中並讓NAT爲他們做路由。第一個選項不適用於自動縮放,因爲它需要您手動添加EIP,但第二個選項應該可以正常工作,只要我在公有子網中具有ELB即可。 – Niall

+0

是的,這是正確的。對不起,我完全不瞭解你的配置。很高興你想出來了。 –

1

儘管公共實例使用igw,但它不足以讓他們直接連接到互聯網。我現在明白,我可以讓我的web實例訪問互聯網的唯一方法是給他們一個EIP或將他們放在私有子網中,並讓NAT爲他們做路由。第一個選項不適用於自動縮放,因爲它需要您手動添加EIP,但第二個選項應該可以正常工作,只要我在公有子網中具有ELB即可。