תיעוד 13
שינוי רשומות באצווה
Cloudflare מאפשרת לך להחיל מספר שינויים ברשומות ה-zone שלך בפעולה אחת בלבד. באפשרותך להשתמש בלוח הבקרה כדי למחוק רשומות DNS או לעדכן את סטטוס הפרוקסי שלהן במרוכז, או להשתמש ב-API כדי לבצע פעולות אצווה נוספות.
הפצה ברשת Cloudflare
אף ש-Cloudflare תבצע את פעולות האצווה במסגרת database transaction ↗ יחידה, מאגר ה-KV המבוזר של Cloudflare חייב להתייחס לכל שינוי רשומה כאל צמד מפתח וערך בודד. המשמעות היא שהפצת השינויים אינה אטומית. לפרטים נוספים, עיין ב-פוסט בבלוג שלנו ↗.
#זמינות ומגבלות
שינוי רשומות DNS באצווה זמין בכל התוכניות.
מספר הרשומות שבהן תוכל לפעול בפעולה אחת תלוי בתוכנית ה-zone שלך:
- Free: 200
- Pro: 3,500
- Business: 3,500
- Enterprise: 3,500
#שימוש בלוח הבקרה
#עריכת סטטוס פרוקסי במרוכז
רשומות A, AAAA ו-CNAME יכולות להיות מוגדרות עם פרוקסי (proxied). ה-Proxy status של רשומת DNS משפיע על האופן שבו Cloudflare מגיבה לשאילתות DNS עבור אותה רשומה.
הערה
אם יש לך מספר רשומות A/AAAA בעלות אותו שם ולפחות אחת מהן מוגדרת עם פרוקסי, חברת Cloudflare תתייחס לכל רשומות ה-A/AAAA בשם זה כאל רשומות בעלות פרוקסי.
- בלוח הבקרה של Cloudflare, עבור אל דף ה-DNS Records. מעבר אל Records ↗
- בחר את רשומות ה-DNS שברצונך להגדיר עבורן את סטטוס הפרוקסי. שים לב שרק רשומות
A,AAAAו-CNAMEיכולות להיות מוגדרות עם פרוקסי. - בחר ב-Edit records.
- בחר את סטטוס הפרוקסי שברצונך להחיל על הרשומות שנבחרו.
- בחר ב-Save כדי לאשר.
באפשרותך להגדיר רשומות במרוכז אך ורק ל-Proxied או ל-DNS only. המשמעות היא שאם הבחירה שלך כוללת גם רשומות עם פרוקסי וגם רשומות DNS only, בחלקן סטטוס הפרוקסי יעודכן ואילו אחרות ישמרו על הערך המקורי שלהן:
לדוגמה, אם תבחר ברשומות הבאות ולאחר מכן תערוך את סטטוס הפרוקסי שלהן במרוכז, ותבחר ב-Proxied ב-שלב 4 לעיל, התוצאה תהיה:
| רשומות שנבחרו | סטטוס פרוקסי מקורי | סטטוס פרוקסי שמתקבל |
|---|---|---|
www | DNS only | Proxied |
blog | DNS only | Proxied |
docs | Proxied | Proxied |
#מחיקת רשומות במרוכז
זהירות
מחיקת רשומות DNS עלולה לגרום להשבתה ואינה ניתנת לביטול. ודא שאתה בוחר רק רשומות DNS שבאפשרותך למחוק בבטחה.
- בלוח הבקרה של Cloudflare, עבור אל דף ה-DNS Records. מעבר אל Records ↗
- בחר את רשומות ה-DNS שברצונך למחוק.
- בחר ב-Delete records.
- בחלונית Delete DNS records, הקלד
DELETEובחר ב-Delete כדי לאשר.
#שימוש ב-API
הערה
אפשרות זו דורשת היכרות עם השימוש ב-API ומושגיו. למידע נוסף אודות ה-API של Cloudflare, עיין ב-Fundamentals.
נקודת הקצה Batched DNS record changes מאפשרת לך להפעיל ביצוע של DELETES, PATCHES, PUTS ו-POSTS בבקשה אחת.
גם תגיות והערות (Tags and comments) נתמכות בשינויים באצווה.
הפעולות שאתה מציין בתוך גוף הבקשה של /batch מבוצעות תמיד בסדר הבא:
- Deletes
- Patches
- Puts
- Posts
בתוך כל אחת מארבע הרשימות הללו, כל פעולה בודדת מבוצעת לפי סדר רשומות ה-DNS שסיפקת. אם פעולה בודדת כלשהי נכשלת, שום שינוי אינו מוחל וה-API מחזיר את השגיאה הראשונה שבה נתקל.
#היבטים שיש לקחת בחשבון
הפצה ברשת Cloudflare
אף ש-Cloudflare תבצע את פעולות האצווה במסגרת database transaction ↗ יחידה, מאגר ה-KV המבוזר של Cloudflare חייב להתייחס לכל שינוי רשומה כאל צמד מפתח וערך בודד. המשמעות היא שהפצת השינויים אינה אטומית. לפרטים נוספים, עיין ב-פוסט בבלוג שלנו ↗.
עבור כל פעולה שאתה מפרט בגוף הבקשה של /batch, שים לב למידע הנדרש ולאופן שבו יתנהגו שדות שלא צוינו:
deletes: רק ה-idנדרש עבור כל אובייקט רשומה. באפשרותך להשאיר פרמטרים נוספים כגוןnameלמען קריאות, אך המערכת תתעלם מכל שדה אחר מלבדidבמקרה זה.patches: מלבד ה-idשל כל רשומה, עליך לציין את השדות שברצונך לעדכן. כל השדות שלא צוינו יישארו כפי שהם.puts: עליך לציין עבור כל רשומה אתid,content,nameו-type. כמו כן, עליך לציין כל שדה אחר שברצונך להגדיר לערך שאינו ערך ברירת המחדל. כל שדה שלא יצוין יקבל את ערך ברירת המחדל שלו עבור אותו סוג רשומה. פעולה זו פועלת כדריסה (overwrite), ולכן כל השדות ברשומה נתונה מושפעים תמיד.posts: מכיוון שאתה יוצר רשומה חדשה,idאינו נדרש. להגדרות שדות, עיין בנקודת הקצה Create DNS Record ובחר בסוג הרשומה הרצוי תחת מפרט גוף הבקשה.
#דוגמה לבקשה
בדוגמה זו, השדה proxied עבור הרשומה הראשונה המופיעה תחת "puts" יקבל את ערך ברירת המחדל (false).
{
"deletes": [
{
"id": "2bff0ebc4df64beaa44b0dca93e37a28"
},
{
"id": "31d1d6e79ce04b8d93cbc5a13401d728"
}
],
"patches": [
{
"id": "62276440f783445380480484648c1017",
"content": "192.0.2.46"
},
{
"id": "c942d948dc2343b9b97aed78479c9fb9",
"name": "update.example.com",
"proxied": true
}
],
"puts": [
{
"id": "a50364543094428abde0f14061d42b0e",
"content": "192.0.2.50",
"name": "change.example.com",
"type": "A",
"ttl:": 1
},
{
"id": "3bce0920f19d43949498bd067b05dfa9",
"content": "192.0.2.45",
"name": "no-change.example.com",
"type": "A",
"proxied": false,
"ttl:": 3000
}
],
"posts": [
{
"name": "@",
"type": "A",
"content": "192.0.2.41",
"proxied": false,
"ttl": 3000
},
{
"name": "a.example.com",
"type": "A",
"content": "192.0.2.42",
"proxied": true
}
]
}