מבוא
תארו לעצמכם: האתר שלכם מתארח באירופה, ומשתמשים מאוסטרליה מתלוננים על איטיות. בעוד שפותרת ה-DNS מחזירה כתובת IP, חולפות 200 אלפיות שנייה — ניתן לצמצם זאת ל-50 אלפיות שנייה עם Geo-DNS (ניתוב גיאוגרפי). אנו מגדירים ניתוב גיאוגרפי ומבוסס-השהיה כבר שנים עבור פרויקטים החל מסטארטאפים ועד ארגונים. המהנדסים שלנו מוסמכים על ידי Cloudflare ו-AWS, מה שמבטיח יישום איכותי. במאמר זה — תצורות מעשיות עבור Cloudflare, AWS Route53 ו-Nginx GeoIP המשמשות בסביבת ייצור. ההתקנה מחזירה את עצמה תוך 3–6 חודשים על ידי הפחתת TTFB ב-40–60%, והחיסכון בתעבורת DNS וב-CDN יכול להגיע למאות דולרים בחודש. קבלו ייעוץ ממהנדס Geo-DNS — נעריך את הפרויקט שלכם.
בעיות ש-Geo-DNS פותר
ללא Geo-DNS, משתמשים חווים השהיה גבוהה — שאילתות DNS נוסעות ל-DNS האב במרחק אלפי קילומטרים, מה שגורם ל-TTFB מעל 500 אלפיות שנייה באזורים מרוחקים, ומפחית את שיעור ההמרה ב-20%. התעבורה מתפזרת בצורה לא אחידה לשרת יחיד, מה שיוצר עומס מיותר. כאשר מרכז נתונים באזור נופל, משתמשים נותרים ללא שירות בגלל חוסר ב-failover. Geo-DNS מטפל בכל זה ברמת פתרון ה-DNS, לפני שנוצרת חיבור TCP.
השוואת ספקי Geo-DNS
| ספק | סוג ניתוב | מורכבות הגדרה | TTL ברירת מחדל | Failover | מחיר |
|---|---|---|---|---|---|
| Cloudflare Load Balancing | גיאוגרפי + השהיה | נמוכה | 30-300 שניות | אוטומטי, עם בדיקות בריאות | בתשלום (Pro+) |
| AWS Route53 Geolocation | גיאוגרפי | בינונית | 60 שניות (ניתן להנמיך) | בדיקות בריאות, הגדרה ידנית | בתשלום לפי שאילתה |
| AWS Route53 Latency | לפי השהיה | בינונית | 60 שניות | אוטומטי | בתשלום לפי שאילתה |
| Nginx + GeoIP2 | גיאוגרפי | גבוהה | לא רלוונטי (רמת אפליקציה) | תלוי ב-upstream | חינם (למעט מסד נתונים) |
הגדרת Cloudflare Load Balancing מהירה פי 2 מהגדרת Nginx מותאם אישית, ו-TTFB מופחת ב-50%.
איך לבחור בין Cloudflare ל-AWS Route53?
Cloudflare Load Balancing קל יותר להגדרה וכולל ניטור מובנה. הוא מתאים להתחלות מהירות ופרויקטים קטנים. AWS Route53 מציע גמישות רבה יותר עם ניתוב מבוסס-השהיה, המאפשר ניתוב לפי השהיה בפועל ולא לפי גיאוגרפיה. זה שימושי במיוחד עם תשתית רשת הטרוגנית. אם אתם צריכים שליטה מלאה, בחרו ב-Nginx עם GeoIP2, אך נדרשים עדכונים ידניים של מסד הנתונים של MaxMind.
הגדרת Cloudflare Load Balancing (Geo-steering)
Cloudflare מציע geo-steering מובנה. אתם מציינים pools לאזורים (לדוגמה, ENAM — מזרח ארה"ב, WEU — מערב אירופה), וה-load balancer מנתב תעבורה אוטומטית. דוגמת תצורה דרך API:
curl -X POST "https://api.cloudflare.com/client/v4/zones/{zone_id}/load_balancers" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
--data '{
"name": "api.mysite.com",
"fallback_pool": "us-east-1-pool",
"default_pools": ["us-east-1-pool"],
"region_pools": {
"ENAM": ["us-east-1-pool"],
"WNAM": ["us-west-2-pool"],
"EEU": ["eu-central-1-pool"],
"WEU": ["eu-west-1-pool"],
"SEAS": ["ap-southeast-1-pool"],
"NEAS": ["ap-northeast-1-pool"]
},
"steering_policy": "geo",
"session_affinity": "ip_cookie",
"session_affinity_ttl": 300
}'תיעוד Cloudflare ממליץ להשתמש בsession affinity כדי לשמור על סשנים של משתמשים.
הגדרת AWS Route53
ניתוב גיאוגרפי
לניתוב מדויק לפי מדינה או יבשת, השתמשו ברשומות גיאוגרפיות. דוגמת Terraform:
resource "aws_route53_record" "api_eu" {
zone_id = var.zone_id
name = "api.mysite.com"
type = "A"
set_identifier = "eu-users"
geolocation_routing_policy {
continent = "EU"
}
alias {
name = aws_lb.eu_west_1.dns_name
zone_id = aws_lb.eu_west_1.zone_id
evaluate_target_health = true
}
}
resource "aws_route53_record" "api_default" {
zone_id = var.zone_id
name = "api.mysite.com"
type = "A"
set_identifier = "default"
geolocation_routing_policy {
country = "*"
}
alias {
name = aws_lb.us_east_1.dns_name
zone_id = aws_lb.us_east_1.zone_id
evaluate_target_health = true
}
}
למה ניתוב מבוסס-השהיה עדיף?
ניתוב מבוסס-השהיה מתחשב לא במרחק גיאוגרפי אלא בהשהיית רשת — תעבורה מאירופה עשויה להיות מהירה יותר למרכז נתונים בווירג'יניה מאשר בפרנקפורט אם קווי התשתית עמוסים. AWS בוחר אוטומטית את האזור המהיר ביותר. גישה זו נותנת חלוקה מדויקת יותר, במיוחד למשתמשים ניידים.
דוגמת תצורה:
resource "aws_route53_record" "api_latency_eu" {
zone_id = var.zone_id
name = "api.mysite.com"
type = "A"
set_identifier = "eu-west-1"
latency_routing_policy {
region = "eu-west-1"
}
alias {
name = aws_lb.eu.dns_name
zone_id = aws_lb.eu.zone_id
evaluate_target_health = true
}
} הגדרת Nginx עם GeoIP2
אם אתם רוצים שליטה מלאה בניתוב, השתמשו ב-Nginx עם מודול geoip2 ומסד הנתונים MaxMind GeoLite2. זה חינמי וגמיש.
תצורת Nginx
התקינו את המודול והורידו את מסד הנתונים (מתעדכן חודשית). לאחר מכן הגדירו מיפוי מדינות ל-backends:
load_module modules/ngx_http_geoip2_module.so;
http {
geoip2 /etc/nginx/geoip/GeoLite2-Country.mmdb {
$geoip2_country_code country iso_code;
$geoip2_country_name country names en;
}
map $geoip2_country_code $backend {
default http://us-backend:3000;
RU http://ru-backend:3000;
UA http://eu-backend:3000;
"~^(DE|AT|CH)" http://eu-backend:3000;
"~^(GB|IE|FR)" http://eu-backend:3000;
}
server {
listen 80;
location / {
proxy_pass $backend;
proxy_set_header X-Country-Code $geoip2_country_code;
proxy_set_header X-Real-IP $remote_addr;
}
}
}ניתן גם ליישם הפניה אוטומטית לגרסת שפה לפי GeoIP.
TTL ושמירת DNS במטמון
| TTL מומלץ | תרחיש |
|---|---|
| 30 שניות | שירותים קריטיים, failover מיידי |
| 300 שניות (5 דקות) | ערך אוניברסלי |
| 3600 שניות (שעה) | משאבים סטטיים |
Cloudflare Load Balancing מפחית אוטומטית את ה-TTL במהלך failover של בדיקות בריאות.
איך Geo-DNS משפיע על TTFB ו-Core Web Vitals?
השהיית DNS ראשונית משפיעה ישירות על TTFB, שהוא מדד Core Web Vitals. Geo-DNS מפחית TTFB ב-40–60%, משפר LCP וחוויית משתמש כוללת. Google מתחשבת ב-TTFB בדירוג, כך שיישום Geo-DNS יכול לשפר בעקיפין את מיקומי החיפוש. זה חשוב במיוחד לאתרים עם קהל גלובלי — הפחתה של 100 אלפיות שנייה ב-TTFB יכולה להעלות את שיעור ההמרה ב-5%.
תהליך הגדרת Geo-DNS
אנו נוקטים בגישה שיטתית:
- ביקורת אזור ה-DNS הנוכחי, ניתוח גיאוגרפיית משתמשים (מיומני Nginx או CDN).
- תכנון — בחירת ספק, תכנית pools, TTL.
- יישום — הגדרת DNS דרך Terraform או Cloudflare API, הגדרת בדיקות בריאות.
- בדיקות — אימות מנקודות שונות (דרך VPN, AWS Lightsail באזורים שונים, dig מ-DNS ציבורי).
- ניטור — הגדרת התראות לשינויי השהיה או תקלות.
מה כלול בתוצאה
- תכנית Geo-DNS עובדת עם תיעוד.
- גישה לכל הספקים (Cloudflare, AWS, פאנל ניהול).
- הדרכת צוות: איך להוסיף אזורים חדשים, לשנות TTL.
- תמיכה ל-14 ימים לאחר היישום.
המהנדסים שלנו מחזיקים בהסמכות Cloudflare ו-AWS וביצעו למעלה מ-50 פרויקטים של אופטימיזציית הפצת תוכן. ההתקנה מחזירה את עצמה תוך 3–6 חודשים על ידי הפחתת TTFB ב-40–60% והקטנת תעבורת CDN.
איך לבדוק Geo-DNS
השתמשו ב-dig עם resolver ספציפי:
dig @8.8.8.8 api.mysite.com # США dig @1.1.1.1 api.mysite.com # Европа dig @77.88.8.8 api.mysite.com # Россия אם הניתוב מוגדר נכון, התשובות יהיו שונות בכתובות ה-IP.
קבלו ייעוץ על Geo-DNS — המהנדסים שלנו יעזרו לכם לבחור את תכנית הניתוב האופטימלית. הזמינו ביקורת של הגדרת ה-DNS הנוכחית שלכם וגלו כמה תוכלו לחסוך.







