עודכן לפני חודש
כל קישור שאתה לוחץ עליו, כל תמונה שנטענת, כל קריאת API שהאפליקציות שלך מבצעות — כולן מתחילות באותה שאלה: "מה המספר של השם הזה?"
רשומת A עונה על השאלה הזו. היא ממפה שם דומיין כמו connected.app לכתובת IPv4 כמו 192.0.2.10. ה-"A" מייצג Address (כתובת), ורשומות אלו הן הסיבה שאתה יכול להקליד מילים בדפדפן שלך במקום לשנן מספרים.
בני אדם חושבים במשמעות. מכונות חושבות במספרים. רשומות A הן שכבת התרגום בין שתי דרכי ההתייחסות הללו לעולם.
כיצד עובדות רשומות A
כשאתה מקליד דומיין בדפדפן שלך, המכשיר שלך שואל שרתי DNS: "מה כתובת ה-IP של השם הזה?" שרת ה-DNS מחפש את רשומת ה-A ומשיב עם כתובת ה-IPv4. הדפדפן שלך מתחבר לכתובת הזו. זה קורה תוך אלפיות שנייה, בצורה שקופה, אלפי פעמים ביום.
רשומת A נראית כך:
נפרק את השדות:
- שם: הדומיין או תת-הדומיין (
example.comאוwww.example.com) - TTL: זמן חיים בשניות — כמה זמן רזולברים יכולים לשמור את התשובה במטמון
- Class:
INעבור Internet (המחלקה היחידה שתיתקל בה) - סוג:
Aעבור רשומת כתובת - ערך: כתובת ה-IPv4 בסימון נקודות עשרוני
הפשרה של TTL
TTL הוא הימור על יציבות. TTL גבוה אומר: "זה לא ישתנה — שמור במטמון." TTL נמוך אומר: "זה עשוי להשתנות — בדוק לעיתים קרובות."
TTL קצר (60-300 שניות): עבור תשתית שבתהליך שינוי. העברות, בדיקות, או כל דבר שאולי תצטרך לשנות במהירות. יותר שאילתות DNS, אך שינויים מתפשטים תוך דקות.
TTL בינוני (1-2 שעות): הסטנדרט לסביבת ייצור. מאזן ביצועים עם מהירות עדכון סבירה.
TTL ארוך (24+ שעות): עבור תשתית שנדיר שמשתנה. מטמון מקסימלי, אך שינויים לוקחים יום שלם להתפשט ברחבי העולם.
דפוס ההעברה: הוריד את ה-TTL שלך 24-48 שעות לפני שינוי IP מתוכנן. בצע את השינוי. העלה את ה-TTL ברגע שההתפשטות מסתיימת. זה ממזער את החלון שבו חלק מהמשתמשים מגיעים לכתובת הישנה בעוד שאחרים כבר מגיעים לחדשה.
תצורות נפוצות
לדומיין טיפוסי יש מספר רשומות A המצביעות על תתי-דומיינים שונים לשרתים שונים:
דומיין השורש ו-www בדרך כלל מצביעים לאותה כתובת — משתמשים מצפים ששניהם יעבדו. תתי-דומיינים אחרים מצביעים לשרתים מתמחים: מטפלי דואר, נקודות קצה של API, סביבות staging. כך דומיין אחד הופך לשירותים רבים.
DNS Round-Robin
שם יחיד יכול לכלול מספר רשומות A:
שרתי DNS מחזירים את כל הכתובות אך מסובבים את הסדר עם כל שאילתה. השאילתה הראשונה מקבלת 192.0.2.10 ראשון; השאילתה הבאה מקבלת 192.0.2.11 ראשון. התעבורה מתחלקת בין השרתים באופן אוטומטי.
אך DNS הוא חסר מצב. הוא אינו יודע אם שרת תקין. הוא לא יכול — הוא ספר טלפונים, לא רופא. Round-robin ימשיך לשלוח תעבורה לשרת שקרס עד שתסיר את הרשומה. זו אינה פגם; DNS תוכנן למפות שמות למספרים, לא לנטר תשתית. מערכות ייצור עם דרישות זמינות גבוהה משתמשות במאזני עומס ייעודיים שבאמת בודקים את תקינות השרת.
רשומות A מול רשומות AAAA
רשומות A ממפות שמות לכתובות IPv4 (32 ביט, כמו 192.0.2.10). רשומות AAAA ממפות שמות לכתובות IPv6 (128 ביט, כמו 2001:db8::1). רוב הדומיינים מגדירים את שניהם, ומאפשרים חיבורים דרך כל אחד מהפרוטוקולים. ארבעת ה-A's ב-AAAA משקפים את העובדה שכתובות IPv6 ארוכות פי ארבעה מכתובות IPv4.
מה שרשומות A אינן יכולות לעשות
רשומות A מצביעות לכתובות IP, לא לשמות דומיין אחרים. אם אתה רוצה ששם אחד יהיה כינוי לשם אחר, אתה זקוק לרשומת CNAME. ולא ניתן לשלב בין השניים — CNAME חייב להיות הרשומה היחידה עבור אותו שם (למעט רשומות DNSSEC). אילוץ זה קיים מכיוון ש-CNAME אומר "השם הזה הוא למעשה השם ההוא", ועירוב זה עם תשובות ישירות היה יוצר אי-בהירות.
רשומות A גם אינן יכולות להגיד לך אם השרת בכתובת הזו אכן פועל. זו אינה עבודתו של DNS. ניטור, בדיקות תקינות, ומעבר חירום מתרחשים בשכבות אחרות של המחסנית.
שאלות נפוצות על רשומות A
כמה זמן לוקח להתפשטות שינויים ברשומת A?
זה תלוי ב-TTL של הרשומה הישנה. אם ה-TTL שלך היה 3600 שניות (שעה אחת), רזולברים ברחבי העולם עשויים לשמור את הכתובת הישנה במטמון עד שעה לאחר ביצוע השינוי. ה-TTL הוא מקסימום, לא ערובה — חלק מהרזולברים מרעננים מוקדם יותר, חלק מכבדים אותו במדויק.
למה להשתמש ב-DNS round-robin במקום מאזן עומס?
Round-robin הוא חינמי ואינו דורש תשתית נוספת. עבור אתרים קטנים או חלוקת עומסים בסיסית, הוא עובד. אך הוא חסר בדיקות תקינות, חלוקה משוקללת, וקיבוע סשן. זו נקודת התחלה, לא יעד.
מה קורה אם רשומת ה-A שלי מצביעה לשרת שהפסיק לעבוד?
התעבורה ממשיכה לזרום לאותה כתובת עד שהרשומה תשתנה או שרשומות המטמון יפוגו. לכן ניטור חשוב — אתה צריך לזהות כשלים ולהגיב מהר יותר ממה שה-TTL שלך מאפשר לרשומות מיושנות להמשיך ולהתקיים.
האם דף זה היה מועיל?