...
Note |
---|
Note! If there are standalone ECs that are still running and writing their logs to the same EFS, whatever happens after the backup has been initiated will not be included in the backup. |
To create an EFS Azure File share backup using the console, see https://docslearn.awsmicrosoft.amazon.com/awsen-backupus/latestazure/devguidebackup/recovbackup-point-create-on-demand-backup.html for instructions. The section below contains an example of how to run an on-demand backup job azure-files?tabs=backup-center for instructions. Alternatively, you can also refer to Azure CLI version guide https://learn.microsoft.com/en-us/azure/backup/backup-afs-cli.
The section below contains an example of how to run an on-demand backup job using the command line. The snapshot will in this case be stored under the default backup vault.
Code Block |
---|
export EFSRESOURCE_NAME=uepe-eks-efs-diskGROUP=PT_Stratus export EFS_FILE_SYSTEM_ID=$(aws efs describe-file-systems --query "FileSystems[?Name==\`$EFS_NAME\`].FileSystemId" --output text) export EFS_ARN=$(aws efs describe-file-systemsLOCATION="Southeast Asia" export STORAGE_ACCOUNT_NAME=uepeaks export STORAGE_ACCOUNT_KEY=$(az storage account keys list --account-name $STORAGE_ACCOUNT_NAME --query "FileSystems[?Name==\`$EFS_NAME\`].FileSystemArn{Value:value}" --output text| jq -rc ".[0].Value") export VAULT_NAME=Default export BACKUP_ROLE_ARN=$(aws iam get-role --role-name AWSBackupDefaultServiceRole --query "Role.Arn" --output text) # Run on demand backup job aws backup start-backup-job \ --backup-vault-name $VAULT_NAME \ --resource-arn $EFS_ARN \ --iam-role-arn $BACKUP_ROLE_ARN # View backup job status aws backup list-backup-jobs --by-resource-type EFSSTORAGE_ACCOUNT_ID=$(az storage account show --resource-group $RESOURCE_GROUP --name $STORAGE_ACCOUNT_NAME | jq -rc ".id") export SUBSCRIPTION_ID=$(az account subscription list | jq -rc ".[0].subscriptionId") export FILE_SHARE=$(az storage share list --account-name $STORAGE_ACCOUNT_NAME --account-key $STORAGE_ACCOUNT_KEY --query "[].{Name:name}" | jq -rc ".[0].Name") export FILE_BACKUP_VAULT=azurefilesvault export FILE_BACKUP_POLICY=MyBackupPolicy # Create new file backup vault az backup vault create --resource-group $RESOURCE_GROUP --name $FILE_BACKUP_VAULT --location $LOCATION --output table az backup vault list --query "[].{Name:name}" # Create new file backup policy for scheduled backup # https://learn.microsoft.com/en-us/azure/backup/manage-afs-backup-cli#create-policy # https://learn.microsoft.com/en-us/azure/templates/microsoft.recoveryservices/vaults/backuppolicies?pivots=deployment-language-bicep#property-values cat <<-EOF > /path/to/$FILE_BACKUP_POLICY.json { "eTag": null, "id": "/Subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.RecoveryServices/vaults/$FILE_BACKUP_VAULT/backupPolicies/$FILE_BACKUP_POLICY", "location": null, "name": "$FILE_BACKUP_POLICY", "properties": { "backupManagementType": "AzureStorage", "protectedItemsCount": 0, "retentionPolicy": { "dailySchedule": { "retentionDuration": { "count": 30, "durationType": "Days" }, "retentionTimes": [ "2024-07-19T03:00:00+00:00" ] }, "monthlySchedule": null, "retentionPolicyType": "LongTermRetentionPolicy", "weeklySchedule": null, "yearlySchedule": null }, "schedulePolicy": { "schedulePolicyType": "SimpleSchedulePolicy", "scheduleRunDays": null, "scheduleRunFrequency": "Daily", "scheduleRunTimes": [ "2024-07-19T03:00:00+00:00" ], "scheduleWeeklyFrequency": 0 }, "timeZone": "UTC", "workLoadType": "AzureFileShare" }, "resourceGroup": "$RESOURCE_GROUP", "tags": null, "type": "Microsoft.RecoveryServices/vaults/backupPolicies" } EOF az backup policy list --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT --query "[].{Name:name}" az backup policy create --policy $FILE_BACKUP_POLICY.json --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT --name $FILE_BACKUP_POLICY --backup-management-type AzureStorage az backup policy show --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT --name $FILE_BACKUP_POLICY # Enable Azure File share backup protection az backup protection enable-for-azurefileshare --vault-name $FILE_BACKUP_VAULT --resource-group $RESOURCE_GROUP --policy-name $FILE_BACKUP_POLICY --storage-account $STORAGE_ACCOUNT_NAME --azure-file-share $FILE_SHARE --output table # Result output as in following: # Name ResourceGroup # ------------------------------------ --------------- # 2b85d01d-9a27-4a5a-aa9d-cbdad082cac2 PT_Stratus # Track job status az backup job show --name 2b85d01d-9a27-4a5a-aa9d-cbdad082cac2 --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT # Retrieve container registered to the Recovery services vault and export as env variable export CONTAINER_NAME=$(az backup container list --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT --backup-management-type AzureStorage | jq -rc ".[].name") # Retrieve backed up item and export as env variable export ITEM_NAME=$(az backup item list --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT | jq -rc ".[].name") # Perform on-demand backup az backup protection backup-now --vault-name $FILE_BACKUP_VAULT --resource-group $RESOURCE_GROUP --container-name $CONTAINER_NAME --item-name $ITEM_NAME --retain-until 20-01-2025 --output table # Result output as in following: # Name Operation Status Item Name Backup Management Type Start Time UTC Duration # ------------------------------------ ----------- ---------- ---------------------- ------------------------ -------------------------------- -------------- # 23300e34-b1e0-409c-804e-c247d4587f8f Backup InProgress uepe-aks-storage-share AzureStorage 2024-07-19T11:01:07.436164+00:00 0:00:02.178697 # Track job status az backup job show --name 23300e34-b1e0-409c-804e-c247d4587f8f --resource-group $RESOURCE_GROUP --vault-name $FILE_BACKUP_VAULT |
Restoring from Backup
If restoring becomes necessary, you can restore the recovery point into Azure Blob Storage and use DB native tools pg_restore to restore data as a new PostgreSQL flexible server, see Azure guide https://learn.microsoft.com/en-us/azure/backup/restore-azure-database-postgresql-flex for more information.
...