הגדרת תמונות מצב מתוזמנות

בדף הזה מוסבר איך להגדיר את הסביבה כך שתשמור תמונות מצב לפי לוח זמנים.

מידע נוסף על אופן הפעולה של תמונות מצב של הסביבה ועל שמירת תמונות מצב באופן ידני זמין במאמר שמירה וטעינה של תמונות מצב.

איך פועלות תמונות מצב מתוזמנות

כשמפעילים צילום תמונות מצב מתוזמן, Managed Airflow שומר באופן תקופתי תמונות מצב של הסביבה בקטגוריה של Cloud Storage.

אם יוצרים תמונות מצב באופן ידני, Managed Airflow שומר את תמונות המצב בקטגוריה של הסביבה כברירת מחדל. לגבי תמונות מצב מתוזמנות, מומלץ לשמור אותן בקטגוריה נפרדת. כך תוכלו להגדיר הרשאות והגדרה של מחזור חיים לקטגוריה הזו. קטגוריה אחת יכולה להכיל תמונות מצב מכמה סביבות, ואפשר גם ליצור קטגוריות שהן מיותרות באזורים שונים.

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

יצירת קטגוריה לתמונות מצב מתוזמנות

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

הגדרת הרשאות לקטגוריה

מגדירים את ההרשאות הבאות:

  • לחשבון השירות של הסביבה שלכם צריכות להיות הרשאות קריאה וכתיבה בקטגוריה הזו. לדוגמה, בתפקיד Storage Object Admin יש הרשאות כאלה.

  • חשבונות משתמשים לא צריכים הרשאות נוספות כדי לטעון תמונות מצב מהמאגר, אלא אם רוצים להציג את התוכן של המאגר ממסוף Cloud de Confiance . במקרה כזה, לחשבון המשתמש צריכה להיות הרשאת קריאה בדלי.

הגדרת מחזור חיים לקטגוריה

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

לדוגמה, כדי למחוק באופן אוטומטי תמונות מצב מלפני יותר מ-30 יום:

  1. קובעים הגדרה של מחזור חיים לקטגוריה.
  2. מציינים את הפעולה Delete object.
  3. בוחרים באפשרות גיל ומגדירים את התנאי ל-30 ימים.

הפעלת תזמון של תמונת מצב לסביבה

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף Environments.

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בקטע הגדרות שחזור > תזמון של צילום מצב, לוחצים על עריכה. נפתחת החלונית תזמון תמונת מצב.

  5. בחלונית Snapshot schedule, בוחרים באפשרות Create snapshots periodically, according to the specified schedule.

  6. בתפריט הנפתח תדירות התזמון, בוחרים באפשרות 'יומי', 'שבועי' או 'תקופה מותאמת אישית' לצילום תמונות מצב.

    אפשר לציין לוח זמנים מותאם אישית באמצעות פורמט unix-cron. לדוגמה, כדי לשמור תמונות מצב כל 30 דקות, מציינים */30 * * * *.

  7. בשדה מיקום התמונה, בוחרים את תיקיית ה-bucket שבה רוצים לשמור את התמונות.

gcloud

מעדכנים את הגדרת הסביבה. הארגומנטים הבאים מגדירים פרמטרים לצילום תמונות מצב מתוזמן:

  • --enable-scheduled-snapshot-creation מאפשרת צילום תמונות מצב מתוזמן.
  • ‫--snapshot-location מציין תיקיית Bucket שבה רוצים לשמור תמונות מצב.
  • ‫--snapshot-creation-schedule מציין באיזו תדירות צריך לצלם תמונות מצב של הסביבה, בפורמט unix-cron. לדוגמה, כדי ליצור תמונת מצב כל 30 דקות, מציינים */30 * * * *.

  • ‫--snapshot-schedule-timezone מגדיר אזור זמן לתזמון. הערך הזה הוא הזמן שחלף, והוא לא לוקח בחשבון שינויים בשעון הקיץ. הערכים התקינים הם מ-UTC-12 עד UTC+12. דוגמאות: UTC, UTC-01, UTC+03.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-scheduled-snapshot-creation \
    --snapshot-location "gs://SNAPSHOTS_FOLDER" \
    --snapshot-creation-schedule "CRON_EXPRESSION" \
    --snapshot-schedule-timezone "TIME_ZONE"

מחליפים את:

  • ‫ENVIRONMENT_NAME בשם הסביבה.
  • ‫LOCATION עם האזור שבו הסביבה ממוקמת.
  • ‫SNAPSHOTS_FOLDER עם ה-URI של תיקיית קטגוריה שבה יישמר הצילום.
  • ‫CRON_EXPRESSION עם התזמון, בפורמט unix-cron.
  • TIME_ZONE עם אזור זמן לתזמון.

דוגמה (כל יום בשעה 4:00, UTC+01):

gcloud composer environments update example-environment \
    --location us-central1 \
    --enable-scheduled-snapshot-creation \
    --snapshot-location "gs://example-bucket/environment_snapshots" \
    --snapshot-creation-schedule "0 4 * * *" \
    --snapshot-schedule-timezone "UTC+01"

API

יוצרים בקשת API של environments.patch.

בבקשה הזו:

  1. בפרמטר updateMask, מציינים את המסכה config.recoveryConfig.scheduledSnapshotsConfig כדי להחליף את ההגדרה הקיימת של צילומי מצב מתוזמנים.

  2. בגוף הבקשה, מציינים את ההגדרה של התמונות:

    {
      "config": {
        "recoveryConfig": {
          "scheduledSnapshotsConfig": {
            "enabled": true,
            "snapshot_location": "gs://SNAPSHOTS_FOLDER",
            "snapshot_creation_schedule": "CRON_EXPRESSION",
            "time_zone": "TIME_ZONE"
          }
        }
      }
    }
    

    מחליפים את:

    • ‫SNAPSHOTS_FOLDER עם ה-URI של תיקיית קטגוריה שבה יישמר הצילום.
    • ‫CRON_EXPRESSION עם התזמון, בפורמט unix-cron.

    • TIME_ZONE עם אזור זמן לתזמון. הערך הזה הוא הזמן שחלף, והוא לא לוקח בחשבון שינויים בשעון הקיץ. הערכים התקינים הם מ-UTC-12 עד UTC+12. דוגמאות: UTC, UTC-01, UTC+03.

    דוגמה (כל יום בשעה 4:00, UTC+01):

      // PATCH https://composer.googleapis.com/v1/projects/example-project/
      // locations/us-central1/environments/example-environment?updateMask=
      // config.recoveryConfig.scheduledSnapshotsConfig
        {
          "config": {
            "recoveryConfig": {
              "scheduledSnapshotsConfig": {
                "enabled": true,
                "snapshot_location": "gs://example-bucket/environment_snapshots",
                "snapshot_creation_schedule": "0 4 * * *",
                "time_zone": "UTC+01"
              }
            }
          }
        }
    

Terraform

הבלוק scheduled_snapshots_config בבלוק recovery_config מגדיר פרמטרים לצילומים מהמצלמה שמתבצעים באופן מתוזמן:

  • enabled מאפשרת צילום תמונות מצב מתוזמן.
  • ‫snapshot_location מציין תיקיית Bucket שבה רוצים לשמור תמונות מצב.
  • ‫snapshot_creation_schedule מציין באיזו תדירות צריך לצלם תמונות מצב של הסביבה, בפורמט unix-cron. לדוגמה, כדי ליצור תמונת מצב כל 30 דקות, מציינים */30 * * * *.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  recovery_config {
    scheduled_snapshots_config {
      enabled = true
      snapshot_location = "gs://SNAPSHOTS_FOLDER"
      snapshot_creation_schedule = "CRON_EXPRESSION"
      time_zone = "TIME_ZONE"
    }
  }
}

מחליפים את:

  • ‫SNAPSHOTS_FOLDER עם ה-URI של תיקיית קטגוריה שבה יישמר הצילום.
  • ‫CRON_EXPRESSION עם התזמון, בפורמט unix-cron.

  • TIME_ZONE עם אזור זמן לתזמון. הערך הזה הוא הזמן שחלף, והוא לא לוקח בחשבון שינויים בשעון הקיץ. הערכים התקינים הם מ-UTC-12 עד UTC+12. דוגמאות: UTC, UTC-01, UTC+03.

דוגמה (כל יום בשעה 4:00, UTC+01):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  recovery_config {
    scheduled_snapshots_config {
      enabled = true
      snapshot_location = "gs://example-bucket/environment_snapshots"
      snapshot_creation_schedule = "0 4 * * *"
      time_zone = "UTC+01"
    }
  }
}

השבתה של תזמון תמונות מצב

אם משביתים את הצילום המתוזמן של תמונות מצב, כל תמונות המצב הקיימות שכבר צולמו לא משתנות ולא מוסרות. קובצי ה-snapshot האלה נשארים במיקום שבו הם נשמרו.

המסוף

  1. במסוף Cloud de Confiance , עוברים לדף Environments.

    מעבר אל Environments

  2. ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.

  3. עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).

  4. בקטע הגדרות שחזור > תזמון של צילום מצב, לוחצים על עריכה. נפתחת החלונית תזמון תמונת מצב.

  5. בחלונית תזמון של תמונות מצב, בוחרים באפשרות לא ליצור תמונות מצב באופן אוטומטי.

gcloud

מעדכנים את הגדרת הסביבה. הארגומנט --disable-scheduled-snapshot-creation משבית את הצילומים המתוזמנים של מצב המערכת.

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-scheduled-snapshot-creation

מחליפים את:

  • ‫ENVIRONMENT_NAME בשם הסביבה.
  • ‫LOCATION עם האזור שבו הסביבה ממוקמת.

דוגמה:

gcloud composer environments update example-environment \
    --location us-central1 \
    --disable-scheduled-snapshot-creation

API

יוצרים בקשת API של environments.patch.

בבקשה הזו:

  1. בפרמטר updateMask, מציינים את המסכה config.recoveryConfig.scheduledSnapshotsConfig.enabled כדי להחליף את הערך של השדה enabled.

  2. בגוף הבקשה, מציינים את הערך החדש:

    {
      "config": {
        "recoveryConfig": {
          "scheduledSnapshotsConfig": {
            "enabled": false
          }
        }
      }
    }
    

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
  "recoveryConfig": {
    "scheduledSnapshotsConfig": {
      "enabled": false
    }
  }
}
}

Terraform

כדי להשבית את תמונות המצב המתוזמנות, צריך להגדיר את השדה enabled בבלוק scheduled_snapshots_config לערך false:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  recovery_config {
    scheduled_snapshots_config {
      enabled = false
    }
  }
}

דוגמה:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  recovery_config {
    scheduled_snapshots_config {
      enabled = false
      // Other scheduled snapshots parameters
    }
  }
}

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