AWS RDS FAQ

Ace your homework & exams now with Quizwiz!

What is a DB Subnet Group and why do I need one?

A DB Subnet group is a collection of subnets that you may want to designate for your RDS DB instances in a VPC. Each DB subnet group should have at least one subnet for every AZ in a given Region. When creating a DB instance in VPC, you will need to select a DB subnet group. It is strongly recommended that you use the DNS name to connect to your DB instance as the underlying IP address can change.

What is a database instance (DB instance)?

A DB instance is a database environment in the cloud with the compute and storage resources you specify. You can create and delete DB instances, define/refine infrastructure attributes of your DB instance(s), and control access and security via the management console, APIs, or CLI. You can run one or more DB instances, and each DB instance can support one or more databases or database schema, depending on your engine type.

What are DB parameter groups and how are they helpful?

A DB parameter group acts as a "container" for engine configuration values that can be applied to one or more DB instances. Once associated, all DB instances that use a particular DB parameter group get all the parameter updates to that group.

When would I use RDS vs. EC2 Relational Database AMIs?

AWS provides a number of database alternatives for developers. RDS enables you to run a fully featured relational database while offloading database administration. Using one of our many relational database AMIs on EC2 allows you to manage your own relational database in the cloud. There are important differences between these alternatives that may make one more appropriate for your use case.

After failover, my primary is not located in a different AZ than my other AWS resources. Should I be concerned about latency?

AZs are engineered to provide low latency network connectivity to other AZs within the same Region. If addition, you may want to consider architecting your application and other AWS resources with redundancy across multiple AZs so your application will be resilient in the event of AZ failure.

How will I be charged for my use of RDS?

DB Instance Hours, Storage (GB per month), I/O requests per month, Provisioned IOPS per month, Backup Storage, and Data Transfer

How do I connect to an RDS DB instance in VPC?

DB Instances deployed within a VPC can be accessed by EC2 instances deployed in the same VPC. If these instances are deployed in a public subnet with associated EIPs, you can access the EC2 instances via the internet. DB instances deployed within a VPC can be access from the Internet or from EC2 Instances outside the VPC via VPN or bastion hosts that you can launch in your public subnet. You can also setup a VPN Gateway that extends your corporate network into your VPC, and allows access to the RDS DB instances in that VPC.

What defines billable RDS instance hours?

DB instance hours are billed for each hour your DB instance is running in an available state. If you no longer wish to be charged for your DB instance, you must stop or delete it to avoid being billed for additional instance hours. Partial DB instance hours consumed are billed as full hours.

What are the benefits of a Multi-AZ deployment?

Enhanced DB durability and availability. Another implied benefit of running your DB instance as a Multi-AZ deployment is that DB instance failover is automatic and requires no administration. You are not required to monitor DB instance events and initiate manual DB instance recovery.

What does RDS manage on my behalf?

Provisioning the infrastructure capacity, installing database software, performing backups, patching the software. If in a multi-AZ configuration, RDS manages synchronous data replication across AZs and automatic failover. You are still responsible for managing database settings specific to you application, the relational schema, and any performance tuning required to optimize for app's workflow.

What is Amazon RDS General Purpose (SSD) storage?

RDS General Purpose (SSD) storage is suitable for most medium I/O workloads. With a baseline of 3 IOPS/GB and the ability to burst to up to 3,000 IOPS General Purpose can handle workloads with a steady state traffic that occasionally spikes.

What is Amazon RDS Provisioned IOPS (SSD) storage?

RDS Provisioned IOPS (SSD) storage is suitable for high performance I/O workloads, it is designed to deliver fast, predictable, and consistent I/O performance. You specify the IOPS rate when provisioning the DB instance and RDS provisions that rate for the lifetime of the instance. This storage is optimized for OLTP workloads.

What is an RDS Reserved Instance (RI)?

RDS RI's can be purchased in one and three year terms at a significant discount. There are three purchasing options: all-upfront, partial-upfront, or no up-front. An RDS RI is a reserved DB instance.

How do I control actions that my systems and users can take on specific RDS resources?

Through IAM Users with IAM policies applied.

What is an RDS master user account and how is it different from an AWS account?

To begin using Amazon RDS you will need an AWS developer account. A master user account is different from an AWS developer account and used only within the context of RDS to control access to your DB instances. The master user account is a native database user account which you can use to connect to your DB instance.

How can I monitor the configuration of my Amazon RDS resources?

Use AWS Config

What does it mean to run a DB instance as a Multi-AZ deployment?

When you create or modify your Db instance to run as Multi-AZ, RDS automatically provisions and maintains a synchronous "standby" replica in a different AZ. During certain types of planned maintenance, or in the unlikely event of DB instance failure or AZ failure, RDS will automatically failover to the standby so that you can resume DB writes and reads as soon as the standby is promoted. The standby DB cannot be used to serve traffic in a Multi-AZ deployment.

How do I control/configure Multi-AZ synchronous replication?

When you set the Multi-AZ parameter to true on a DB, synchronous replication is handled automatically by RDS. You cannot select the AZ your standby is deployed in or alter the number of standbys available.

How will I be billed for a stopped DB instance?

While your database instance is stopped, you are charged for provisioned storage (including Provisioned IOPS) and backup storage (including manual snapshots and automated backups within your specific retention window), but not for DB instance hours.

Can I see which AZ my primary is currently located in?

Yes through the management console or the DescribeInstances API call

I wish to perform security analysis or operational troubleshooting on my RDS deployment. Can I get a history of all RDS API calls made on my account?

Yes use CloudTrail.

Will by standby be in the same Region as my primary?

Yes your standby will be provision in a different AZ within the same Region as your primary.

Will I be alerted when automatic failover occurs?

Yes, RDS will emit a DB instance event

Are reserved DB instances available for read-replicas?

Yes, RI credits will be automatically applied to you account depending on how many you purchase and how many replicas you use. Replicas must be in the same region as the RI purchase.

Do I need to enable automatic backups on my DB instance before I can create read replicas?

Yes, backups must be enabled for read replicas to work.

Can I test my DB instance with a new version before upgrading?

Yes, create a DB snapshot of your existing DB instance and restore from that snapshot to create a new DB. You can then apply the upgrade on the new DB before deciding whether or not to upgrade the original instance.

Can I encrypt connections between my application and my DB instance using SSL?

Yes, this option is currently supported for the MySQL, MariaDB, SQL Server, PostgreSQL, and Oracle engines. RDS generates an SSL certificate for each DB instance. Once an encrypted connection is established, data transferred between the DB instance and your application will be encrypted during the transfer. Be aware that SSL encryption is a compute-intensive operation and will increase the latency of your database connection.

Are reserved DB instances available for Multi-AZ deployment?

Yes, when purchasing look for the Multi-AZ option among the DB configuration settings available for purchase.

Can I initiate a "forced failover" for Multi-AZ DB instance deployment?

Yes, you can initiate a failover through the console for when using the RebootDBInstance API call.

Can programs running on servers in my own data center access RDS databases?

Yes, you have to intentionally turn on the ability to access your database over the internet by configuring Security Groups. You can authorize access for only the specific IPs, IP ranges, or subnets corresponding to servers in your own data center.

What precautions should I take to ensure that my DB instances in VPC are accessible by my application?

You are responsible for modifying routing tables and networking ACLs in your VPC to ensure that your DB instance is reachable from your client instances in the VPC. For Multi-AZ deployments, after a failover, your client EC2 instance and RDS DB instance may be in different AZs. You should configure your networking ACLs to ensure that cross-AZ communication is possible.

What should I do if my queries seem to be running slow?

You can enable Enhanced Monitoring, which provides access to over 50 CPU, memory, file systems, and disk I/O metrics. You can enable these features on a per instance basis and can choose granularity all the way down to 1 second. High levels of CPU utilization can reduce query performance and you may want to consider scaling your DB instance class. RDS for MySQL and MariaDB has access to the slow query logs for your database. RDS for Oracle has the Oracle Trace file data. RDS for SQL server has client side SQL Server traces to identify slow queries.

Can I change the DB Subnet group of my DB instance?

An existing DB Subnet group can be updated to add more subnets, either for existing AZs or new AZs added since the creation of the DB instance. Removing subnets from an existing subnet group can cause unavailability for instances if they are running in a particular AZ that gets removed from the subnet group.

How do I determine the appropriate DB instance class and size for my needs?

Assess you systems current compute, storage, and memory needs then refer to the available DB instance options.

How many databases or schemas can I run with a DB instance?

Aurora, MySQL, MariaDB, PostgreSQL: no limit imposed by software Oracle: 1 database per instance; no limit on number of schemas per database imposed by software SQL Server: 30 databases per instance

What happens to my snapshots and RDS DB backups if I delete my DB instance?

Automated backups are deleted when the DB instance is deleted. When deleting your instance you will be given the option to create one final snapshot. This snapshot and all other manual snapshots will persist even after the DB has been deleted and can be used to restore the DB at a later time.

Do I need to enable automated backups for my RDS DB instance or is it done automatically?

Automated backups are enabled by default for RDS DB instances with a 7 day retention period.

What is the difference between automatic backups and manual snapshots in RDS?

Automatic Backups: RDS automatically takes a daily complete snapshot of you database during the backup window. This snapshot can be stored from 7-35 days (depending on how you configure it). RDS also automatically captures transaction logs. This allows for a point-in-time recovery of your database. Manual Snapshots: Snapshots are initiated by the user and are retained until deleted. You can use them to restore your DB. Snapshots can be copied. Also, when you restore a DB from a snapshot it starts a new DB instance with a new endpoint. You can create multiple DBs from the same instance.

Where are my RDS automatic backups and manual snapshots stored and how to I manage their retention?

Backups and snapshots are stored in S3. You backups and snapshots are managed through the RDS console. You can choose to turn off automatic backups but it is not recommended.

How do I choose the right configuration parameters for my DB instance(s)?

By default, RDS chooses the optimal configuration based on the DB instance class and storage capacity. However, these values can be changed manually but please note that changing configuration parameters from recommended values can have unintended effects, ranging from degraded performance to system crashes and should only be attempted by advanced users who wish to assume these risks.

How many DB instances can I run with RDS?

By default, customers can have a total of 40 RDS DB instances. Of those 40, 10 can be Oracle or SQL under the "License Included" model. All 40 can be used as Oracle or SQL if under the "BYOL" model. You can request limit increases.

When would I want to consider using an RDS Read Replica?

Common reasons include: scaling beyond the compute or I/O capacity of a single DB instance for read-heavy database workloads, serving read traffic while the source DB instance is unavailable, and business reporting or data warehousing scenarios

What happens during Multi-AZ failover and how long does it take?

Failover is done automatically by RDS. When failing over, RDS simply flips the CNAME of your DB instance to point at the standby, which is in turn promoted to become the new primary. Failovers typically completed within one to two minutes. Failover time can by affected by whether large uncommitted transactions must be recovered; the use of adequately large instance types is recommended with Multi-AZ for best results. Provision IOPs with Multi-AZ instances is also recommended for fast, predictable, and consistent throughput performance.

What privileges are granted to the master user for my DB instance?

For MySQL, there is big list of privileges that you won't remember For Oracle, the master user is granted the "dba" role. The master user inherits most of the privileges associated with the role. For SQL Server, a user that creates a database is granted the db_owner role.

What happens when I convert my RDS instance from single-AZ to multi-AZ?

For RDS MySQL, MariaDB, PostgreSQL, and Oracle database engines, when you elect to convert RDS from Single to Multi-AZ the following happens: 1) A snapshot of your primary instance is taken, 2) A new standby instance is create in a different AZ from the snapshot, 3) Synchronous replication is configured between the instances As such, there should be no downtime incurred.

Will my RDS DB instance remain available during scaling?

For increases to storage capacity you DB instance can remain online. However, increases or decreases to the compute instance will cause the database to temporarily go down (typically a few minutes). This will occur during your scheduled maintenance window unless you specify otherwise.

How do I choose among the RDS storage options?

High-performance OLTP workloads: Provisioned IOPS (SSD) Database workloads with moderate I/O requirements: General Purpose (SSD) Non-production Database with infrequently accessed data: Magnetic

How can I scale my RDS DB beyond the largest DB instance and maximum storage capacity?

If you DB instance requires more capacity than the largest DB instance or storage capacity you can implement partitioning to spread your data across multiple DB instances.

Can I move my existing DB instances outside VPC into my VPC?

If your DB instance is outside of your VPC you can move it into your VPC using the RDS Management Console or by taking a snapshot and restoring it to VPC by specifying the DB Subnet Group you want to use.

What is Amazon RDS magnetic storage?

Magnetic storage is ideal for small databases with data that isn't frequently accessed. It is not recommended for production databases.

What is a maintenance window? Will my DB instance be available during maintenance events?

Maintenance windows are 30 minutes in duration and you can set when they occur. These windows can always be changed by you by modifying your DB instance and changes will take effect immediately. The only maintenance events that require RDS to take your DB instance offline are scale compute operations (which generally take a few minutes). Required patching is automatically scheduled only for patches that are security and durability related. Such patching occurs infrequently (once every few months). If you use a Multi-AZ deployment, these events will cause no outage.

Does RDS provide guidelines for deprecating engine versions that are currently supported?

Major version releases are supported for at least 3 years after they are initially supported by RDS and minor versions are supported for at least 1 year. In some cases, we may deprecate specific major or minor versions sooner, such as when there are security issues. In this case, RDS will automatically upgrade your database engine to address the issue.

How do I scale the compute resources and/or storage resources associated with my RDS database?

Memory and CPU can be modified by changing your instance class. Storage can be modified by changing you storage allocation. When you change your DB size you can choose to have changes applied during your maintenance window or immediately. You can Cloudwatch to track your compute and storage resource utilization for no additional charge. SQL server does not support increases your storage allocation at this time. This is a feature that will be available in the future.

Can I move my existing DB instances inside my VPC to outside VPC?

Migration of DB instances from inside to outside VPC is not supported.

How will I be billed for Multi-AZ DB instance deployments?

Multi-AZ DB instance hours, Provisioned storage (for Multi-AZ DB instance), I/O requests per month, backup storage, and data transfer

How do I import data into an RDS DB instance?

MySQL: mysqldump or mysqlimport utilities Oracle: Data Pump, import/export, SQL Loader SQL Server: Import/Export wizard, full backup files (.bak), or Bulk Copy Program (BCP)

When running my DB instance as a Multi-AZ deployment, can I use the standby for read/write operations?

No

Is there anything different about user management with RDS?

No, everything works the way you are familiar with when using a relational database you manage yourself.

What do "primary" and "standby" mean in the context of a Multi-AZ deployment?

The "primary" DB serves writes and reads. RDS provisions and maintains a "standby" DB behind the scenes, which is an up-to-date replica of the primary. The standby is "promoted" in failover scenarios. After failover, the standby becomes the primary and accepts your DB operations. You do not interact with the standby at any point prior to promotion.

What events would cause RDS to initiate a failover to the standby replica?

RDS detects and automatically recovers from the most common failure scenarios for Multi-AZ deployments so that you can resume database operations as quickly as possible. RDS automatically performs failover in the event of: 1) Loss of availability in primary AZ, 2) Loss of network connectivity to primary, 3) Compute unit failure on primary, 4) Storage failure on primary. When operation such as DB scaling or system upgrades are initiated for Multi-AZ deployments, for enhanced availability, they are applied first on the standby prior to an automatic failover. RDS deployments don't failover automatically in response to DB operations such as long running queries, deadlocks, or database corruption errors.

What is Amazon RDS?

RDS is a managed service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity, while managing time-consuming database administration tasks, freeing you up to focus on you applications and business.

Which relational database engines does RDS support?

RDS supports Amazon Aurora, MySQL, MariaDB, Oracle, SQL Server, and PostgreSQL

Can I encrypt data at rest on my RDS databases?

RDS supports encryption at rest for all database engines, using keys you manage using KMS. On a database instance running with RDS encryption, data stored at rest in the underlying storage is encrypted, as are its automated backups, read replicas, and snapshots. Encryption and decryption are handled transparently. You can also add encryption to a previously unencrypted DB instance by creating a DB snapshot and then creating an encrypted copy of that snapshot. RDS for Oracle and SQL server support those engine's Transparent Data Encryption technologies. Transparent Data Encryption in Oracle is integrated with AWS CloudHSM, which allows you to securely generate, store, and manage your cryptographic keys in single-tenant Hardware Security Module (HSM) appliances.

What is the hardware configuration for RDS Storage?

RDS uses EBS for database logs and storage. RDS automatically stripes across multiple EBS volumes in enhance IOPS performance. For MySQL and Oracle, you may observe increased IOPS performance, for an existing DB instance, by increasing the storage allocation.

What does it meant to run a DB instance as a Read Replica?

Read Replicas make it east to take advantage of supported engines' built-in replication functionality to elastically scale out beyond the capacity constraints of a single DB Instance for read-heavy database workloads.

What types of replication does RDS support and when should I use each?

Synchronous Replication- Multi-AZ deployments, DBs write concurrently on both primary and standby so that the standby is up-to-date in the event a failure occurs Asynchronous Replication- Read replicas, which use the DB engine's built-in replication technology. They provide can improve read times and provide read availability benefits but they are not designed to improve write availability.

What is a backup window and why do I need it? Is my RDS DB available during this time?

The preferred backup window time is the user-defined period of time that your DB instance is backed up. AWS uses these periodic backups in conjunction with your transaction logs to enable restoring your database to any second within your retention period. During the backup window I/O may be briefly suspended (typically less than a few seconds) and elevated latency may occur. For Multi-AZ deployments this does not happen because the back up done on the standby database.

Why does my additional backup storage cost more than allocated DB instance storage?

The storage provisioned to your DB instance for your primary data is located within a single AZ. When you DB is backed up, the backup data (including transaction logs) is geo-redundantly replicated across multiple AZs to provide greater levels of durability. The price for backup storage beyond your free allocation reflects this extra replication that occurs.

How do I control if and when the engine version of my DB instance is upgraded to new supported versions?

You can manually upgrade your DB to the most current minor version via the console or API. You can also choose the enable Auto Minor Version Upgrade so that this is done automatically. Scheduled upgrades on RDS will be communicated at least 30 days in advance. DB engine upgrades require downtime, even in multi-AZ deployments. Major upgrades will not occur automatically. For Oracle and SQL Server on RDS, if a minor upgrade required a change to a different edition it may not happen automatically (even if auto upgrade is enabled). The determination on whether to allow automatic upgrades will be made on a case-by-case basis.

How many reserved DB instances can I purchase?

You can purchase up to 40 reserved DB instances. If you need more you can request a limit increase.

How do DB snapshots and automated backups work with my Multi-AZ deployment?

You interact with automated backup and DB snapshot functionality in the same way whether you are running a standard or Multi-AZ deployment. If you are running a Multi-AZ deployment, automated backups and DB snapshots are simply taken from the standby to avoid I/O suspension on the primary.

Are there any performance implications of running my DB instance as a Multi-AZ deployment?

You may observe elevated latencies relative to a standard DB instance deployment in a single AZ as a result of the synchronous data replication performed on your behalf.


Related study sets

"Continuidad de los parques" - Continuity of the parks

View Set

Federal Regulation of Medication

View Set

Chapter 61 Iggy Practice Questions

View Set

Chapter 41: GI Bleed (QUESTIONS)

View Set

Chapter 9: Examination and Treatment Areas

View Set

Cloud Infrastructure: Core Infrastructure

View Set