AWS,负载均衡器,双栈在dns中是什么意思?

问题描述

Load Balancer的DNS名称from sqlalchemy import create_engine,Column,Integer,ForeignKey from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker,relationship Base = declarative_base() class Artist(Base): __tablename__ = "artist" id = Column(Integer,primary_key=True) songs = relationship("Song",cascade="all,delete",passive_deletes=True) class Song(Base): __tablename__ = "song" id = Column(Integer,primary_key=True) artist_id = Column(Integer,ForeignKey("artist.id",ondelete="cascade")) if __name__ == "__main__": uri = "sqlite:///:memory:" engine = create_engine(uri) Base.Metadata.create_all(engine) Session = sessionmaker(bind=engine) session = Session() artist = Artist() session.add(artist) session.commit() session.add(Song(artist_id=artist.id)) session.commit() session.delete(artist) session.commit() print("After delete,artist = {0}".format(session.query(Artist).count())) print("After delete song = {0}".format(session.query(Song).count()))

,当我们在route53中分配它们时,它的前面有example-web-3333333.ap-northeast-2.elb.amazonaws.com,因此 dualstack

我正在尝试为静态文件设置cdn(cloudflare),以便当用户点击dualstack.example-web-3333333.ap-northeast-2.elb.amazonaws.com(其域由cloudflare维护)时,dns应该是 static.example.com

在这种情况下我也应该包括example-web-3333333.ap-northeast-2.elb.amazonaws.com吗?

解决方法

AWS中的双栈DNS名称意味着它将同时通过IPv4和IPv4进行解析。

如果将双栈域用作CNAME的值,则应使客户端能够使用IPv6和IPv4连接到您的域。

在任何一种情况下,控制台都将使用双堆栈。 DNS名称。当客户端(例如Web浏览器)请求您的域名(example.com)或子域名(www.example.com)的IP地址时,客户端可以请求IPv4地址(A记录),IPv6地址(AAAA记录)或IPv4和IPv6地址(在单独的请求中)。双栈。通过指定,Route 53可以根据客户端请求的IP地址格式为负载均衡器使用适当的IP地址进行响应。

要获取别名记录的参考,您需要对IPv4使用A记录,对IPv6使用AAAA记录。