Updating a backup policy
Note
Backups are created according to the local time of the VM. There may be a slight delay in the schedule depending on the current service load.
Changing basic settings
-
In the management console
, select the folder in which you want to update a backup policy. -
In the list of services, select Cloud Backup.
-
Go to the
Backup policies tab. -
Click
next to the backup policy you want to update and select Edit. -
Edit the backup policy parameters:
-
Enter a name. The naming requirements are as follows:
- The name must be from 3 to 63 characters long.
- It may contain lowercase Latin letters, numbers, and hyphens.
- The first character must be a letter and the last character cannot be a hyphen.
-
In the Create backups field, select how often backups should be created:
Every hour
.Every day
: Specify the time for creating backups.Every week
: Specify the days of the week and time for creating backups.By month
: Specify the months, days of the month, and time for creating backups.
-
Select the type of backup:
Incremental
: Only data that differs from a previous backup is saved.Full
: All VM's data is saved.
-
Select the policy for backup retention:
Retain all backups
: All backups created under this backup policy will be retained.Only the last
: Specify the number of recent backups you want to retain or the number of days, weeks, or months for which to retain the backups. All other backups are deleted automatically.
If you create the policy via the management console, subsequent changes of backup retention rules will take effect as soon as you create another backup.
-
-
Click Save.
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
See the description of the CLI command to update a backup policy:
yc backup policy update --help
-
Specify the backup policy configuration in JSON
format.Sample configuration file
{ "compression": "NORMAL", "format": "AUTO", "multiVolumeSnapshottingEnabled": true, "preserveFileSecuritySettings": true, "reattempts": { "enabled": true, "interval": { "type": "SECONDS", "count": "30" }, "maxAttempts": "30" }, "silentModeEnabled": true, "splitting": { "size": "1099511627776" }, "vmSnapshotReattempts": { "enabled": true, "interval": { "type": "MINUTES", "count": "5" }, "maxAttempts": "3" }, "vss": { "enabled": true, "provider": "TARGET_SYSTEM_DEFINED" }, "archive": { "name": "'[Machine Name]-[Plan ID]-[Unique ID]A'" }, "performanceWindow": { }, "retention": { "rules": [ { "maxCount": "10" } ], "beforeBackup": true }, "scheduling": { "backupSets": [ { "time": { "weekdays": [ "MONDAY" ], "repeatAt": [ { "minute": "5" } ], "type": "WEEKLY" } } ], "enabled": true, "maxParallelBackups": "2", "randMaxDelay": { "type": "MINUTES", "count": "30" }, "scheme": "ALWAYS_INCREMENTAL", "weeklyBackupDay": "MONDAY" }, "cbt": "ENABLE_AND_USE", "fastBackupEnabled": true, "quiesceSnapshottingEnabled": true }
The example describes a configuration for a backup policy that will create incremental VM backups every Monday at 00:05 (UTC+0). Only the last 10 backups will be stored.
-
Get the ID of the backup policy you want to update:
yc backup policy list
Result:
+----------------------+----------------------+---------+---------+---------------------+---------------------+ | ID | FOLDER ID | NAME | ENABLED | CREATED AT | UPDATED AT | +----------------------+----------------------+---------+---------+---------------------+---------------------+ | abc7n3wln123******** | ghi681qpe789******** | policy1 | true | 2023-07-03 09:12:02 | 2023-07-03 09:12:43 | | deflqbiwc456******** | ghi681qpe789******** | policy2 | true | 2023-07-07 14:58:23 | 2023-07-07 14:58:23 | +----------------------+----------------------+---------+---------+---------------------+---------------------+
-
Update the backup policy by specifying its ID:
yc backup policy update <backup_policy_ID> \ --settings-from-file <configuration_file_path>
Where
--settings-from-file
is the path to the backup policy configuration file in JSON format.Result:
id: cbq5rwepukxn******** name: test2 created_at: "2023-07-03T08:24:16.735555276Z" updated_at: "2023-07-03T08:24:16.746377738Z" enabled: true settings: compression: NORMAL format: AUTO multi_volume_snapshotting_enabled: true preserve_file_security_settings: true reattempts: enabled: true interval: type: SECONDS count: "30" max_attempts: "30" silent_mode_enabled: true splitting: size: "1099511627776" vm_snapshot_reattempts: enabled: true interval: type: MINUTES count: "5" max_attempts: "3" vss: enabled: true provider: TARGET_SYSTEM_DEFINED archive: name: '''[Machine Name]-[Plan ID]-[Unique ID]A''' performance_window: {} retention: rules: - max_count: "10" before_backup: true scheduling: backup_sets: - time: weekdays: - MONDAY repeat_at: - minute: "5" type: WEEKLY enabled: true max_parallel_backups: "2" rand_max_delay: type: MINUTES count: "30" scheme: ALWAYS_INCREMENTAL weekly_backup_day: MONDAY cbt: ENABLE_AND_USE fast_backup_enabled: true quiesce_snapshotting_enabled: true folder_id: d2q792qpemb4********
For more information about the command, see the CLI reference.
Terraform
For more information about the provider resources, see the documentation on the Terraform
If you change the configuration files, Terraform automatically detects which part of your configuration is already deployed, and what should be added or removed.
If you don't have Terraform, install it and configure the Yandex Cloud provider.
To edit the basic parameters of a backup policy:
-
Open the Terraform configuration file and edit the required settings in the
yandex_backup_policy
resource description:Sample
yandex_backup_policy
resource description in the Terraform configurationresource "yandex_backup_policy" "my_policy" { archive_name = "[<VM_name>]-[<plan_ID>]-[<unique_ID>]a" cbt = "USE_IF_ENABLED" compression = "NORMAL" fast_backup_enabled = true format = "AUTO" multi_volume_snapshotting_enabled = true name = "<backup_policy_name>" performance_window_enabled = true preserve_file_security_settings = true quiesce_snapshotting_enabled = true silent_mode_enabled = true splitting_bytes = "9223372036854775807" vss_provider = "NATIVE" reattempts { enabled = true interval = "1m" max_attempts = 10 } retention { after_backup = false rules { max_age = "365d" repeat_period = [] } } scheduling { enabled = false max_parallel_backups = 0 random_max_delay = "30m" scheme = "ALWAYS_INCREMENTAL" weekly_backup_day = "MONDAY" execute_by_time { include_last_day_of_month = true monthdays = [] months = [1,2,3,4,5,6,7,8,9,10,11,12] repeat_at = ["04:10"] repeat_every = "30m" type = "MONTHLY" weekdays = [] } } vm_snapshot_reattempts { enabled = true interval = "1m" max_attempts = 10 } }
For more information about the
yandex_backup_policy
resource parameters, see the provider documentation . -
Apply the changes:
-
In the terminal, change to the folder where you edited the configuration file.
-
Make sure the configuration file is correct using the command:
terraform validate
If the configuration is correct, the following message is returned:
Success! The configuration is valid.
-
Run the command:
terraform plan
The terminal will display a list of resources with parameters. No changes are made at this step. If the configuration contains errors, Terraform will point them out.
-
Apply the configuration changes:
terraform apply
-
Confirm the changes: type
yes
in the terminal and press Enter.
You can check the update using the management console
or this CLI command:yc backup policy get <policy_ID>
-
To update the basic parameters of a backup policy, use the update REST API method for the Policy resource or the PolicyService/Update gRPC API call.
Updating a VM list
- In the management console
, select the folder where the backup policy resides. - In the list of services, select Cloud Backup.
- Go to the
Backup policies tab. - Select the backup policy in which you want to edit the list of VMs.
- Update the list of VMs:
- To add a new VM, click
Attach VM under Virtual machines. In the window that opens, select the VM you want to link to the backup policy and click Attach. - To remove a VM, under Virtual machines, click
next to the VM you want to unlink from the backup policy and select Detach from policy.
- To add a new VM, click
If you do not have the Yandex Cloud command line interface yet, install and initialize it.
The folder specified in the CLI profile is used by default. You can specify a different folder using the --folder-name
or --folder-id
parameter.
-
Get the ID of the backup policy in which you want to edit the list of VMs:
yc backup policy list
Result:
+----------------------+----------------------+---------+---------+---------------------+---------------------+ | ID | FOLDER ID | NAME | ENABLED | CREATED AT | UPDATED AT | +----------------------+----------------------+---------+---------+---------------------+---------------------+ | abc7n3wln123******** | ghi681qpe789******** | policy1 | true | 2023-07-03 09:12:02 | 2023-07-03 09:12:43 | | deflqbiwc456******** | ghi681qpe789******** | policy2 | true | 2023-07-07 14:58:23 | 2023-07-07 14:58:23 | +----------------------+----------------------+---------+---------+---------------------+---------------------+
-
Get the IDs of VMs to add or delete:
yc compute instance list
Result:
+----------------------+---------+---------------+---------+--------------+-------------+ | ID | NAME | ZONE ID | STATUS | EXTERNAL IP | INTERNAL IP | +----------------------+---------+---------------+---------+--------------+-------------+ | jklp0o9i8012******** | my-vm-1 | ru-central1-b | RUNNING | 51.250.**.** | 192.168.*.* | | mnoa5s6d8345******** | my-vm-2 | ru-central1-b | RUNNING | 84.201.**.** | 192.168.*.* | +----------------------+---------+---------------+---------+--------------+-------------+
-
Edit the list of VMs in the backup policy.
-
To link a VM to a backup policy:
View a description of the CLI command:
yc backup policy apply --help
Link your VMs to the backup policy by specifying their IDs:
yc backup policy apply <backup_policy_ID> \ --instance-ids <VM_IDs>
Where
--instance-ids
are the IDs of VMs to link to the backup policy. Multiple IDs should be comma-separated.For more information about the command, see the CLI reference.
-
To unlink a VM from a backup policy:
View a description of the CLI command:
yc backup policy revoke --help
Unlink your VMs from the backup policy by specifying their IDs:
yc backup policy revoke <backup_policy_ID> \ --instance-ids <VM_IDs>
Where
--instance-ids
are the IDs of VMs to unlink from the backup policy. Multiple IDs should be comma-separated.For more information about the command, see the CLI reference.
-
To edit the list of VMs whose backups are created according to a backup policy, use the update REST API method for the Policy resource or the PolicyService/Update gRPC API call.