backup
- preferred backup window
- backup retention period
- I/O suspension for single
- Point-In-Time Recovery
snapshot
- DB Snapshots make entire DB instance
- from one region to another region,a copy retain in that region
- Because KMS encryption keys are specific to the region that they are created in, encrypted snapshot cannot be copied to another region
DB Snapshot Sharing
- DB snapshot that uses an option group with permanent or persistent options cannot be shared
- KMS key policy must first be updated by adding any accounts to share the snapshot with, before sharing an encrypted DB snapshot
replication
- routing read queries from applications to the Read Replica
- Failover mechanism automatically changes the DNS record of the DB instance to point to the standby DB instance
Multi-AZ deployment
- read-only traffic, use a Read Replica.
- synchronous standby replica in a different Availability Zone
- must be in same region
Read Replica
- RDS sets up a secure communications channel between the source DB instance and the Read Replica, if that Read Replica is in a different AWS region from the DB instance
- replication link is broken, A Read Replica can be promoted to a new independent source DB
- use some tools like HAPROXY, with two url ,one for write one tor read
security
- Encryption enabled at creating, can not change key later
- Once encryption, log,snapshot,autobackup, replica are encripted
- Cross region replicas and snapshots copy does not work since the key is only available in a single region
- Database security groups default to a “deny all” access mode
monitor
- 监控的metric 16 项, ReplicaLag
- Backup not notify for snapshot
maintenance
- Multi-AZ deployment, preform standby, promote standby, preform old primary
- RDS takes two DB snapshots , before upgrade, after upgrade
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 secondary instance that can be failovered to seamlessly when a problem occurs.
- provides elasticity & scalability by enabling MySQL, MariaDB, or PostgreSQL Read Replicas to increase read scaling.
- supports MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server, and the new, MySQL-compatible Amazon Aurora DB engine
- in addition to the security in the database package, IAM users and permissions can help 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 Amazon AWS command line tools, Amazon 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 Amazon 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 several 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
- DB Option Groups
- Some DB engines offer tools that simplify managing the databases and making the best use of data.
- Amazon 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