בדף הזה מוסבר איך להגדיר את הסביבה כך שתשמור תמונות מצב לפי לוח זמנים.
מידע נוסף על אופן הפעולה של תמונות מצב של הסביבה ועל שמירת תמונות מצב באופן ידני זמין במאמר שמירה וטעינה של תמונות מצב.
איך פועלות תמונות מצב מתוזמנות
כשמפעילים צילום תמונות מצב מתוזמן, Managed Airflow שומר באופן תקופתי תמונות מצב של הסביבה בקטגוריה של Cloud Storage.
אם יוצרים תמונות מצב באופן ידני, Managed Airflow שומר את תמונות המצב בקטגוריה של הסביבה כברירת מחדל. לגבי תמונות מצב מתוזמנות, מומלץ לשמור אותן בקטגוריה נפרדת. כך תוכלו להגדיר הרשאות והגדרה של מחזור חיים לקטגוריה הזו. קטגוריה אחת יכולה להכיל תמונות מצב מכמה סביבות, ואפשר גם ליצור קטגוריות שהן מיותרות באזורים שונים.
לפני שמתחילים
מידע נוסף על הדרישות והמגבלות בנוגע לתמונות מצב זמין במאמר שמירה וטעינה של תמונות מצב.
יצירת קטגוריה לתמונות מצב מתוזמנות
יוצרים קטגוריה לתמונות מצב מתוזמנות. כדאי לחשוב איך רוצים להשתמש בתמונות מצב של הסביבה. אם זה חלק מתוכנית ההתאוששות מאסון, כדאי להשתמש בקטגוריה שהיא מיותרת באזורים או בקטגוריה באזור אחר, כדי שתהיה לכם גישה לנתונים גם במקרה של הפסקת חשמל אזורית מלאה. אחרת, יכול להיות שיהיה מתאים יותר להשתמש בקטגוריה באותו אזור שבו נמצאת הסביבה. במקרה כזה, תוכלו לצמצם את העלויות של העברת נתונים בין אזורים.
הגדרת הרשאות לקטגוריה
מגדירים את ההרשאות הבאות:
לחשבון השירות של הסביבה שלכם צריכות להיות הרשאות קריאה וכתיבה בקטגוריה הזו. לדוגמה, בתפקיד Storage Object Admin יש הרשאות כאלה.
חשבונות משתמשים לא צריכים הרשאות נוספות כדי לטעון תמונות מצב מהמאגר, אלא אם רוצים להציג את התוכן של המאגר ממסוף Cloud de Confiance . במקרה כזה, לחשבון המשתמש צריכה להיות הרשאת קריאה בדלי.
הגדרת מחזור חיים לקטגוריה
כדי לחסוך בעלויות אחסון, אפשר להגדיר כלל למחיקת תמונות מצב של סביבות אחרי פרק זמן מסוים.
לדוגמה, כדי למחוק באופן אוטומטי תמונות מצב מלפני יותר מ-30 יום:
- קובעים הגדרה של מחזור חיים לקטגוריה.
- מציינים את הפעולה Delete object.
- בוחרים באפשרות גיל ומגדירים את התנאי ל-30 ימים.
הפעלת תזמון של תמונת מצב לסביבה
המסוף
במסוף Cloud de Confiance , עוברים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בקטע הגדרות שחזור > תזמון של צילום מצב, לוחצים על עריכה. נפתחת החלונית תזמון תמונת מצב.
בחלונית Snapshot schedule, בוחרים באפשרות Create snapshots periodically, according to the specified schedule.
בתפריט הנפתח תדירות התזמון, בוחרים באפשרות 'יומי', 'שבועי' או 'תקופה מותאמת אישית' לצילום תמונות מצב.
אפשר לציין לוח זמנים מותאם אישית באמצעות פורמט unix-cron. לדוגמה, כדי לשמור תמונות מצב כל 30 דקות, מציינים
*/30 * * * *.בשדה מיקום התמונה, בוחרים את תיקיית ה-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.
בבקשה הזו:
בפרמטר
updateMask, מציינים את המסכהconfig.recoveryConfig.scheduledSnapshotsConfigכדי להחליף את ההגדרה הקיימת של צילומי מצב מתוזמנים.בגוף הבקשה, מציינים את ההגדרה של התמונות:
{ "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 האלה נשארים במיקום שבו הם נשמרו.
המסוף
במסוף Cloud de Confiance , עוברים לדף Environments.
ברשימת הסביבות, לוחצים על שם הסביבה. הדף Environment details ייפתח.
עוברים לכרטיסייה Environment configuration (הגדרת הסביבה).
בקטע הגדרות שחזור > תזמון של צילום מצב, לוחצים על עריכה. נפתחת החלונית תזמון תמונת מצב.
בחלונית תזמון של תמונות מצב, בוחרים באפשרות לא ליצור תמונות מצב באופן אוטומטי.
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.
בבקשה הזו:
בפרמטר
updateMask, מציינים את המסכהconfig.recoveryConfig.scheduledSnapshotsConfig.enabledכדי להחליף את הערך של השדהenabled.בגוף הבקשה, מציינים את הערך החדש:
{ "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
}
}
}