שימוש בשרת MCP מקומי של Backup and DR

שרת Model Context Protocol‏ (MCP) המקומי של Backup and DR מאפשר לאסיסטנטים מבוססי-AI ולאפליקציות מבוססות-LLM לקיים אינטראקציה מאובטחת עם סביבת הגיבוי. הפעלת השרת באופן מקומי מאפשרת לכם להשתמש ב-AI גנרטיבי כדי לנהל משימות של גיבוי ושחזור (Backup and DR) – כמו יצירת כספות גיבוי ותוכניות גיבוי, או הפעלת התראות – באמצעות הנחיות בשפה טבעית, תוך שמירה על שליטה בסביבה המקומית. מידע נוסף על שימוש בשרתי MCP כדי ליצור אינטראקציה בין שירותים Google Cloud

שרת ה-MCP המקומי של Backup and DR משמש כגשר בין מארח שתואם ל-MCP (כמו Gemini CLI,‏ ChatGPT או Claude Code) לבין Google Cloud Backup and DR API.

מכיוון שהשרת פועל בתחנת העבודה שלכם, ה-AI יכול להשתמש בפרטי הכניסה המקומיים ובנתיב הרשת כדי לתקשר ישירות עם Google Cloud.

היתרונות של שרת MCP מקומי ל-Backup and DR:

  • ניהול מבוסס-AI: אפשר להשתמש בהנחיות בשפה טבעית כדי לבצע אוטומציה של משימות מורכבות של גיבוי והתאוששות מאסון, ולפשט אותן.
  • אבטחה: הנתונים שלכם נשארים בגבולות שהגדרתם. השרת המקומי משתמש באימות הקיים של ה-CLI של gcloud.
  • פתרון בעיות פשוט יותר: המערכת מזהה כשלים בגיבוי ובשחזור של משימות, מתריעה על כך למשתמשים ומציעה פתרונות לתיקון השגיאות.
  • גילוי מרכזי: אינטראקציה בין מספר Google Cloud שירותים, כמו Cloud Monitoring,‏ Cloud Storage ו-BigQuery, באמצעות אותה סביבת MCP.

לפני שמתחילים

לפני שמגדירים את שרת ה-MCP המקומי ל-Backup and DR, צריך לוודא שיש לכם את הדברים הבאים:

  • פרויקט ב-Google Cloud שמופעלים בו ממשקי ה-API של Backup and DR,‏ Compute Engine ו-Cloud SQL.
  • מארח MCP, כמו Gemini CLI.
  • סביבה מקומית עם הרכיבים הבאים:
    • ‫Node.js (גרסה 20 ואילך)
    • ‫Google Cloud SDK‏ (ה-CLI של gcloud) מאותחל ומאומת.

ההרשאות הנדרשות

משתמשים צריכים הרשאות ותפקידים רלוונטיים בניהול הזהויות והרשאות הגישה (IAM) כדי לבצע את המשימות המתאימות באמצעות שרת MCP מקומי. לדוגמה:

  • ‫roles/backupdr.viewer (להרצת שאילתות לגבי פרטי המטא-נתונים והסטטוס)
  • roles/backupdr.restoreUser (כדי להפעיל שחזורים)

הגדרת שרת MCP מקומי

כדי להתקין את Gemini CLI ולהגדיר את שרת ה-MCP המקומי של Backup and DR, צריך לבצע את השלבים הבאים:

  1. התקנת Gemini CLI

    כדי לשלב את שרת ה-MCP המקומי של Backup and DR עם Gemini CLI או עם Gemini Code Assist, מריצים את פקודת ההגדרה הזו. הפעולה הזו תתקין את שרת ה-MCP כתוסף של Gemini CLI עבור המשתמש הנוכחי, והוא יהיה זמין לכל הפרויקטים שלכם.

    npm install -g @google/gemini-cli
    

    מידע נוסף זמין בכתובת https://geminicli.com/docs/get-started/installation.

  2. הגדרת שרת MCP מקומי של Backup and DR

    כדי להתקין את שרת ה-MCP של Backup and DR, מריצים את הפקודה הזו. כברירת מחדל, השרת מותקן ברמת הגישה READ_ONLY.

    npx @google-cloud/backupdr-mcp init --agent=gemini-cli
    

    אחרי תהליך ההתקנה, אפשר להריץ את הפקודה הבאה כדי לוודא ששרת ה-MCP של Backup and DR מוגדר בצורה נכונה:

    gemini mcp list
    

    הפלט אמור להציג סטטוס דומה לזה:

    > ✓ backupdr (from @google-cloud/backupdr-mcp): npx -y backupdr-mcp --access-level READ_ONLY (stdio) - Connected
    
  3. הגדרת שרת MCP מקומי

    אפשר להתאים אישית את ההתנהגות של שרת ה-MCP באמצעות הדגלים הבאים.

    1. מגדירים את רמת הגישה.

      רמת הגישה קובעת אילו כלים יהיו זמינים לסוכן ה-AI.

      • דגל: --access-level
      • ערכים: READ_ONLY (ברירת מחדל), UPSERT, ALL

      • ‫READ_ONLY: מספק כלים לקריאה בלבד לצורך גילוי ובדיקה.

        npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=READ_ONLY
        
      • ‫UPSERT: מספק כלים לגילוי, לבדיקה, ליצירה ולעדכון (כולל שחזורים).

        npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=UPSERT
        
      • ALL: מספק את כל הכלים, כולל פעולות הרסניות כמו מחיקה.

        npx @google-cloud/backupdr-mcp init --agent=gemini-cli --access-level=ALL
        
    2. הגדרת קובץ ההקשר

    קבצים להקשר הם תכונה שימושית שמאפשרת לספק הקשר הדרכתי למודל Gemini. שרת ה-MCP של Backup and DR כולל מידע על הקשר לגבי אופן השימוש בכלים ובתהליכי עבודה נפוצים.

    • דגל: --overwrite-context-file
    • ערכים: true, false (ברירת מחדל)
    • מיקום: ~/.gemini/backupdr-mcp/GEMINI.md

    כברירת מחדל, קובץ ההקשר נוצר רק אם הוא עדיין לא קיים. כדי להתקין את שרת ה-MCP על ידי החלפת קובץ ההקשר, מריצים את הפקודה הבאה:

    npx @google-cloud/backupdr-mcp init --agent=gemini-cli --overwrite-context-file=true
    

    אם --overwrite-context-file מוגדר כ-False, במהלך התקנת התוסף ייווצר ההקשר רק אם הוא עדיין לא קיים בספרייה.

    כדי להתקין את שרת ה-MCP המקומי בלי להחליף את קובץ ההקשר, מריצים את הפקודה הבאה:

    npx @google-cloud/backupdr-mcp init --agent=gemini-cli --overwrite-context-file=false
    

    מידע נוסף זמין במאמר בנושא מתן הקשר באמצעות קובצי GEMINI.md.

  4. הגדרת אימות והרשאה של משתמשים

    שרת ה-MCP משתמש ב-Application Default Credentials ‏ (ADC) כדי לבצע פעולות. בדיקות IAM שרלוונטיות ל-Backup and DR מתבצעות ב-ADC. מידע נוסף על Application Default Credentials זמין במאמר בנושא הגדרה של Application Default Credentials.

    1. כדי להגדיר את פרטי הכניסה, מריצים את הפקודה הבאה:

      gcloud auth application-default login
      
    2. כדי להשתמש בפרטי כניסה של חשבון שירות במקום בפרטי הכניסה שלכם, אתם יכולים להתחזות לחשבון שירות באמצעות Application Default Credentials ‏ (ADC). כדי להתחזות לחשבון שירות, מריצים את הפקודה הבאה:

      gcloud auth application-default login --impersonate-service-account [SERVICE_ACCOUNT_EMAIL]
      

כלים זמינים

שרת ה-MCP המקומי של Backup and DR כולל את הכלים הבאים.

כלים לקריאה בלבד

הכלים האלה מאפשרים לגלות ולבדוק משאבי Backup and DR בלי לאפשר עריכות.

כלי תיאור
list_backup_vaults הצגת רשימה של כל כספות הגיבוי בפרויקט ובמיקום.
get_backup_vault קבלת פרטים של כספת גיבוי ספציפית.
list_backup_plans הצגת רשימה של כל תוכניות הגיבוי בפרויקט ובמיקום.
get_backup_plan קבלת פרטים של תוכנית גיבוי ספציפית.
list_backup_plan_associations רשימה של כל השיוכים בין תוכניות גיבוי למשאבים.
get_backup_plan_association מקבלים פרטים של שיוך ספציפי לתוכנית גיבוי.
list_datasources הצגת רשימה של כל מקורות הנתונים בכספת הגיבוי.
get_datasource קבלת פרטים של מקור נתונים ספציפי.
list_backups מציג את כל הגיבויים של מקור נתונים מסוים.
get_backup קבלת פרטים של גיבוי ספציפי.
find_protectable_resources מזהה משאבים (מכונות וירטואליות, דיסקים, SQL) שאפשר להגן עליהם.
get_backupdr_operation אחזור הסטטוס של פעולה ממושכת ב-Backup and DR.
get_csql_operation אחזור הסטטוס של פעולה ממושכת ב-Cloud SQL.

כלי Upsert

הכלים האלה מאפשרים ליצור ולעדכן משאבים, כולל פעולות שחזור.

כלי תיאור
create_backup_vault יצירת כספת גיבוי חדשה במיקום שצוין.
create_backup_plan יצירת תוכנית גיבוי חדשה עם כללים ותקופת שמירה.
update_backup_plan שינוי של תוכנית גיבוי קיימת.
create_backup_plan_association משייכים משאב לתוכנית גיבוי.
restore_backup משחזרים גיבוי למכונה או לדיסק יעד של Compute Engine.
csql_restore משחזר גיבוי של Cloud SQL למכונת יעד.

מחיקת כלים

הכלים האלה כוללים את האפשרות למחוק משאבים. אפשר להפעיל אותן רק כשצריך, על ידי הגדרת רמת הגישה ל-ALL.

כלי תיאור
delete_backup_vault מחיקת כספת גיבוי.
delete_backup_plan מחיקה של תוכנית גיבוי.
delete_backup_plan_association הסרת ההגנה ממשאב.
delete_backup מחיקה של גיבוי ספציפי מכספת.

פרומפטים לדוגמה

אחרי שהשרת מחובר, אפשר להשתמש בהנחיות בשפה טבעית בלקוח ה-AI כדי לנהל את סביבת הגיבוי.

  • הערכת תקינות הגיבוי בפרויקט

    ‫"Show the list of unprotected resources in project PROJECT_ID for region LOCATION."

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט שבו רוצים לבדוק את תקינות הגיבוי.
    • ‫LOCATION: האזור שבו נמצאים המשאבים.
  • יצירת כספת גיבוי ותוכנית גיבוי

    ‫צור כספת גיבוי בשם VAULT_NAME ב-LOCATION כדי להגן על המשאב RESOURCE_NAME באמצעות תוכנית הגיבוי PLAN_NAME.

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫VAULT_NAME: השם של כספת הגיבוי החדשה.
    • ‫LOCATION: האזור שבו רוצים ליצור את הכספת.
    • ‫RESOURCE_NAME: שם המשאב שרוצים להגן עליו.
    • ‫PLAN_NAME: השם של תוכנית הגיבוי שרוצים להחיל.
  • בדיקת גיבויים לצורך עמידה בדרישות

    ‫"Audit all backups in the project PROJECT_ID in the region LOCATION. אחרי שהבדיקה תסתיים, תשווה את הממצאים למדיניות הגיבוי של החברה שלי כדי לזהות פערים בתאימות."

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫PROJECT_ID: מזהה הפרויקט שרוצים לבדוק.
    • ‫LOCATION: האזור שרוצים לבדוק.
  • ניתוח שורש הבעיה של כשלים

    בהנחיה הזו צריך להשתמש בכלי observability. הוראות להתקנת כלי MCP זמינות במאמר Available MCP Tools ב-GitHub.

    "תזהה ותבדוק את שורש הבעיה של כשל בגיבוי המשאב RESOURCE_NAME ב-DURATION הימים האחרונים בפרויקט PROJECT_ID".

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫RESOURCE_NAME: השם של המשאב עם כשלים בגיבוי.
    • ‫DURATION: חלון הזמן של החקירה (לדוגמה, 7).
    • ‫PROJECT_ID: מזהה הפרויקט שבו אירעה הכשל.
  • שחזור גיבוי

    ‫"Restore the last successful backup for resource RESOURCE_NAME from project PROJECT_ID. נותנים למכונה המשוחזרת את השם NEW_INSTANCE_NAME.

    מחליפים את מה שכתוב בשדות הבאים:

    • ‫RESOURCE_NAME: שם המשאב לשחזור.
    • ‫PROJECT_ID: מזהה הפרויקט שמכיל את הגיבוי.
    • ‫NEW_INSTANCE_NAME: שם למכונה המשוחזרת.
  • יצירת מדיניות התראות

    אפשר להפעיל התראות לכל שילוב של יומנים ומסננים שנוספו.

    בהנחיה הזו צריך להשתמש בכלי gcloud. הוראות להתקנת כלי MCP זמינות במאמר Available MCP Tools ב-GitHub.

    ‫"Create a log-based alert policy named ALERT_NAME to trigger on any log entry from backupdr.googleapis.com with severity ERROR. שליחת התראה על ההתראות באופן מיידי אל EMAIL_ADDRESS".

    מחליפים את מה שכתוב בשדות הבאים:

    • ALERT_NAME: שם למדיניות ההתראות החדשה.
    • ‫EMAIL_ADDRESS: כתובת האימייל לקבלת התראות.

גישה לשרת באמצעות לקוחות AI אחרים

אפשר להשתמש בשרת MCP של Backup and DR עם לקוחות אחרים.

  • כדי לעשות זאת, מוסיפים את קטע הקוד הבא לקובצי התצורה המתאימים בפורמט JSON:

    "backupdr": {
      "command": "npx",
      "args": ["-y", "@google-cloud/backupdr-mcp"]
    }
    

הוראות לשימוש בכלי UEM נפוצים:

  • ‫Claude Desktop: פותחים את Claude > הגדרות > מפתח > עריכת ההגדרה ועורכים את claude_desktop_config.json.
  • ‫Cline: לוחצים על סמל שרתי ה-MCP ואז על Configure MCP Servers (הגדרת שרתי MCP) כדי לערוך את cline_mcp_settings.json.
  • סמן: עריכה .cursor/mcp.json של פרויקט יחיד או ~/.cursor/mcp.json של כל הפרויקטים.
  • ‫Gemini CLI (הגדרה ידנית): אם לא משתמשים בתוספים, עורכים את .gemini/settings.json לפרויקט יחיד או את ~/.gemini/settings.json לכל הפרויקטים.

  • ב-Visual Studio Code, עורכים את הקובץ .vscode/mcp.json בסביבת העבודה שלכם עבור פרויקט יחיד, או את קובץ הגדרות המשתמש הגלובליות עבור כל הפרויקטים:

    "servers": {
      "backupdr": {
        "command": "npx",
        "args": ["-y", "@google-cloud/backupdr-mcp"]
      }
    }
    

כתב ויתור

התפעול בעזרת AI עדיין מתפתח. אנחנו אמנם נותנים עדיפות לדיוק, אבל חשוב לזכור שהתוצאות שמבוססות על מודלים יכולות לכלול אי-דיוקים, ולכן תמיד צריך לבדוק את נכונותן.

המאמרים הבאים