מדריך הגירה ו-failover ל-DNS של Amazon Route 53

העברת דומיין ל-Amazon Route 53 הופכת פעמים רבות לכאוס בגלל אלפי רשומות ודרישות זמינות גבוהה. אנחנו לוקחים על עצמנו את כל המחזור: הגירת DNS, הגדרת geo-routing ו-failover, ואוטומציה באמצעות Terraform. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד תמיכה שוטפת—ומבטיח יציבות וסקלביליות של התשתית שלך.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

מדריך זה מכסה ניהול DNS של AWS, הגדרת Route 53, רשומות Alias, בדיקות בריאות, מדיניות ניתוב, הגירת DNS ל-AWS, אוטומציה עם Terraform, hosted zones, failover, ניתוב גיאוגרפי ו-hosted zones פרטיים. בעת הגירת דומיין משרתי NS של DigitalOcean ל-Route 53, נתקלנו במצב: 5000+ רשומות, חלקן עם TTL 86400, שירותים תלויים גיאוגרפית, ודרישה לאפס זמן השבתה. ה-DNS הסטנדרטי לא יכול היה להתמודד עם זה. היינו צריכים לפרוס ניתוב גיאוגרפי בין אזורי AWS, להגדיר failover עבור נקודות קצה ראשיות/משניות, ולבצע אוטומציה של הכל באמצעות Terraform. הנה איך לעשות זאת נכון והמלכודות הנפוצות בעת הגדרת DNS עם AWS.

איך להאציל hosted zone בצורה נכונה?

השלב הראשון הוא יצירת hosted zone של AWS והאצלה נכונה. Amazon Route 53 מספקת ארבעה שרתי NS מאזורי זמינות שונים — יש לציין את כל הארבעה אצל הרשם. טעות אופיינית היא ציון רק אחד או שניים, מה שמוביל לפתרון לא יציב באזורים מסוימים. עבור hosted zones פרטיים של AWS, חשוב להגדיר VPC Association בצורה נכונה. ניתן לשייך zone אחד למספר VPCs, כולל האצלת DNS בין חשבונות. עלות hosted zone היא $0.50 לחודש לכל zone. עבור פרויקט טיפוסי עם 5 hosted zones, העלות החודשית היא כ-$2.50.

מה היתרונות של רשומות Alias על פני CNAME?

ב-Route 53, רשומת Alias היא מנגנון מקורי שנפתר ברמת התשתית ללא חיפוש DNS נוסף. זה הופך אותה למהירה פי 2-5 מ-CNAME מסורתי. ניתן למקם Alias ב-domain apex (example.com), דבר ש-CNAME אוסר לפי RFC. יעדים נתמכים: ALB, NLB, CloudFront, אתר סטטי ב-S3, API Gateway, Elastic Beanstalk, רשומות אחרות של Route 53. רשומות Alias למשאבי AWS אינן מחויבות עבור שאילתות DNS. ב-10 מיליון שאילתות בחודש, זה חוסך כ-$400 — בפועל, מעבר ל-Alias מפחית את עלויות ה-DNS ב-30-50%. בנוסף, רשומות Alias משפרות את זמני התגובה לשאילתות ב-50% בממוצע.

מדריך לבחירת מדיניות ניתוב

מדיניות מתאימה ל תכונה מיוחדת
פשוטה יעד יחיד ללא בדיקות בריאות
משוקללת בדיקות A/B, שחרורים canary חלוקת תעבורה לפי משקלים (0 פירושו ללא תעבורה)
השהיה מינימיזציית השהיה גלובלית משתמשת במסד נתוני השהיה פנימי של AWS, לא במדידות אמיתיות
Failover ראשי/משני עם סובלנות לתקלות דורש Health Check, מעבר תוך ~10 שניות
גיאוגרפית תוכן אזורי ניתוב מדויק לפי מדינה/יבשת; תומך ביותר מ-200 אזורים
גיאו-פרוקסימיטי הסטת הטיה גמישה פרמטר הטיה מזיז את המרכז

ניתוב משוקלל מחלק תעבורה לפי משקלים בין מספר יעדים. משמש לבדיקות A/B או מעברי אזור הדרגתיים. משקל 0 עוצר תעבורה ליעד זה. ניתוב השהיה משתמש במסד נתוני השהיה הפנימי של Amazon כדי לנתב להשהיה הנמוכה ביותר. ניתוב Failover — ראשי/משני עם הצמדת Health Check. כאשר הראשי נכשל, התעבורה עוברת אוטומטית למשני. זמן המעבר תלוי במרווח בדיקת הבריאות (מינימום 10 שניות) וב-TTL של הרשומה. אנו מבטיחים failover עם MTTR מתחת ל-30 שניות. באמצעות בדיקות בריאות של Route 53, failover מהיר פי 3 מפתרונות DNS failover טיפוסיים.

בדיקת בריאות: ניואנסים מרכזיים

בדיקות הבריאות של Route 53 מגיעות בשלושה סוגים:

סוג תיאור מקרה שימוש
HTTP/HTTPS בדיקת תגובת פרוטוקול שירותי ווב, APIs
TCP בדיקת פתיחת פורט כל שירות TCP
מחושבת צירוף של מספר בדיקות תלות מורכבת

חשוב: הבודקים פועלים מ-6 אזורי AWS. אם שירות אינו זמין מאזור אחד בלבד, Route 53 כברירת מחדל אינה מחשיבה אותו כלא בריא (הסף הוא רוב הבודקים). ניתן להתאים זאת באמצעות Failure Threshold. עבור משאבים פרטיים, אנו משתמשים במדד CloudWatch כמקור לבדיקת בריאות — זה מוסיף השהיה למעבר אך מאפשר ניטור נקודות קצה פנימיות. לפי התיעוד הרשמי של AWS Route 53, מרווח הבדיקה המינימלי הוא 10 שניות, ו-TTL יכול להיות 60 שניות. בדיקות בריאות עולות $0.50 לחודש לכל בדיקה. הגדרה טיפוסית עם 3 בדיקות עולה $1.50 לחודש.

איך להגדיר failover עם Terraform?

הוראות שלב אחר שלב
  1. צור Hosted Zone — משאב aws_route53_zone עם שם הדומיין.
  2. הוסף Health Check — aws_route53_health_check עם סוג HTTP, פורט 80, נתיב /health.
  3. צור רשומה ראשית — aws_route53_record עם failover_routing_policy type = "PRIMARY" ו-health_check_id.
  4. צור רשומה משנית — דומה עם type = "SECONDARY" ו-set_identifier.
  5. סנכרן באמצעות Terraform — החל את התצורה.
  6. בדוק סובלנות לתקלות — השבת את נקודת הקצה הראשית, וודא שהתעבורה עוברת למשנית תוך 10-20 שניות.
resource "aws_route53_zone" "primary" {
  name = "example.com"
}

resource "aws_route53_record" "www" {
  zone_id = aws_route53_zone.primary.zone_id
  name = "www.example.com"
  type = "A"
  alias {
    name = aws_lb.main.dns_name
    zone_id = aws_lb.main.zone_id
    evaluate_target_health = true
  }
}

resource "aws_route53_zone" "primary" { name = "example.com" } resource "aws_route53_record" "www" { zone_id = aws_route53_zone.primary.zone_id name = "www.example.com" type = "A" alias { name = aws_lb.main.dns_name zone_id = aws_lb.main.zone_id evaluate_target_health = true } } — מאפשר בדיקת בריאות של ה-ALB לפני החזרת הרשומה. מומלץ תמיד.

תוצרים

בסיום ההתקשרות, תקבלו:

  • ביקורת של אזור ה-DNS הנוכחי: זיהוי רשומות מיושנות, שגיאות TTL, מדיניות לא אופטימלית.
  • תכנון סכמת ניתוב: בחירת מדיניות לעומס, אזורים, סובלנות לתקלות.
  • יצירה והגדרה של Hosted Zones: ציבוריים ופרטיים, האצלה, VPC Association.
  • הגדרת רשומות Alias ובדיקות בריאות: מיפוי למשאבי AWS, הגדרת ספים.
  • תשתית כקוד: מודולי Terraform עם גרסאות, גישת GitOps.
  • הקצאת גישת AWS ותפקידי IAM.
  • הגירת DNS ל-AWS ללא השבתה: הפחתת TTL על פני 2-3 ימים, השקה מקבילה, ניטור (ביצענו 50+ הגירות עם אפס השבתה, ויותר מ-95% מההגירות מסתיימות ללא כל השבתה).
  • תיעוד ו-runbook: תיאור סכמה, הוראות כוננות.
  • הדרכה והעברת ידע לצוות שלך.
  • תמיכה לאחר השקה: ניטור, אופטימיזציה, התאמות.

ציר זמן

הגדרה בסיסית של hosted zone עם רשומות עיקריות ו-Alias ל-ALB — 4-5 שעות. אם נדרשים ניתוב גיאוגרפי, failover עם בדיקות בריאות ומודול Terraform — 8 שעות. הגירה מספק אחר עם ביקורת ו-TTL מינימלי — גם כן תוך יום אחד. שירות הגירת ה-DNS שלנו מתחיל ב-$500 עבור תצורות בסיסיות. צרו קשר לקבלת הערכה מדויקת לפרויקט שלכם — קבלו ייעוץ ממהנדס עם 10+ שנות ניסיון. הזמינו ביקורת של תשתית ה-DNS שלכם — נכין תוכנית הגירה ואופטימיזציה. לצוות שלנו יש מעל 10 שנות ניסיון DevOps והשלים 50+ הגירות DNS מוצלחות. להבנה מעמיקה יותר של DNS, אנו ממליצים על המאמר Domain Name System. עבור פרויקט הגירה טיפוסי הכולל 5 hosted zones, 20 רשומות ו-3 בדיקות בריאות, העלות החודשית היא כ-$3.50, שזה מינימלי בהשוואה לחיסכון התפעולי.