We continue our series of posts on Veeam Backup for AWS (VBA) and we look at its architecture and deployment process. Veeam Backup for AWS appliance coordinates backup and recovery tasks, controls scheduling, notifications, manages retention tasks and controls deployment of additional components used during backup and restore operations.
Veeam Backup for AWS appliance is a Linux-based EC2 instance running several services:
- Backup service - coordinates backup and recovery operations.
- Configuration database (PostgreSQL) - stores configuration of backup policies, worker instance, added IAM roles, sessions and so on
- Configuration restore service — allows to back up and restore the configuration of the backup appliance. While connected to a VBR server, the configuration backup will be configured and executed from VBR console.
- Web UI - web interface to access VBA
- Veeam Updater service - install product and package updates
- Veeam FLR service — restore individual files and folders of protected EC2 instances
- Self Backup service — allows Veeam Backup for AWS to back up and restore the configuration database of the backup appliance.
- REST API service
Veeam Backup & Replication server (VBR) centrally manages VBA appliances. One or more instances can be managed from the same VBR allowing for multi-region deployment. The backup server (VBR) can be deployed either in AWS or on-premises. Backup server uses Veeam Plugin for AWS to connect to AWS services and manage the lifecycle of Veeam Backup for AWS components.
- AWS IAM - create IAM roles for VBA (impersonation role and backup/restore access role)
- Amazon EC2 - deploy the appliance from an EC2 Ubuntu image and create networking if necessary
- AWS SSM - run scripts and configure the VBA appliance
- Amazon S3 - deployment scripts and binaries
- Amazon KMS
- Amazon STS
- CloudWatch
- Service Quota
- cloudtrail.amazonaws.com
- config.amazonaws.com
- ec2.amazonaws.com
- kms.amazonaws.com
- monitoring.amazonaws.com
- notifications.amazonaws.com
- resource-explorer-2.amazonaws.com
- s3.amazonaws.com
- servicequotas.amazonaws.com
- ssm.amazonaws.com
- sso.amazonaws.com
- sts.amazonaws.com
- get and deploy an EC2 Ubuntu image
- create IAM roles
- prepare the instance (deploy and configure the required binaries in the appliance)
- create administrator credentials for the appliance
- initialize services in the appliances
- check for updates for Ubuntu Linux, Microsoft Windows (ASP.NET Core Runtime) and PostgreSQL
- install updates
- reboot appliance
- add permissions to IAM role
