While the question is already answered by Tim and it has already been selected as the right answer, let me share my thoughts on backups as an answer too, as it will have better visibility for others. As mentioned in my comment to the original question, the question is very broad. It can lead to multiple answers. There are different types of backups. For example, what Tim answered was for server-level backups where the entire server is taken as a backup. It happens irrespective of the app or software it runs (such as WordPress).
App-level backups can also be taken. Depending on the app, some apps have only static files. Some have databases. For WordPress, it contains both DB and files. App-level backups are independent of servers that they run on. When we have app-level backups, we can quickly switch the host. Most hosted WordPress platforms offers free migration. All they'd require is a complete WordPress backup (of DB and files). So, when we have a complete WP backup, we can host our site on any webhost (not just AWS EC2). Another advantage of app-level backups is... it is even possible to automate the process of deploying our site or we can quickly deploy a staging site from the backups to test drive the updates (such as WordPress core updates, themes and plugins).
Since both WordPress and Duplicator plugin are mentioned, I thought you were looking for app-level backup solution. EBS snapshot does work great on certain use-cases. There is no particular solution that fits every use-case. For example, some sites may require real-time backup of DB and / or files. In such cases, something similar to VaultPress is the recommended solution.