我有一个Elastic IP指向一个经典的EC2实例好几年了。 我现在已经注意到了一个新的实例 – 在一个VPC里面 – 并且想把这个实例用于我的网站。 因此,我想将我的“旧”弹性IP指向新的实例。 显然这是不可能的。
我需要保留我的网站的原始IP地址。 是否有另一种方式来在VPC中使用实例,并指出原来的弹性IP?
这是不可能的(甚至对于AWS支持afaik)使用不适用于VPC实例的VPC的弹性IP。 所以你被困在这里 – 做这种事情的唯一可能的方式不是依靠一个固定的IP地址(如果你尝试使用ELB或多个实例,你将会遇到同样的问题)。
您的客户不应该指向IP地址,但他们应该使用CNAMElogging和您为其提供的给定子域。 使用该体系结构,您可以将具有所有子域的整个域迁移到新的IP地址(如果需要),并且CNAMElogging在客户端没有任何变化(因为它们指向的子域具有新的IP地址) 。
现在唯一的解决scheme是发送一封电子邮件给所有使用其DNSlogging中的IP的客户,将其更改为CNAME,在将所有客户迁移到CNAME之后,您可以切换到新的弹性IP并更改您自己的DNSlogging。
更新:正如下面指出,现在可以将弹性IP从“经典”移动到“VPC” – 你可以在这里find细节: http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic -ip-地址,eip.html#使用-EIP-迁移
我不知道在VPC上获得相同的IP地址的方法。 我认为这是一个政策问题。
我会改变你的文档和DNSlogging使用新的IP地址,并设置一个networking服务器做301redirect。 在内容服务networking服务器上,您可能需要为每个用户的网站别名临时域。 在redirect的Web服务器上,您将使用临时子域redirect到服务的Web服务器。 例如:如果用户请求http://mysite.example.com/index.html ,则可以redirect到http://mysite.temporarydomain.example.com/index.html 。 捕获使用redirect服务器的所有用户的日志,并向其发送消息,以将其dnslogging更新为新的IP。
这实际上是可能的。 但是,如果没有短暂的中断,就无法实现这一目标。
如果您从您的实例中分离了您的弹性IP,则可以将弹性IP移动到VPC范围:
这可能需要几分钟的时间才能过渡,看起来它已经消失了一会儿(细节在这里 )。 一旦移动完毕,就可以将其分配给VPC中的实例。