CloudFormation テンプレートを使用して AWS Backup 設定を管理する方法を教えてください。
所要時間2分
0
AWS Backup を使用して、他の AWS リソースからデータをバックアップしたいと考えています。また、AWS CloudFormation テンプレートを使用して AWS Backup 設定を管理したいと思っています。
解決策
CloudFormation テンプレートを作成するには、サポートされている AWS Backup リソースタイプを使用します。たとえば、CloudFormation テンプレートを使用してバックアッププランを作成し、そのバックアッププランにリソースを割り当てることができます。テンプレートを使用してバックアッププランを作成し、バックアップボールトを作成し、バックアッププランにリソースを割り当てることもできます。
重要: バックアッププランでは、バックアッププランにリソースを割り当てるタグを指定する必要があります。バックアッププランを設定する前に、タグを決定してください。次に、タグが正しいリソースに割り当てられていることと、バックアッププランに正しく記述されていることを確認します。
バックアッププランを作成し、バックアッププランにリソースを割り当てるためのテンプレート
以下の YAML の CloudFormation テンプレートの例で、これらのタスクを実行します。
- BackupPlanWithThinBackups という名前のバックアッププランを作成します。
- Default という名前のボールトに保存するようにバックアップを設定します。
- 毎日午前 11 時 25 分にバックアップを実行するようにスケジュールされた RuleForDailyBackups という名前のバックアップルールを作成します。
- Windows VSS を有効にします。
- バックアップが作成されてから 7 日後に削除するようにライフサイクルを設定します。
- ディザスタリカバリのために us-west-2 AWS リージョンにバックアップをコピーするように CopyAction を設定します。
- AWSBackupDefaultServiceRole という名前の AWS Identity and Access Management (IAM) ロールを使用してバックアップジョブを実行します。
- backupplan キーと dsi-sandbox-daily の値でタグ付けされたすべてのリソースにバックアッププランを割り当てます。
AWSTemplateFormatVersion: 2010-09-09 Description: >- Backup Plan template to back up all resources tagged with backupplan=dsi-sandbox-daily at 11:25am UTC. Resources: BackupPlanWithThinBackups: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: "BackupPlanWithThinBackups" AdvancedBackupSettings: - ResourceType: EC2 BackupOptions: WindowsVSS: enabled BackupPlanRule: - RuleName: "RuleForDailyBackups" TargetBackupVault: Default ScheduleExpression: "cron(25 11 ? * * *)" Lifecycle: DeleteAfterDays: 7 CopyActions: - DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default Lifecycle: DeleteAfterDays: 14 TagBasedBackupSelection: Type: "AWS::Backup::BackupSelection" Properties: BackupSelection: SelectionName: "TagBasedBackupSelection" IamRoleArn: !Sub "arn:aws:iam::111222333444:role/service-role/AWSBackupDefaultServiceRole" ListOfTags: - ConditionType: "STRINGEQUALS" ConditionKey: "backupplan" ConditionValue: "dsi-sandbox-daily" BackupPlanId: !Ref BackupPlanWithThinBackups DependsOn: BackupPlanWithThinBackups
バックアッププランの作成、バックアップボールトの作成、バックアッププランへのリソースの割り当てを行うためのテンプレート
以下の YAML の CloudFormation テンプレートの例で、これらのタスクを実行します。
- Default という名前のバックアップボールトを作成します。
- BackupPlanWithThinBackups という名前のバックアッププランを作成します。
- BackupVaultWithThinBackups という名前のボールトに保存するようにバックアップを設定します。
- 毎日バックアップを実行するようにスケジュールされた RuleForDailyBackups という名前のバックアップルールを作成します。これらのバックアップは、作成されてから 7 日後に削除されます。
- Windows VSS を有効にします。
- ディザスタリカバリのために us-west-2 AWS リージョンにバックアップをコピーするように CopyAction を設定します。これらのバックアップは、作成されてから 14 日後に削除されます。
- 毎週月曜日の午前 11 時に毎週バックアップを実行するようにスケジュールされた RuleForWeeklyBackups という名前のバックアップルールを作成します。これらのバックアップは、作成されてから 28 日後に削除されます。
- RuleForMonthlyBackups という名前のバックアップルールを作成します。このルールは、毎月 1 日の午前 11 時にバックアップを実行するようにスケジュールされています。これらのバックアップは、作成されてから 90 日後に削除されます。
- AWSBackupDefaultServiceRole という名前の IAM ロールを使用してバックアップジョブを実行します。
- backup キーと thinbackup の値でタグ付けされたすべてのリソースにバックアッププランを割り当てます。
AWSTemplateFormatVersion: "2010-09-09" Description: "Backup Plan template for thin backups" Resources: BackupVaultWithThinBackups: Type: "AWS::Backup::BackupVault" Properties: BackupVaultName: "BackupVaultWithThinBackups" BackupPlanWithThinBackups: Type: "AWS::Backup::BackupPlan" Properties: BackupPlan: BackupPlanName: "BackupPlanWithThinBackups" AdvancedBackupSettings: - ResourceType: EC2 BackupOptions: WindowsVSS: enabled BackupPlanRule: - RuleName: "RuleForDailyBackups" TargetBackupVault: !Ref BackupVaultWithThinBackups ScheduleExpression: "cron(25 11 ? * * *)" Lifecycle: DeleteAfterDays: 7 CopyActions: - DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default Lifecycle: DeleteAfterDays: 14 - RuleName: "RuleForWeeklyBackups" TargetBackupVault: !Ref BackupVaultWithThinBackups ScheduleExpression: "cron(0 11 ? * 2 *)" Lifecycle: DeleteAfterDays: 28 CopyActions: - DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default Lifecycle: DeleteAfterDays: 14 - RuleName: "RuleForMonthlyBackups" TargetBackupVault: !Ref BackupVaultWithThinBackups ScheduleExpression: "cron(0 11 1 * ? *)" Lifecycle: DeleteAfterDays: 90 CopyActions: - DestinationBackupVaultArn: arn:aws:backup:us-west-2:111222333444:backup-vault:Default Lifecycle: DeleteAfterDays: 14 DependsOn: BackupVaultWithThinBackups TagBasedBackupSelection: Type: "AWS::Backup::BackupSelection" Properties: BackupSelection: SelectionName: "TagBasedBackupSelection" IamRoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/service-role/AWSBackupDefaultServiceRole" ListOfTags: - ConditionType: "STRINGEQUALS" ConditionKey: "backup" ConditionValue: "thinbackup" BackupPlanId: !Ref BackupPlanWithThinBackups DependsOn: BackupPlanWithThinBackups
関連情報
AWS公式更新しました 1年前
コメントはありません
関連するコンテンツ
- 質問済み 10ヶ月前lg...
- 承認された回答質問済み 1年前lg...
- AWS公式更新しました 1年前
- AWS公式更新しました 1年前
- AWS公式更新しました 1年前