Using EC2 for Databases
Databases are among the most used applications in the cloud (or anywhere else, for that matter). Managing data is exactly what computers were invented for, so it should come as no surprise that a great deal of attention is focused on the many different Database Management Systems and Data Management tools that are available.
This second part of our mini series covering AWS databases is about some of Amazon's advanced solutions. You will learn more about Redshift, the solution for massive petabyte-scale data warehouse, Elasticache, the Redis- and Memcached-based solution for in-memory cache, and SimpleDB, an easy alternative for NoSQL databases.
Who should take this course
For this beginner course, you'll require no special prerequisites. Nevertheless, some experience with Databases and at least a basic knowledge of the related jargon might be helpful. If you are completely new to the cloud, you might benefit from our introduction to cloud computing course. You might also find the AWS general introduction course interesting if you are not yet that familiar with the AWS cloud platform.
If you want to test your knowledge of the basic topics covered by this course, we strongly suggest you take our quiz questions. And of course, the first part of this course is a must if you want to learn more about the two major DB services on AWS: RDS and DynamoDB
An Amazon EC2 instance can be used to run a database and the data can be stored within an Amazon EBS volume. With Amazon EC2 Relational Databases AMIs you can avoid the friction of infrastructure provisioning while gaining access to a variety of standard database engines.
Amazon EC2 Relational Database AMIs enable developers to skip the infrastructure and hardware provisioning typically associated with installing a new database server.
While still enabling them to exert complete control over the the administrative and tuning tasks associated with running a database server.
There are numerous reasons why you'd want to run your Relational Database on EBS. Persistent storage in the event of instance failure. If an EBS volume is used as the storage for a Relational Database then the data is protected from instance termination or failure. You can simply attach or mount the volume on another instance and your engine database will run its normal recovery procedures to bring the database up to date with the binary logs.
Improved performance. Earlier reports from studies on random access disc I/O performance indicate that EBS I/O rates can be faster than ephemeral storage and even local disc I/O. This has obvious benefits for database which are often I/O bound. Large data storag capacity. EBS volumes can be up to 1 terabyte the size.
You can go larger with LVM or RAID across EBS volumes, or by placing different databases or table files on different EBS volumes.
Instance type portability, if you find your current small EC2 instance is not able to handle your growing demand you can switch the EBS volume holding your database to a running extra large instance in a matter of seconds without having to copy the database across the network. Also downgrade instance types later to save money.
Fast and easy backups, EBS snapshots can be a logical reason to move a database server to Amazon EC2. Being able to take live consistent binary snapshots of the database in just seconds is valuable. Add in the ability to create a new EBS volume from a snapshot so another EC2 instance can run against an exact copy of your database.
To use this service there are some specific steps that should be done sequentially. One: Launch a new EC2 instance, which has been covered deeply in the EC2 course. You can review that course if you need to. Two: Update the server and install your desired database engine.
Three: Create a new Elastic Block Storage volume and attach it to your instance. This was covered in the EBS course, so review that if you need to. Four: Finally create a database.
Computer Engineer and Cloud Expert