AWS Backupについてまとめています。
AWS Backupは、AWSリソースのバックアップを一元管理できるサービス
AWS Backupは、AWSサービス全体でバックアップを集中管理・自動化するサービスです。
関連)AWS Backup | 一元化されたクラウドバックアップ | アマゾン ウェブ サービス
バックアップのスケジュール、ルール、ライフサイクルルールなどを定義してバックアッププランを設定すると、プランに従って自動的にバックアップが実行されます。バックアップ実行状況の監視や、バックアップからAWSリソースの復元機能も含まれています。
AWS Organizationsと合わせて利用するとバックアップポリシーをデプロイして、組織のAWSアカウントで一貫したバックアップルールの運用が可能です。
バックアップ対象は、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Elastic Block Store (Amazon EBS) ボリューム、Amazon Relational Database Service (Amazon RDS) データベース (Amazon Aurora クラスターを含む)、Amazon DynamoDB テーブル、Amazon Elastic File System (Amazon EFS) ファイルシステム、Amazon FSx for Lustre ファイルシステム、Amazon FSx for Windows File Serverファイルシステム、AWS Storage Gateway ボリュームなど。AWSリソースがバックアップ対象になります。バックアップの指定には、タグとリソースIDを使用し、バックアップ実行時のIAMロールを設定します。
AWS Backupの特徴
AWS Backupを使うと、バックアップ管理が一元化できます。バックアップポリシーを一元管理して、AWSリソースに適用できるんですね。バックアップの状況はバックアップコンソールで一括表示されるため、監査も容易です。
AWS Backupは、タグベースでバックアップポリシーを適用できます。AWSリソースに付与したAWSタグでリソースを分類して、タグごとにバックアップポリシーを適用できるんですね。事前に定義されたバックアップスケジュールに沿って、開示時刻、頻度を指定してバックアップポリシーを実行します。バックアップの保持管理も自動で処理がおこなわれます。バックアップのローテーションなどをオペレーションすることなく、古いバックアップを自動的に失効させるため、バックアップ用のストレージコストを節約できます。
AWS Backupダッシュボードでは、バックアップやリストアのアクティビティをモニターできます。AWS BackupとAWS CloudTrailを組み合わせると、バックアップアクティビティログが表示されます。また AWS Backup を Amazon Simple Notification Service (SNS) と統合すれば、バックアップやリカバリの開始や結果について、自動的でアラートが表示されます。本格的に監査レポートを作成するには、AWS Backup Audit Managerという機能が便利です。バックアップの頻度や保持期間など、事前に定義したデータ保護ポリシーの違反を自動検出することができます。
AWS Backup で保存したバックアップデータは暗号化されます。暗号化キーは、AWS Key Management Service (KMS)で管理されます。本番稼働データとバックアップデータで別々の暗号化キーを使うことで、セキュリティを高めることができます。
AWS Backupの使い方
AWS Backupは、AWSマネジメントコンソールやAWS CLIからバックアッププランや対象リソースなどの設定が可能です。
関連)AWS Backup
バックアッププラン作成画面では、よくある設定がテンプレートとして用意されているので、「テンプレートで開始する」を利用すると設定が簡単です。
テンプレートには、以下が用意されています。
- Daily-35day-Retention 毎日バックアップ/35日間保持
- Daily-Monthly-lyr-Retention 毎日・毎月バックアップ/1年間保持
- Daily-Weekly-Monthly-5yr-Retention 毎日・毎週・毎月バックアップ/5年間保持
- Daily-Weekly-Monthly-7yr-Retention 毎日・毎週・毎月バックアップ/5年間保持
JSONを使用してバックアッププランを定義
AWS CLIを使ってAWS Backupプランを作成することも可能です。以下のようなJSONファイルにバックアッププラン、ルール、バックアップデータのライフサイクルを記述し、aws backup create-backup-planコマンドを実行します。
【関連記事】
▶AWS CLIのインストール方法 AWSアクセスキーの登録と疎通確認
{ "BackupPlanName": "testplan", "Rules": [{ "RuleName": "HalfDayBackups", "TargetBackupVaultName": "primary", "ScheduleExpression": "cron(0 5/12 ? * * *)", "StartWindowMinutes": 480, "CompletionWindowMinutes": 10080, "Lifecycle": { "DeleteAfterDays": 30 }, "CopyActions": [{ "DestinationBackupVaultArn": "arn:aws:backup:eu-west-2:123456789:backup-vault:secondary", "Lifecycle": { "DeleteAfterDays": 30 } }] }] }
以下を実行して、作成したJSONファイルを渡します。出力されるBackupPlanIDをメモしておきます。
aws backup create-backup-plan --backup-plan file://
バックアッププランのリソースを指定するためのJSONファイルを作成します。
{ "SelectionName": "Myselection", "IamRoleArn": "arn:aws:iam::123456789:role/service-role/AWSBackupDefaultServiceRole", "Resources": ["arn:aws:ec2:eu-west-1:123456789:volume/vol-0abcdef1234"], "ListOfTags": [{ "ConditionType": "STRINGEQUALS", "ConditionKey": "backup", "ConditionValue": "yes" }] }
先程メモしておいたIDをbackup-plan-idの部分に指定して、以下を実行します。
aws backup create-backup-selection --backup-plan-id xxxx-xxxx-xxxx-xxxx --backup-selection file://
上記のようにAWS CLIを使うことで、バックアッププランの作成以外に、オンデマンドでバックアップを実行したり、リカバリを実行することが可能になります。
関連)AWS CLI を使用して AWS Backup プランを作成、またはオンデマンドジョブを実行する
AWS Backupまとめ
- AWS Backupは、AWSリソースのバックアップを一元管理できるサービス
- バックアッププランやスケジュールを作成して、AWSリソースごとに付与したタグごとにポリシーを適用できる
- AWSマネジメントコンソール以外に、AWS CLIからも操作が可能