Sorry for not completely answer the question but Azure Backup has long term backup. Im sure there is an option to store it 6 months
Here is an PowerShell script to configure that
# Connect to Azure account
Connect-AzAccount
Define variables
$ResourceGroupName = "YourResourceGroup"
$BackupVaultName = "YourBackupVault"
$BackupPolicyName = "MonthlyBackupPolicy"
$RetentionPeriodInDays = 183 # 6 months
Create the backup policy
$BackupPolicy = New-AzRecoveryServicesBackupProtectionPolicy -Name $BackupPolicyName -WorkloadType AzureVM
-RetentionDuration $RetentionPeriodInDays -ScheduleRunFrequency Monthly
-ScheduleRunDays @(1) # Run on the first day of every month
Set the backup policy for Azure VMs
$AzureVMs = Get-AzRecoveryServicesBackupContainer -ContainerType AzureVM
foreach ($VM in $AzureVMs) {
Enable-AzRecoveryServicesBackupProtection -ResourceGroupName $ResourceGroupName -Name $BackupVaultName
-AzureVM $VM `
-Policy $BackupPolicy
}
This configures a monthly backup at the first of the month and keeps the backup for 6 months. And attaches the VMs to the backup policy
And you can extend it with an automation runbook that newly deployed VMs are automatically associated with the backup policy or an azure policy. If you want me to elaborate about that let me know