Table of Contents
הבנה של ריבוי רגולציה של עננים
יישומים מודרניים דורשים זמינות גלובלית ושקיפות נמוכה. פריסת ריבוי רגולציה מפיצה את התשתית שלך על פני מיקומים גיאוגרפיים מרובים, להבטיח כי כשל באזור אחד לא לוקח את השירות כולו.אדריכלות זו גם מפחיתה את זמני הסבב עבור משתמשים על ידי המשרתים אותם ממרכז הנתונים הקרוב ביותר.עם זאת, יעילות ההתקנה הזו תלויה בתצורת DNS הנכונה, DNSouting קובע כיצד תנועה לכל אזור, איזון אפשרי אפילו למנוע עלייה משמעותית של ביצועים.
כיצד DNS רוסטינג עובד ב- Multi-region Setup
DNS אינו רק ספר טלפונים המתרגם שמות דומיין לכתובות IP.ספקי DNS מודרניים מציעים מדיניות מתקדמת לבדיקת מיקום המשתמש, הגינות רשת, או בריאות נקודות הקצה שלך לפני החזרת כתובת IP. בפריסת ריבוי רגולציה, אתה מגדיר DNS כדי להחזיר כתובות IP שונות בהתבסס על מקור השאילתה.
- (FLT:0) ,Geo מבוסס routing:FreaLT:1 מחזיר כתובת IP מאזור שהוא קרוב גיאוגרפי למשתמש.זה משתמש מיפוי סטטי בין טווחי IP ואזורים.
- (FLT:0) ,להתבסס על חסימה: ⁇ 1) מודד את החוזק הרשת בין המשתמש לכל אזור, ומפנה את התנועה לאזור עם הכדאיות הנמוכה ביותר בזמן השאילתה.
- (ב) ⁇ :0Weighted routing:FLT:1 Distributes תעבורה על פני אזורים באחוז מוגדר מראש, שימושי עבור פריסות צנטריות או רולטים הדרגתיים.
- (FLT:0)Failover routing:FreaLT:1) מארגן אזור ראשוני ואזור משני אחד או יותר.אם בדיקות בריאות מצביעות על ראשיתו, DNS מחזיר אוטומטית את ה- IP של האזור השני.
לכל מדיניות יש עצירות מסחר. Geo-routing הוא פשוט וצפוי, אבל זה לא חשבון עבור עומס רשת transient. Latency routing להסתגל לתנאים בזמן אמת אבל יכול לשנות תנועה ללא משפט אם מדד latencies להשתנות. רוב מערכות הייצור משלבות מדיניות זו באמצעות ספק DNS תומך סוגים מרובים של רישום.
בחירת ספק DNS עבור Multi-region Deployments
ספק ה-DNS שלך חייב לתמוך במדיניות ההמראה שאתה מתכוון להשתמש בה.ספקי ענן מרכזיים מציעים שירותי DNS משולבים שעובדים בצורה חלקה עם המשאבים המותאמים שלהם:
- (ב) כביש 53:0) אמזון כביש 53:3 תומך בגיאו-הרוב, מבוסס על שקיפות, במשקל, וכשלול ניתוק עם בדיקות בריאות משולבות.זה משולב הדוק עם שירותי AWS, אך ניתן להשתמש בו עם כל חזרה.FLT:2 למד יותר על כביש 53 ניתוק מדיניות 3LT 3.
- (ב) ,0) Google Cloud DNS:FLT:1 מספק חסימה מבוססת על שקיפות וניתוק במשקל באמצעות ה-FLT:2DNS ניתוק מדיניות פיזור 3 (ה) הוא גם תומך בבדיקות בריאות באמצעות טעינת Balancing.
- (ב) .0.Cloudflare DNSure:FLT:1 מציע שקיפות, גיאו-רובינג, ועומס באמצעות שירות התנועה שלה.רשת ה- World Anycast של Cloudflare מסייעת למזער את השקיפות של החלטת DNS.
בעת בחירת ספק, לשקול גמישות TTL, בריאות לבדוק גרניטריות, זמינות API עבור אוטומציה, ותמחור עבור כמויות גדולות של שאילתה.עבור חברות שכבר פועל בענן אחד, באמצעות ה- DNS של הענן הזה מקטין מורכבות. אחרים מעדיפים ספק DNS ייעודי כמו Cloudflare או DNS עשה קל עבור ניטרליות הספק.
שלב-על-ידי-Step Configuration of DNS for Multi-region Deployments
1.התשתית האזורית
לפני נגיעה ב-DNS, ודא שלכל אזור יש סביבה פונקציונלית מלאה.זה כולל מקרים מותאמים, מסדי נתונים, שכבות צ'יגה ומאזןי עומס.כל אזור צריך להיות מבוסס על עצמו ומסוגל לטפל התנועה באופן עצמאי.תרשם כתובות IP ציבוריות או שמות DNS של יתרת העומס האזורי שלך.אלה יהיו המטרות של רשומות ה-DNS שלך.
2. צור בדיקות בריאות
בדיקות בריאות חיוניות עבור החלטות אוטומטיות של כשל ותיקון ספק ה- DNS שלך כדי לבדוק מעת לעת את נקודת הקצה של כל אזור.הבדיקה צריכה לבדוק כי היישום מגיב נכון, לא רק כי השרת חי.לדוגמה, לבדוק קוד סטטוס HTTP מסוים או גוף התגובה.קבע מרווחי זמן מתאימים (למשל 10 שניות) וסף (למשל, 2 כישלונות לא בריאים) על גבי מסלול 1LTF).
מדיניות: Conformation Routing
- (FLT:0) עבור גיאוגרפי-הרובינג: 1FLT) יצירת תיעוד DNS יחיד עם ערכים מרובים, כל אחד הקשור למיקום גיאוגרפי (למשל, צפון אמריקה, אירופה, אסיה, מפת כל מקום ל- IP של האזור הקרוב ביותר.
- (FLT:0) עבור חסימה מבוססת שקיפות: ההרחבה 1 (FLT:1) צור תיעוד שנקבע עם כניסה אחת לאזור.ספק ה- DNS מודד באופן אוטומטי את הלכידות של כל אחד מהמשתמשים בכל אזור ומחזיר את המהירות ביותר.זה דורש לא מיפוי ידני, אבל להיות מודע לכך שמדידות לב נעשות מהפתר, לא מהמכשיר של המשתמש הקצה - ההבדל הוא בדרך כלל לא זניח.
- (FLT:0) עבור Failoverofph 1 (הרשמית:0) עבור ccervetoverFLT:1) ליצור שיא ראשוני ושיא משני.com , עיין בריאות המצורף אל ראשוני.כאשר בדיקת הבריאות נכשלת העיקרית, DNS מחזיר את המשניים.You יכול לשרשרת רמות מרובות של כשל (primary, משני, tertiary) עם כמה ספקים.
4.קביעת ערכי TTL
זמן-לח (TTL) שולט כמה תשובות זמן DNS פותרים cacher. קצר TTLs (30-60 שניות) מאפשרות כשלון מהיר, אך להגדיל את נפח השאילתה של DNS. Long TTLs (300-900 שניות) להפחית את העומס של לוחצים, אך יכול להאריך את הזמן שמשתמשים מכוונים לאזור כושל. גישה מאוזנת היא להשתמש 60 שניות עבור בדיקות בריאות ו-300 שניות עבור רשומות גאות, אקסטסטנטיות, חשוף-מישומייך בתוך נפח פתוח יותר.
מבחן רוסינג ממגוון מקומות
השתמש בכלים בדיקת DNS גלובליים כגון FLT:0 NS CheckerpherFLT ( 1 או ניטור סינתטי מבוסס ענן (למשל, מסלול 53 של AWS, Google Cloud Monitoring) כדי לאמת כי משתמשים מיבשות שונות מקבלים את כתובות ה- IP הצפויות.בנוסף, סימולציה של כשל על ידי פירוק זמני של נקודת קצה בדיקת בריאות באזור.
Best Practices for DNS in Multi-region Deployments
השתמש בספק DNS יחיד עבור Simplicity
בעוד שניתן להשתמש בספקי DNS מרובים עבור ריצוף, ניהול מדיניות ניתוק על פני מערכות שונות מגביר את המורכבות.רוב הארגונים בוחרים ספק ראשוני אחד ולהשתמש ב- DNS משני (פסיבי) עם אותם ערכים שיא עבור ריצוף בשכבת ה- DNS עצמו. ודא כי כל הספקים מוגדרים זהה לגבי מדיניות ניתוק, או שאתה סיכון להתנהגות לא עקבית.
עקבו אחרי Global Traffic Management
אם ספק ה- DNS שלך תומך ב- Anycast (למשל, Cloudflare, כביש AWS 53 עם רשת ה- Anycast שלה), שאילתות DNS מוצמדות באופן אוטומטי לשרת DNS הקרוב ביותר, צמצום השקיפות של פתרון.זה חשוב במיוחד עבור ניתוק מבוסס על שקיפות מכיוון שהוא מבטיח ששאילתת ה- DNS עצמה היא מהירה.ספקי ענן רבים כבר משתמשים בכלק ברמת ה-DNS, כך שתקבל את היתרון הזה כברירת מחדל.
בדיקת בריאות עבור כל אזור
אל תסמכו רק על בדיקות סטטיות לבריאות להבטיח שמשתמשים לעולם לא מכוונים לאזור שהוא מוזנח חלקית או לגמרי למטה. בדיקות קוהנדסיות שמחקות התנהגות משתמשים אמיתית - לבדוק את ערימות היישום המלא, כולל מסדי נתונים ו API חיצוניים.קבעו כישלונות רצופים מספיק כדי להימנע מ- tapping (למשל, 3 כישלונות) אבל נמוך מספיק כדי להיכשל במהירות (תוך 30 שניות).
תוכנית לOverload
כאשר אזור אחד נכשל, כל התנועה עשויה להשתנות לאזורים הנותרים.להבטיח לאזורים אלה יש חדר ראש - בדרך כלל 50% או יותר יכולת לחסוך - לספוג את ה-DNS לבד לא יכול לשפוך עומס אם שני האזורים מוצפת.שלב DNS עם הגבלת קצב הפלסמה ברמת היישום וקצב אוטומטי כדי לשמור על היענות.
מסמך ותיקון אוטומטי
ניהול DNS באופן ידני על פני אזורים מרובים הוא שגיאה-prone.אח את התצורה של DNS שלך בכלי תשתית-קוד כמו Terraform, AWS CloudFormation או Pulumi.זה מאפשר שליטה בגירסה, ביקורת עמיתים ופריסה אוטומטית.לדוגמה, תצורה של Terraform יכול להגדיר בדיקות בריאות, מדיניות ניתוק, וערכי TTL בקוד מפוארטיבי.
שיקולים ברשת ואבטחה
תצורת DNS אינה פועלת ביחידות.כללי חומת האש, SSL / TLS תעודות, והגדרות איזון העומס חייבות להתאים את מדיניות ההסתה שלך.לוודא שכל מאזן עומס אזורי מקבל תנועה מכל מקור IP, לא רק ה-DNS הצפוי IPs. השתמש ב- HTTPS בכל מקום ולפרוס תעודות פרועות או ניהול תעודה אוטומטית (למשל, בואו מוצפן) בכל האזורים.אם אתה משתמש ב-Crefrefreme-re-remet כדי להגביל את ה-remereamsamsams כדי לאמת את ה-reamsamsamsamsamsamsamsamsamsams, לא רק כדי לאמת את ה-remed כדי לאמת את ה-remetreited כדי לאמת את ה-remetial של הודעות ה-rems אלה.
בנוסף, לאבטח את אזור ה-DNS שלך נגד חטיפת ההרחבה של DNSSEC (Domain Name System Security Extensions) אם הספק שלך תומך בו.זה מונע מתוקפים להתחנף עם תשובות ה- DNS שלך ופניית משתמשים ל- IP זדוניים.
מעקב ושקיפות
ברגע ש-DNS הרב-region שלך חי, ניטור הוא קריטי.עקוב אחר המדדים האלה:
- (FLT:0)DNS שאילתת משנה לאזור: FLT:1 Spikes עשוי להצביע על מדיניות שיבוש של עיוות או ניסיון של DDoS.
- (ב) עיין ב-Ul:0) , ראה את שיעור המעבר/הקצבה: ראה: 1FreaLT: 1 (ב) על כישלונות מתמידים שמצמצמציקים איכות.
- (FLT:0) תדירות ממיקומים משתמשים לכל אזור: ההרחבה 1 (RUM) להשתמש ב- Real User Monitoring (RUM) כדי לוודא כי הקידוד DNS למעשה מספק שקיפות נמוכה.אם משתמש באירופה מקביל באופן עקבי לאסיה, המדידות הגיאוגרפיות או הלגנטיות שלך עשויות להיות שגויות.
- (ב) מאורעות:0 (FLT:103) , לוגיה בכל פעם שאזור נלקח מתוך סיבוב.אנליז אם הכשלונו נגרם על ידי פיגור אמיתי או על ידי חיובי כוזב.
הגדר התראה עבור אנומליות.לדוגמה, אם כל בדיקות הבריאות באזור נכשל בו זמנית, לגרום לאירוע.אם חדירת מחדל DNS עולה מעבר לסף, לחקור ביצועים של ספקית או בעיות ספקית במעלה הזרם. integrate DNS metrics לתוך ערימה של חוסר הכדאיות הקיימת שלך (למשל, Datadog, Grafana) עבור תצוגה מאוחדת.
בדיקות ואימות
בדיקות טרום-ייצור
לפני גלגול הייצור, לדמות תנועה רב-אזורית בסביבה מלחיצה כי תצורה ה-DNS שלך. השתמש בכלים כמו FLT:0 עם IPs מותאמות אישית כדי לבדוק את ה-CDC-ruting ממיקומים שונים.תסריט נכשל: אי איזון אחד של אזור אחד, ולאחר מכן שאלך DNS שוב ושוב להתבונן את הזמן הנדרש כדי להחזיר את הזמן הזה עם מרווחי זמן אלה עם מרווחי זמן + TL בריאות.
הפקה: Chaos Engineering
באופן הדרגתי מציגים פגמים בייצור שיטות הנדסה של כאוס.לדוגמה, להתחיל על ידי הפניית 1% של תנועה מאזור באמצעות חסימה במשקל, ולאחר מכן להגדיל 10% כדי למדוד את ההשפעה על אזורי הגיבוי. Run GameDays שבו אתה מציין באופן מכוון בדיקת בריאות כמו לא בריא ולבחון את ה-DNS נכשל. לתעד את ההתנהגות המדויקת - כולל כל זמן או שגיאות מנוסים על ידי משתמשים - ופתרון בעיות במהלך הניסוי.
מלכודות נפוצות וכיצד להימנע מהם
- (FLT:0) אבחון עיכובים של הפצת DNS: ההרחבה 1 (FLT:1) גם עם TTLs קצרים, חלק מהפתירים מתעלמים מ- TTL ומטמון למשך זמן רב יותר.תמיד לצפות חלון 5-10 דקות שבו התנועה עדיין עלולה לפגוע באזור כושל.שלב DNS עם לוגיקה של לקוח בצד השני של היישום שלך.
- (FLT:0Mismatching DNS מדיניות וקיבולת אחורית: ההרחבה: 1) השימוש בעקביות ללא ניהול יכולת יכול לרסן אזור זה קורה להיות המהיר ביותר עבור משתמשים רבים.
- (FLT:0) ,Neglecting תשובות מכווצות: משתמשים מאחורי פרוקסיזציות תאגידיות או מובילי מובייל עשויים להיות בעלי צמידים DNS ארוכים מאוד.חשב לשלוח הפניות HTTP (301/302) ברמת היישום אם משתמש נוחת על אזור תת-אופטימי - זה פועל כמו רשת בטיחות עבור DNS stale.
- (FLT:0) ראה הרשאות IAM:FLT:1 ודא כי חשבונות השירות המשמש לניהול DNS יש לפחות פריבילגיה.מדיניות IAM לא מוגדרת כראוי יכול למנוע עדכונים אוטומטיים לבדיקת בריאות במהלך אירוע.
- (FLT:0) ללא בדיקות של יכולת אזורית משנית: FLT:1 להיכשלover הוא חסר ערך אם אזור הגיבוי אינו יכול להתמודד עם עומס התנועה המלא.
מסקנה
קביעת DNS עבור פריסת ענן רב-אזורית היא צעד בסיסי לקראת בניית יישום אטרקטיבי בעולם. על ידי בחירת ספק DNS מסוגל, יישום מדיניות ניתוק נאותה, תצורת בדיקות בריאות קפדניות, ודבקות בפרקטיקה הטובה ביותר סביב TTL, אוטומציה, ניטור, אתה יכול להבטיח שמשתמשים תואמים באופן עקבי לאזור הזמין ביותר.זכור DNS הוא לא דורש תשומת לב סטטית כמו תקן שלך, כמו גם DevOps.