Frissítve 1 hónappal ezelőtt
אתה צריך לכוון את example.com לרשת CDN. הם נותנים לך שם מארח כמו cdn.example.net. אתה מושיט יד לרשומת CNAME — רק כדי לגלות שרשומות CNAME אינן מותרות בשיא האזור.
הפתרון הוא טריק חכם שהפך לסטנדרט בתעשייה: רשומות ALIAS ו-ANAME. ספק ה-DNS שלך פותר את שם המארח היעד, ואז משקר ללקוח — ומחזיר רשומות A כאילו הן האמת.
מדוע רשומות CNAME לא יכולות להתקיים בשיא האזור
מפרט ה-DNS (RFC 1034) אוסר רשומות CNAME בשיא האזור מכיוון שרשומות CNAME חייבות להיות הרשומה היחידה בשם נתון. אך שיאי אזורים דורשים רשומות SOA ו-NS כדי לתפקד. לא ניתן לקיים את שניהם. הסתירה אינה ניתנת לפתרון בתוך ה-DNS הסטנדרטי.
זה משנה כאשר שירותים נותנים לך שמות מארחים במקום כתובות IP. רשתות CDN, מאזני עומסים בענן, ושירותי פלטפורמה מספקים משהו כמו lb-1234.us-east-1.elb.amazonaws.com מכיוון שהתשתית שלהם משתמשת בכתובות IP דינמיות — הן משתנות לצורכי קנה מידה, התאוששות מכשלים, ופיזור גיאוגרפי.
הפתרון הידני — שאילת היעד, העתקת כתובות ה-IP לרשומות A, עדכון כשהן משתנות — סותר את כל הרעיון של תשתית מנוהלת.
כיצד ההטעיה עובדת
רשומות ALIAS ו-ANAME פותרות זאת באמצעות פתרון שמות בצד השרת:
- הלקוח שואל את
example.comלרשומת A - שרת ה-DNS שלך רואה את ה-ALIAS המצביע על
cdn.example.net - השרת מבצע שאילתה משלו עבור
cdn.example.net - השרת מחזיר את כתובות ה-IP שנפתרו כרשומות A
- הלקוח מקבל רשומות A סטנדרטיות, ללא ידיעה על העקיפה
הלקוח לעולם לא רואה CNAME. מפרטי ה-DNS נשמרים ללא הפרה. עבודת פתרון השמות מתרחשת בצד השרת, בלתי נראית ללקוחות.
יישומי ספקים
ספקים שונים מיישמים זאת תחת שמות שונים.
Cloudflare קוראת לזה "שיטוח CNAME" ומיישמת אותו אוטומטית על רשומות CNAME בשיא האזור. אתה יוצר CNAME סטנדרטי; Cloudflare מטפלת בשאר. חלק, אך הבלתי-נראות מקשה על ניפוי שגיאות.
AWS Route53 משתמש ב"רשומות ALIAS" עם שילוב עמוק ב-AWS. הן מצביעות על הפצות CloudFront, מאזני עומסים אלסטיים, ונקודות קצה של S3. שאילתות למשאבי AWS אינן נספרות כנגד המגבלות — בפועל חינמיות לניתוב פנימי.
DNSimple ואחרים משתמשים ב"רשומות ANAME" — זהות פונקציונלית, בעקבות מוסכמת שמות שהתפשטה בין ספקים.
אף אחד מאלה אינו מתוקנן. טיוטת IETF עבור ANAME (draft-ietf-dnsop-aname) פגה ללא הפיכתה ל-RFC. אלה נשארים פתרונות עקיפה קנייניים, וזו הסיבה לכך ששמות והתנהגויות משתנים בין ספקים.
הפשרות
פתרון שמות בצד השרת מכניס מורכבות שלרשומות A סטנדרטיות אין.
זמן תגובה נוסף. שרת ה-DNS שלך מבצע שאילתה נוספת לפני שהוא מגיב. מטמון עוזר, אך השאילתה הראשונה לאחר פקיעת ה-TTL נושאת את המחיר.
תלות בספק. נגישות הדומיין שלך תלויה עכשיו ביכולת ספק ה-DNS שלך לפתור את שם היעד. אם שרתי הפתרון שלהם לא יכולים להגיע לשרתי הסמכות של היעד, הדומיין שלך נכבה.
ניתוב גיאוגרפי מתקלקל. שירותים שמחזירים כתובות IP שונות לפי מיקום שרת הפתרון רואים את התשתית של ספק ה-DNS שלך, לא את המשתמש שלך. משתמש בטוקיו עשוי להיות מנותב למרכז נתונים בווירג'יניה מכיוון ששרת הפתרון של הספק נמצא בווירג'יניה.
אי-התאמת TTL. לקוחות רואים את ה-TTL של רשומת ה-ALIAS שלך, לא של היעד. נמוך מדי ואתה מכביד על שרתי ה-DNS שלך; גבוה מדי ושינויי IP מתפשטים לאט.
עקיפה נסתרת. כלים כמו dig מציגים רשומות A, מסתירים את ה-ALIAS. הרשומות הגלויות לך לא יתאימו לתצורה שלך, מה שהופך את ניפוי השגיאות למבלבל.
מתי להשתמש בהן
השתמש ברשומות ALIAS/ANAME כאשר אתה חייב לכוון שיא אזור לשירות מבוסס שם מארח — רשתות CDN, מאזני עומסים, פלטפורמות ללא כתובות IP סטטיות.
אל תשתמש בהן כאשר כתובות IP סטטיות זמינות. רשומות A סטנדרטיות פשוטות יותר, מהירות יותר, וללא תלויות נסתרות.
שקול את תבנית ה-www במקום. שימוש ב-www.example.com כדומיין הקנוני שלך מאפשר לך להשתמש ברשומות CNAME סטנדרטיות, כאשר הדומיין החשוף מפנה ל-www. זה מונע את הבעיה לחלוטין.
עבור דומיינים קריטיים, ודא שיישום הספק שלך כולל בדיקת תקינות. ללא זה, כשל בפתרון שם היעד הופך את הדומיין שלך לבלתי נגיש.
שאלות נפוצות על רשומות ALIAS ו-ANAME
האם רשומות ALIAS ו-ANAME הן חלק ממפרט ה-DNS הרשמי?
לא. הן פתרונות קנייניים שמיישמים ספקי DNS כדי לעקוף את מגבלת שיא האזור. ה-IETF ניסה לתקנן ANAME (draft-ietf-dnsop-aname), אך הטיוטה פגה. ספקים שונים משתמשים בשמות ובהתנהגויות שונים מכיוון שאין סטנדרט מאוחד.
האם רשומות אלה יועברו אם אשנה ספקי DNS?
לא אוטומטית. מאחר שמדובר בסוגי רשומות ספציפיים לספק, תצטרך ליצור אותן מחדש באמצעות כל יישום שספקך החדש מציע. הרעיון עובר; התצורה לא.
מדוע רשתות CDN לא פשוט מספקות כתובות IP סטטיות?
התשתית שלהן מסתמכת על כתובות IP דינמיות לצורכי קנה מידה, התאוששות מכשלים, ופיזור גיאוגרפי. כתובת IP סטטית תיצור נקודת כשל יחידה ותמנע קנה מידה אלסטי. הפשטת שם המארח מאפשרת להם להעביר תעבורה בשקיפות — וזו כל הנקודה בשימוש בהן.
האם אני יכול להשתמש ברשומות ALIAS עבור תת-דומיינים?
רוב הספקים מאפשרים רשומות ALIAS/ANAME בכל רמה. אך רשומות CNAME סטנדרטיות עובדות היטב לתת-דומיינים, ולכן אין סיבה להשתמש בפתרון המורכב יותר כאשר הפשוט עובד.
מקורות
Hasznos volt ez az oldal?