Relation Database Service – RDS Overview
- Amazon Relational Database Service (RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.
- RDS provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.
- RDS features & benefits
- CPU, memory, storage, and IOPs can be scaled independently.
- manages backups, software patching, automatic failure detection, and recovery.
- automated backups can be performed as needed, or manual backups can be triggered as well. Backups can be used to restore a database, and the RDS restore process works reliably and efficiently.
- provides high availability with a primary instance and a synchronous standby secondary instance that can be failovered to seamlessly when a problem occurs.
- provides elasticity & scalability by enabling Read Replicas to increase read scaling.
- supports MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server, and the new, MySQL-compatible Amazon Aurora DB engine
- supports IAM users and permissions to control who has access to the RDS database service
- databases can be further protected by putting them in a VPC, using SSL for data in transit and encryption for data in rest
- However, as it is a managed service, shell (root ssh) access to DB instances is not provided, and this restricts access to certain system procedures and tables that require advanced privileges.
RDS Components
- DB Instance
- is a basic building block of RDS
- is an isolated database environment in the cloud
- each DB instance runs a DB engine. AWS currently supports MySQL, MariaDB, PostgreSQL, Oracle, and Microsoft SQL Server & Aurora DB engines
- can be accessed from AWS command line tools, RDS APIs, or the AWS Management RDS Console.
- computation and memory capacity of an DB instance is determined by its DB instance class, which can be selected as per the needs
- for each DB instance, 5 GB to 6 TB of associated storage capacity can be selected
- storage comes in three types: Magnetic, General Purpose (SSD), and Provisioned IOPS (SSD), which differ in performance characteristics and price
- each DB instance has a DB instance identifier, which is customer-supplied name and must be unique for that customer in an AWS region. It uniquely identifies the DB instance when interacting with the RDS API and AWS CLI commands.
- each DB instance can host multiple databases, or a single Oracle database with multiple schemas.
- can be hosted in an AWS VPC environment for better control
- Regions and Availability Zones
- AWS resources are housed in highly available data center facilities in different areas of world, these data centers are called regions which further contain multiple distinct locations called Availability Zones
- Each AZ is engineered to be isolated from failures in other AZs, and to provide inexpensive, low-latency network connectivity to other AZs in the same region
- DB instances can be hosted in different AZs, an option called a Multi-AZ deployment.
- Amazon automatically provisions and maintains a synchronous standby replica of the DB instance in a different AZ.
- Primary DB instance is synchronously replicated across AZs to the standby replica
- Provides data redundancy, failover support, eliminate I/O freezes, and minimize latency spikes during system backups.
- Security Groups
- security group controls the access to a DB instance, by allowing access to the specified IP address ranges or EC2 instances
- DB Parameter Groups
- A DB parameter group contains engine configuration values that can be applied to one or more DB instances of the same instance type
- help define configuration values specific to the selected DB Engine for e.g. max_connections, force_ssl, autocommit
- supports default parameter group, which cannot be edited.
- supports custom parameter group, to override values
- supports static and dynamic parameter groups
- changes to dynamic parameters are applied immediately (irrespective of apply immediately setting)
- changes to static parameters are NOT applied immediately and require a manual reboot.
- DB Option Groups
- Some DB engines offer tools or optional features that simplify managing the databases and making the best use of data.
- RDS makes such tools available through option groups for e.g. Oracle Application Express (APEX), SQL Server Transparent Data Encryption, and MySQL memcached support.
RDS Interfaces
- RDS can be interacted with multiple interfaces
- AWS RDS Management console
- Command Line Interface
- Programmatic Interfaces which include SDKs, libraries in different languages, and RDS API
RDS Pricing
- Instance class
- Pricing is based on the class (e.g., micro, small, large, xlarge) of the DB instance consumed.
- Running time
- Billed by the instance-hour, which is equivalent to a single instance running for an hour for e.g., a single instance running for two hours = two instances running for one hour, both consume 2 instance-hours.
- if a DB instance runs for only part of an hour, full instance-hour is charged
- Storage
- Storage capacity provisioned for the DB instance is billed per GB per month
- If the provisioned storage capacity is scaled within the month, the bill will be pro-rated.
- I/O requests per month
- Total number of storage I/O requests made in a billing cycle.
- Backup storage
- Automated backups & any active database snapshots consume storage
- Increasing backup retention period or taking additional database snapshots increases the backup storage consumed by the database.
- RDS provides backup storage up to 100% of the provisioned database storage at no additional charge for e.g., if you have 10 GB-months of provisioned database storage, RDS provides up to 10 GB-months of backup storage at no additional charge.
- Most databases require less raw storage for a backup than for the primary dataset, so if multiple backups are not maintained, you will never pay for backup storage.
- Backup storage is free only for active DB instances.
- Data transfer
- Internet data transfer in and out of your DB instance.
- Reserved Instance
- In addition to regular RDS pricing, reserved DB instances can be purchased
Further Reading
- RDS Multi-AZ and Read Replica
- RDS Storage
- RDS Snapshots, Backup & Restore
- RDS Security
- RDS Maintenance & Upgrades
- RDS Monitoring & Notification
AWS Certification Exam Practice Questions
- Questions are collected from Internet and the answers are marked as per my knowledge and understanding (which might differ with yours).
- AWS services are updated everyday and both the answers and questions might be outdated soon, so research accordingly.
- AWS exam questions are not updated to keep up the pace with AWS updates, so even if the underlying feature has changed the question might not be updated
- Open to further feedback, discussion and correction.
- What does Amazon RDS stand for?
- Regional Data Server.
- Relational Database Service
- Regional Database Service.
- How many relational database engines does RDS currently support?
- MySQL, Postgres, MariaDB, Oracle and Microsoft SQL Server
- Just two: MySQL and Oracle.
- Five: MySQL, PostgreSQL, MongoDB, Cassandra and SQLite.
- Just one: MySQL.
- If I modify a DB Instance or the DB parameter group associated with the instance, should I reboot the instance for the changes to take effect?
- No
- Yes
- What is the name of licensing model in which I can use your existing Oracle Database licenses to run Oracle deployments on Amazon RDS?
- Bring Your Own License
- Role Bases License
- Enterprise License
- License Included
- Will I be charged if the DB instance is idle?
- No
- Yes
- Only is running in GovCloud
- Only if running in VPC
- What is the minimum charge for the data transferred between Amazon RDS and Amazon EC2 Instances in the same Availability Zone?
- USD 0.10 per GB
- No charge. It is free.
- USD 0.02 per GB
- USD 0.01 per GB
- Does Amazon RDS allow direct host access via Telnet, Secure Shell (SSH), or Windows Remote Desktop Connection?
- Yes
- No
- Depends on if it is in VPC or not
- What are the two types of licensing options available for using Amazon RDS for Oracle?
- BYOL and Enterprise License
- BYOL and License Included
- Enterprise License and License Included
- Role based License and License Included
- A user plans to use RDS as a managed DB platform. Which of the below mentioned features is not supported by RDS?
- Automated backup
- Automated scaling to manage a higher load
- Automated failure detection and recovery
- Automated software patching
- A user is launching an AWS RDS with MySQL. Which of the below mentioned options allows the user to configure the InnoDB engine parameters?
- Options group
- Engine parameters
- Parameter groups
- DB parameters
- A user is planning to use the AWS RDS with MySQL. Which of the below mentioned services the user is not going to pay?
- Data transfer
- RDS CloudWatch metrics
- Data storage
- I/O requests per month