
EC2 shared responsibility and availability
In line with the shared responsibility model that we discussed in Chapter 2, The Fundamentals of Amazon Web Services, AWS makes sure that the underlying host the virtual machine is running on is secure and available at least 99.99% of the time during a monthly billing cycle, as defined in the EC2 Service Layer Agreement (SLA). That means that the security and configuration of the operating system and any application running within the operating system is our responsibility.
The EC2 SLA also does not define the EC2 service as an inherently highly available service, meaning a failure within AWS can cause us to lose a particular EC2 instance which is expected within the scope of the way EC2 functions. What that means is that we need to ensure high availability of our infrastructure when running EC2 instances and configure them in a way that achieves the following:
- The data processed by the EC2 instances is stored securely and replicated
- The application running in an EC2 instance can be easily recovered or can withstand failure of an EC2 instance