REL 9: データはどのようにバックアップするのですか?
目標復旧時間 (RTO) と目標復旧時点 (RPO) の要件を満たすように、データ、アプリケーション、設定をバックアップします。
リソース
What Is AWS Backup?
AWS re:Invent 2019: Deep dive on AWS Backup, ft. Rackspace (STG341)
Well-Architected lab: Level 200: Testing Backup and Restore of Data
Amazon S3: Protecting Data Using Encryption
Encryption for Backups in AWS
On-demand backup and restore for DynamoDB
EFS-to-EFS backup
AWS Marketplace: products that can be used for backup
APN Partner: partners that can help with backup
ベストプラクティス:
-
バックアップする必要があるすべてのデータを特定してバックアップするか、ソースからデータを再現する: Amazon S3 は、複数のデータソースのバックアップ先として使用できます。Amazon EBS、Amazon RDS、Amazon DynamoDB などの AWS のサービスには、バックアップを作成する機能が組み込まれています。サードパーティー製のバックアップソフトウェアも使用できます。また、データを他のソースから複製して RPO を満たせる場合は、バックアップが必要ない場合もあります
-
バックアップを保護し、暗号化する: AWS IAM などの認証と許可を使用してアクセスを検出し、暗号化を使用してデータの整合性の侵害を検出します。
-
データバックアップを自動的に実行する: 定期的なスケジュールに基づいて、またはデータセット内の変更に基づいて自動的にバックアップが作成されるように設定します。RDS インスタンス、EBS ボリューム、DynamoDB テーブル、および S3 オブジェクトはすべて、自動的にバックアップされるように設定できます。AWS Marketplace ソリューションまたはサードパーティーのソリューションも使用できます。
-
データの定期的な復旧を行ってバックアップの完全性とプロセスを確認する: 復旧テストを実行して、バックアッププロセスの実装が目標復旧時間 (RTO) と目標復旧時点 (RPO) を満たしていることを検証します。
改善計画
バックアップする必要があるすべてのデータを特定してバックアップするか、ソースからデータを再現する
What Is AWS Backup?
Well-Architected lab: Level 200: Testing Backup and Restore of Data
Creating a DB Snapshot
Amazon EBS Snapshots
On-Demand Backup and Restore for DynamoDB
Creating a DB Cluster Snapshot in Neptune
Cross-Region Replication
Working with Amazon OpenSearch Service Index Snapshots
Backup and Restore for ElastiCache for Redis
Backing Up Amazon EFS
Exporting Log Data to Amazon S3
- AWS CloudFormation (または信頼できるサードパーティープロバイダー) を利用し、KMS 暗号化を用いて EBS ボリュームを作成します。
AWS CloudFormation: AWS::EC2::Volume - 定期的なスナップショットを作成する: EBS ボリュームのスナップショットを定期的に作成するためのスケジュールと適切なプロセスを決定します。これはアプリケーションによって異なります。
Amazon EBS snapshots- 災害対策要件に基づいて、スナップショットをレプリケートする必要があるかどうかを判断します。: スナップショットは別のアカウントや AWS リージョンにレプリケートしなければならない場合があります
Copying an Amazon EBS snapshot
- 災害対策要件に基づいて、スナップショットをレプリケートする必要があるかどうかを判断します。: スナップショットは別のアカウントや AWS リージョンにレプリケートしなければならない場合があります
- EFS-to-EFS バックアップを自動化する
EFS-to-EFS AWS Backup
Using AWS Backup with Amazon EFS - バックアップソリューションをデプロイして実行するために、スケジュールされたイベントを作成します。
- コピーを取り終えたら、AWS API オペレーション (または信頼できるサードパーティーのソリューション) を使ってデータを Amazon S3 にコピーし、耐久性を高めることができます: 使用している AWS リージョンが Amazon EFS をサポートしていない場合は、AWS Data Pipeline を使用します。
Backing up Amazon EFS file systems using AWS Data Pipeline
- コピーを取り終えたら、AWS API オペレーション (または信頼できるサードパーティーのソリューション) を使ってデータを Amazon S3 にコピーし、耐久性を高めることができます: 使用している AWS リージョンが Amazon EFS をサポートしていない場合は、AWS Data Pipeline を使用します。
- AWS CloudFormation (または信頼できるサードパーティープロバイダー) を使用し、KMS 暗号化を用いて RDS インスタンスを作成します。
AWS::RDS::DBInstance - 推奨のバックアップウィンドウ、バックアップ保持期間、KMS キー ID、ストレージ暗号化のオプションを設定します。
- 災害対策要件に基づいて、スナップショットをレプリケートする必要があるかどうかを判断します。
Encrypting Amazon RDS resources
How Amazon Relational Database Service (Amazon RDS) uses AWS KMS
- 災害対策要件に基づいて、スナップショットをレプリケートする必要があるかどうかを判断します。
- CloudFormation または信頼できるサードパーティープロバイダーを使用して、DynamoDB テーブルとそれに関連する TTL 設定、IAM ポリシー、CloudWatch
アラームを作成する: AWS CLI、AWS SDK、信頼できるサードパーティープロバイダーを使用して DynamoDB Auto Scaling を作成します。
AWS::DynamoDB::Table
Using the AWS CLI to manage DynamoDB automatic scaling
Application programming with DynamoDB automatic scaling - DynamoDB API オペレーションを使用してバックアップを作成し復元する: スナップショットは、AWS で管理されたキーを使用して自動的に暗号化されます。
On-Demand Instance backup and restore for DynamoDB. - DynamoDB API オペレーションを使用してポイントインタイムリカバリを有効化する: これにより、過去 35 日間の任意の時点に復元できます。
Point-in-time recovery for DynamoDB
Exporting log data to Amazon S3
- CloudFormation か信頼できるサードパーティープロバイダーを利用して、CloudWatch Logs ロググループと関連する日単位での保持期間を作成します。
AWS::Logs::LogGroup - スケジュールされたイベントを作成して、CloudWatch Logs の GetLogEvents API を使用する AWS Lambda 関数を呼び出し、ログデータを
Amazon S3 にエクスポートします。
Creating an EventBridge Rule That Triggers on a Schedule
Using AWS Lambda with scheduled events
Exporting log data to Amazon S3- ログをアーカイブして最終的に削除するために Amazon S3 Glacier に保存する時期について、S3 バケットのライフサイクルポリシーを作成します。
Object lifecycle management
- ログをアーカイブして最終的に削除するために Amazon S3 Glacier に保存する時期について、S3 バケットのライフサイクルポリシーを作成します。
バックアップを保護し、暗号化する
- RDS での暗号化を有効にする: RDS インスタンスの作成時に、AWS Key Management Service を使用して保管時の暗号化を設定できます。
Encrypting Amazon RDS Resources - EBS ボリュームの暗号化を有効にする: デフォルトの暗号化を設定するか、ボリュームの作成時に一意のキーを指定できます。
Amazon EBS Encryption - 必要な Amazon DynamoDB 暗号化を使用する: DynamoDB は、保管中のすべてのデータを暗号化します。AWS が所有するカスタマーマスターキー (CMK) または AWS 管理の CMK を使用して、アカウントに保存されているキーを指定できます。
DynamoDB Encryption at Rest
Managing Encrypted Tables - Amazon EFS に保存されているデータを暗号化する: ファイルシステムを作成するときに暗号化を設定します。
Encrypting Data and Metadata in EFS - ソースと送信先のリージョンで暗号化を設定する: KMS に保存されているキーを使用して S3 で保管時の暗号化を設定できますが、キーはリージョン固有です。レプリケーションを設定するときに、送信先キーを指定できます。
CRR Additional Configuration: Replicating Objects Created with Server-Side Encryption (SSE) Using Encryption Keys stored in AWS KMS
Security Pillar: AWS Well-Architected
データバックアップを自動的に実行する
What Is AWS Backup?
AWS re:Invent 2019: Deep dive on AWS Backup, ft. Rackspace (STG341)
- バックアップ計画を作成する: バックアッププランは、AWS リソースをバックアップするタイミングと方法を定義するポリシー式です。
Managing Backups Using AWS Backup Plans - バックアップボールトを作成する: バックアップボールトは、バックアップを整理するためのコンテナです。
Organizing Backups Using AWS Backup Vaults - バックアップを作成する: バックアップは、指定された時刻におけるリソースのコンテンツを表します。
AWS Backup: Backups
Creating an EventBridge Rule That Triggers on a Schedule
What Is AWS Step Functions?
Amazon States Language
データの定期的な復旧を行ってバックアップの完全性とプロセスを確認する
Creating an EventBridge Rule That Triggers on a Schedule
What Is AWS Step Functions?
Amazon States Language