我们在AWS VPC上有几台服务器,但都有一个公共'通过DNS面对,使用Route53处理。问题是,当一台服务器通过DNS查找另一台服务器的地址时,如果该条目是“A'记录,它获取公共IP,而不是AWS'私人' IP和传输通过外部网络地址进行。
另一方面,如果我将域配置为指向AWS公共DNS名称的CNAME,如下所示:
CNAME super.domain.com ec2-1-2-3-4.compute-1.amazonaws.com
然后从'外面查找' VPC获取真正的外部IP地址,并从内部查找'获取本地10.x.x.x
地址。这正是我想要的。现在问题是这些服务器需要发送邮件,而且几乎所有人(mailgun,mandrill等)都需要SPF和DKIM记录。但是您无法将这些TXT记录与CNAME混合。
我知道我可以在服务器上使用/etc/hosts
文件来抢占DNS查询并使用A记录,但是有14台服务器正在增长,每次重启其中一台服务器时,我都会这样做。 d必须更新所有主机文件 - 似乎是搞砸事情的秘诀。
我的问题是:有没有办法设置AWS Route53,以便我可以利用亚马逊公共DNS名称的自动内部/外部解析,仍然提供有效的SPF和DKIM记录?我确实在AWS论坛上问了这个问题,但没有得到任何帮助......
Mailgun可能是最接近的,因为您可以使用SPK / DKIM记录的子域(例如mg.super.domain.com
),然后它不会与CNAME记录发生冲突。但是你遇到this问题,其解决方案似乎是A记录,而且当实例IP地址发生变化时,我又要回到必须维护很多记录了!