2015-09-06 213 views
1

我有一個devops自動化環境。 Jenkins中的每個成功構建(Web應用程序)都會觸發在AWS中創建EC2(Linux)實例,該實例將設置爲接收公共IP,並且該應用程序將在該實例上部署。我正在使用實例的公共IP調用Web應用程序。我需要掩蓋IP並通過自定義名稱調用應用程序。我在Route 53 subdomain.abc.com上創建了一個子域。我有三組網絡應用程序,並希望將它們稱爲one.subdomain.abc.com,two.subdomain.abc.com等。DevOps,DNS和公共IP

由於每次我們有不同的VM,我不確定EIP是否一個選項。 有人可以請建議一個解決方案?

非常感謝提前。

+0

你是什麼意思「我們有不同的虛擬機」? –

+0

您如何創建部署到的EC2實例? – ydaetskcoR

+0

每次構建發生時,都會啓動另一個實例。 EC2正在使用API​​調用啓動。 – ANT

回答

1

如果您只使用一個 Amazon EC2實例爲每個應用程序,然後爲每個應用程序,你可以:

  1. 創建彈性IP地址將與應用程序可以永久使用
  2. 創建A記錄Amazon Route 53指向彈性IP地址(例如app1.example.com
  3. 當啓動應用程序的新實例時,與新的實例。如果您希望從app1.example.com幾個亞馬遜EC2實例服務業務的彈性IP地址重新關聯(假設那麼你的舊實例終止)

,然後創建一個ALIAS記錄路由53指向Elastic Load Balancer並向負載均衡器註冊EC2實例。

+0

我知道無法將ELB轉發請求轉發給兩個或更多不同的網絡應用。例如,一個ELB不能將請求轉發到app1.example.com和app2.example.com(據我所知)。只是想知道是否有人遇到過任何解決方法。 – ANT

+0

Elastic Load Balancer將流量轉發給EC2服務器的集合。他們不*轉發到DNS名稱。 –