jar*_*vis 6 domain-name-system amazon-ec2 amazon-web-services
我们有一个在亚马逊上运行的 EC2。它有一个公共 IP和公共 DNS。
我们通过为 www.example.com 创建 A 记录在我们的域记录中使用公共 IP。然后该站点变得可访问。如果我们使用公共 DNS,我们将使用 CNAME 而不是 A 记录。
我的问题是关于两者的技术性和功能性。一个比另一个有优势吗?
在许多情况下,没有理由使用 CNAME。您有一个公共 IP 地址,因此将 A 记录指向您的 IP 地址,以避免 CNAME 需要进行第二次查找。此外,对于example.com(no www),当直接指向不使用 Elastic Load Balancer (ELB) 或 CloudFront 作为前端的 EC2 实例时,A 记录是您唯一的选择。
例外:
对于域内的主机名,例如www,如果您希望 AWS 账户中(和同一区域中)的实例能够使用外部主机名但使用内部 IP 地址访问实例,则使用 CNAME 会很有用。当您使用 CNAME 时,EC2 基础架构会自动执行此操作。
例如:
www.example.com CNAME ec2-203-0-113-25.compute-1.amazonaws.com.
Run Code Online (Sandbox Code Playgroud)
如果在您的 EC2 区域和账户之外查询,www.example.com 将返回实例的公共 IP,203.0.113.25。
如果在您的 EC2 区域和账户中查询,www.example.com 将返回实例的私有 IP 地址,例如 172.31.1.20。
我们将外部 DNS 主机名解析为实例网络外部的实例公共 IP 地址,以及实例网络内部的实例私有 IP 地址。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
当内部机器使用公共主机名访问其他内部机器时,这种自动映射允许您节省数据传输费用。如果该访问使用公共 IP、弹性 IP 或 NAT 网关,您将支付额外的费用来发送和再次发送流量,这可以避免这种情况。
| 归档时间: |
|
| 查看次数: |
2426 次 |
| 最近记录: |