เราสามารถมี CNAMES หลายอันสำหรับชื่อเดียวได้ไหม?


43

ฉันต้องการสิ่งนี้สำหรับการทำโหลดบาลานซ์ ตัวอย่างเช่นผมได้สองบัญชีการจัดเก็บสีฟ้า (พูดaและb) และหยดสำหรับผู้ที่มีและa.blob.core.windows.net b.blob.core.windows.netทั้งคู่เก็บข้อมูลที่เหมือนกัน ตอนนี้ฉันต้องให้ชื่อภายนอกเดียว (พูดexample.com) ซึ่งชี้ไปที่บัญชีจัดเก็บข้อมูลและควรทำงานในรอบโรบิน สามารถทำได้หากฉันสร้างรายการ CNAME สองรายการใน DNS ดังต่อไปนี้และจะแก้ไขหนึ่งในรายการเหล่านั้นในรอบ robing

  1. example.com CNAME a.blob.core.windows.net
  2. example.com CNAME b.blob.core.windows.net

แต่ฉันไม่สามารถสร้างระเบียน CNAME สองรายการสำหรับชื่อเดียวในเซิร์ฟเวอร์ Windows DNS

เป็นไปได้ไหม?


ฉันไม่สามารถตรวจสอบได้ แต่ฉันไม่คิดว่าคุณสามารถทำสิ่งนี้กับ CNAMES ลองบันทึก A แทน
ด่าน

1
@ แดนปัญหาคือบริการที่ไม่มี IP คงที่เช่น AWS Elastic Load Balancer ให้core.windows.netฉันสงสัยว่าสถานการณ์ที่คล้ายกันในสีฟ้าหรือบางสิ่งบางอย่าง
ceejayoz

แต่ด้วยระเบียน A ฉันต้องระบุที่อยู่ IP ใช่ไหม ฉันชอบชื่อ DNS กับที่อยู่ IP
Raghuram Murthy P

ทำไมคุณต้องการทำเช่นนั้น? พื้นที่เก็บข้อมูลสีน้ำเงิน azure ได้รับการตั้งค่าสำหรับความพร้อมใช้งานสูงและความซ้ำซ้อนทางภูมิศาสตร์แล้ว
JTKH

@JTKH นั้นเป็นเพราะ blob มีขีด จำกัด การดาวน์โหลดที่ 65MB / วินาทีหรือมากกว่านั้นและถ้าฉันต้องการขีด จำกัด การดาวน์โหลดเพิ่มเติมฉันคิดว่าจะใช้มากกว่าหนึ่ง blob
Raghuram Murthy P

คำตอบ:


58

ระเบียน CNAME หลายรายการสำหรับชื่อโดเมนแบบเต็มเหมือนกันเป็นการละเมิดข้อกำหนดสำหรับ DNS BIND บางเวอร์ชันจะอนุญาตให้คุณทำสิ่งนี้ (บางตัวก็ต่อเมื่อคุณระบุmultiple-cnames yesตัวเลือก) และจะทำการโหลดบาลานซ์แบบวนรอบระหว่างนั้น แต่จะไม่ถูกกฎหมายทางเทคนิค

ไม่ควรจะเป็นระเบียนทรัพยากร (RR) ที่มีชื่อเดียวกันกับ CNAME และเพื่อเลือก nits ซึ่งจะรวมถึง CNAME ที่เหมือนกันหลายรายการ Quoth RFC 1034, ส่วน 3.6.2:

หาก CNAME RR มีอยู่ที่โหนดไม่ควรมีข้อมูลอื่น สิ่งนี้ทำให้มั่นใจได้ว่าข้อมูลสำหรับชื่อที่เป็นที่ยอมรับและชื่อแทนไม่สามารถแตกต่างกันได้ กฎนี้ยังมั่นใจได้ว่า CNAME ที่แคชสามารถใช้งานได้โดยไม่ต้องตรวจสอบกับเซิร์ฟเวอร์ที่เชื่อถือได้สำหรับประเภท RR อื่น ๆ

วิธีการตัวอักษรของ RFC เพื่อจัดการสิ่งที่คุณกำลังทำอยู่กับ CNAME เดียวที่อ้างถึงบันทึก "A" ที่มีความสมดุลของโหลด


ดูdocstore.mik.ua/orelly/networking_2ndEd/dns/…สำหรับรายละเอียดเพิ่มเติม
พุธที่

11

คุณไม่สามารถ. CNAME สร้างชื่อหนึ่งชื่อให้อีกชื่อหนึ่ง หากบันทึกสามารถมี CNAMES สำหรับสองชื่อมันจะไม่เป็นชื่ออื่นสำหรับทั้งสองชื่อ แต่เป็นชื่อสำหรับสิ่งใหม่ทั้งหมดทำให้รายการ CNAME ไม่เหมาะสม

อาจเป็นวิธีที่ดีในการแก้ปัญหาภายนอกของคุณ ตัวอย่างเช่นคุณสามารถมีหลายระเบียน A


ฉันสามารถมี CName หนึ่งรายการและหนึ่งระเบียน A สำหรับเว็บไซต์พร้อมกันได้หรือไม่
amesh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.