Skip to content

Commit 2506a5e

Browse files
committed
README: component image, restore testing; CFn: param descriptions
1 parent cf23fef commit 2506a5e

3 files changed

Lines changed: 36 additions & 20 deletions

File tree

README.md

Lines changed: 28 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ Jump to:
3535
•
3636
[Security](#security)
3737

38+
![The main components of Backup Events are: an AWS Backup vault in every account and region; 3 event rules in resource accounts; backup copy and retention reduction AWS Lambda functions in resource accounts; and a copy function in the backup account]( backup-events-aws-components.png "Components of Backup Events")
39+
3840
## Quick Start
3941

4042
1. Check prerequisites.
@@ -320,9 +322,14 @@ software at your own risk. You are encouraged to evaluate the source code._
320322
- Test Backup Events in your AWS environment. Please
321323
[report bugs](https://github.com/sqlxpert/backup-events-aws/issues).
322324

323-
- Test your backups! Can they be restored?
325+
- You could base automated alerts on the information sources in Step 13 of the
326+
[quick-start](#quick-start), but what really counts is the presence and
327+
restorability of final backups. Automated restoration testing and a backup
328+
policy with a flexible replacement algorithm (in case the backup from the
329+
first day of the month is unavailable, substitute the one from the second
330+
day, and so on, within a reasonable limit) is a better initial investment.
324331
[AWS Backup restore testing](https://docs.aws.amazon.com/aws-backup/latest/devguide/restore-testing.html)
325-
can help.
332+
looks promising!
326333

327334
- Set lifecycles in your backup plans, and when making on-demand backups, but
328335
**specify 7 days minimum before backups are transitioned to cold storage** /
@@ -345,11 +352,19 @@ software at your own risk. You are encouraged to evaluate the source code._
345352

346353
- ([Code](https://github.com/aws-samples/aws-blog-automate-amazon-rds-cross-account-backups))
347354
[Automate cross-account backups of RDS and Aurora databases with AWS Backup](https://aws.amazon.com/blogs/database/automate-cross-account-backups-of-amazon-rds-and-amazon-aurora-databases-with-aws-backup/)<br>
348-
Enrique Ramirez, AWS Database Blog, October 14, 2021
355+
Enrique Ramirez, _AWS Database Blog_, October 14, 2021
349356

350357
- ([Code](https://github.com/aws-samples/eventbridge-cross-account-targets))
351358
[Introducing cross-account targets for EventBridge Event Buses](https://aws.amazon.com/blogs/compute/introducing-cross-account-targets-for-amazon-eventbridge-event-buses/)<br>
352-
Chris McPeek, AWS Compute Blog, January 21, 2025
359+
Chris McPeek, _AWS Compute Blog_, January 21, 2025
360+
361+
### Going Deeper
362+
363+
- [AWS Backup and AWS CloudFormation](https://docs.aws.amazon.com/aws-backup/latest/devguide/integrate-cloudformation-with-aws-backup.html)<br>
364+
_AWS Backup Developer Guide_
365+
366+
- [What's New: KMS Multi-Region Keys](https://aws.amazon.com/blogs/security/encrypt-global-data-client-side-with-aws-kms-multi-region-keys/)<br>
367+
June 16, 2021, _AWS Security Blog_, Jeremy Stieglitz, Ben Farley, and Peter Zieske
353368

354369
## Motivation
355370

@@ -374,21 +389,20 @@ remember wishing for a simpler, self-documenting function.
374389
So, Paul decided to write a new solution from scratch, on his own behalf. The
375390
benefits?
376391

377-
- One CloudFormation template replaces AWS's three templates. Advanced
378-
users can use the template to create a StackSet for deployment at scale.
379-
Whether the current AWS account and region match the backup account and
380-
backup region determines which AWS resources are created, and what the
381-
source and target strings are.
392+
- One CloudFormation template replaces AWS's three separate templates.
393+
Advanced users can create a StackSet for deployment at scale. Whether the
394+
current AWS account and region match the backup account and backup region
395+
determines backup source and target strings, and which resources to create.
382396

383-
- On-demand backups are supported. AWS's solution depends on a copy step
384-
that can be included in backup plans but not in on-demand backup requests.
397+
- On-demand backups work, too. AWS's solution depends on a copy step available
398+
in backup plans but not on-demand backup requests.
385399

386-
- Advanced users can provide a multi-region KMS key. For now, Paul is not
400+
- Advanced users can provide a multi-region KMS key. (For now, Paul is not
387401
publishing his test key definitions and key policies. The risk that an LLM
388402
will treat a general example as specific, and that the security of some
389403
important system will be compromised, is too great. If you need help with
390404
multi-region, cross-account KMS encryption keys, least-privilege IAM
391-
policies, etc., contact Paul!
405+
policies, etc., contact Paul!)
392406

393407
- Object-oriented Python code interprets backup job completed events and
394408
copy job completed events. A superclass covers the many similarities and a
@@ -405,6 +419,7 @@ benefits?
405419
eliminates a custom event bus. Paul goes further than the AWS Compute blog
406420
post and sample code, restricting permissions as much as possible.
407421

422+
Enjoy!
408423
</details>
409424

410425
## Licenses

backup-events-aws-components.png

363 KB
Loading

backup_events_aws.yaml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ Parameters:
2323
EnableCopy:
2424
Type: String
2525
Description: >-
26-
No catch-up feature! Backups completed while this is false will never be
27-
copied to the backup account. Copies completed while this is false will
28-
never be copied to the backup region.
26+
Original backups completed while this is false will never be copied to
27+
the backup account. Copies completed while this is false will never be
28+
copied to the backup region. No catch-up provision!
2929
Default: "true"
3030
AllowedValues:
3131
- "false"
@@ -34,10 +34,11 @@ Parameters:
3434
EnableUpdateLifecycle:
3535
Type: String
3636
Description: >-
37-
No catch-up feature! Backups completed while this is false will never
38-
have their lifecycles updated for early deletion. 3 copies (2 copies in
39-
the backup account, plus the original backup) will be retained according
40-
to the backup's initial lifecycle.
37+
Original backups completed while this is false will never have their
38+
lifecycles updated for early deletion. 3 copies (the usual 2 copies in
39+
the backup account, plus the original backup, in its original account)
40+
will be retained according to the backup's initial lifecycle. No
41+
catch-up provision!
4142
Default: "true"
4243
AllowedValues:
4344
- "false"

0 commit comments

Comments
 (0)