2015-09-06 103 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名称。 –