Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Ce end-to-end AWS CloudFormation modèle crée une attribution de ressource, un plan de sauvegarde et un coffre de sauvegarde de destination :
-
Un coffre de sauvegarde nommé
CloudFormationTestBackupVault
. -
Un plan de sauvegarde nommé
CloudFormationTestBackupPlan
. Ce plan exécutera deux règles de sauvegarde, qui effectuent toutes deux des sauvegardes tous les jours à midi (UTC) et les conservent pendant 210 jours. -
Une sélection de ressources nommée
BackupSelectionName
. -
-
L'attribution des ressources sauvegarde les ressources suivantes :
-
Toute ressource balisée avec la paire clé-valeur
backupplan:dsi-sandbox-daily
. -
Toute ressource balisée avec la valeur
prod
ou des valeurs commençant parprod/
.
-
-
L'attribution des ressources ne sauvegarde pas les ressources suivantes :
-
Tout cluster RDS, Aurora, Neptune ou DocumentDB.
-
Toute ressource balisée avec la valeur
test
ou des valeurs commençant partest/
.
-
-
Description: "Template that creates Backup Selection and its dependencies"
Parameters:
BackupVaultName:
Type: String
Default: "CloudFormationTestBackupVault"
BackupPlanName:
Type: String
Default: "CloudFormationTestBackupPlan"
BackupSelectionName:
Type: String
Default: "CloudFormationTestBackupSelection"
BackupPlanTagValue:
Type: String
Default: "test-value-1"
RuleName1:
Type: String
Default: "TestRule1"
RuleName2:
Type: String
Default: "TestRule2"
ScheduleExpression:
Type: String
Default: "cron(0 12 * * ? *)"
StartWindowMinutes:
Type: Number
Default: 60
CompletionWindowMinutes:
Type: Number
Default: 120
RecoveryPointTagValue:
Type: String
Default: "test-recovery-point-value"
MoveToColdStorageAfterDays:
Type: Number
Default: 120
DeleteAfterDays:
Type: Number
Default: 210
Resources:
CloudFormationTestBackupVault:
Type: "AWS::Backup::BackupVault"
Properties:
BackupVaultName: !Ref BackupVaultName
BasicBackupPlan:
Type: "AWS::Backup::BackupPlan"
Properties:
BackupPlan:
BackupPlanName: !Ref BackupPlanName
BackupPlanRule:
- RuleName: !Ref RuleName1
TargetBackupVault: !Ref BackupVaultName
ScheduleExpression: !Ref ScheduleExpression
StartWindowMinutes: !Ref StartWindowMinutes
CompletionWindowMinutes: !Ref CompletionWindowMinutes
RecoveryPointTags:
test-recovery-point-key-1: !Ref RecoveryPointTagValue
Lifecycle:
MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays
DeleteAfterDays: !Ref DeleteAfterDays
- RuleName: !Ref RuleName2
TargetBackupVault: !Ref BackupVaultName
ScheduleExpression: !Ref ScheduleExpression
StartWindowMinutes: !Ref StartWindowMinutes
CompletionWindowMinutes: !Ref CompletionWindowMinutes
RecoveryPointTags:
test-recovery-point-key-1: !Ref RecoveryPointTagValue
Lifecycle:
MoveToColdStorageAfterDays: !Ref MoveToColdStorageAfterDays
DeleteAfterDays: !Ref DeleteAfterDays
BackupPlanTags:
test-key-1: !Ref BackupPlanTagValue
DependsOn: CloudFormationTestBackupVault
TestRole:
Type: "AWS::IAM::Role"
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Principal:
Service:
- "backup.amazonaws.com"
Action:
- "sts:AssumeRole"
ManagedPolicyArns:
- !Sub "arn:${AWS::Partition}
:iam::aws:policy/service-role/AWSBackupServiceRolePolicyForBackup
"
BasicBackupSelection:
Type: 'AWS::Backup::BackupSelection'
Properties:
BackupPlanId: !Ref BasicBackupPlan
BackupSelection:
SelectionName: !Ref BackupSelectionName
IamRoleArn: !GetAtt TestRole.Arn
ListOfTags:
- ConditionType: STRINGEQUALS
ConditionKey: backupplan
ConditionValue: dsi-sandbox-daily
NotResources:
- 'arn:aws:rds:*:*:cluster:*'
Conditions:
StringEquals:
- ConditionKey: 'aws:ResourceTag/path'
ConditionValue: prod
StringNotEquals:
- ConditionKey: 'aws:ResourceTag/path'
ConditionValue: test
StringLike:
- ConditionKey: 'aws:ResourceTag/path'
ConditionValue: prod/*
StringNotLike:
- ConditionKey: 'aws:ResourceTag/path'
ConditionValue: test/*