{"id":147,"date":"2022-01-27T08:49:47","date_gmt":"2022-01-27T08:49:47","guid":{"rendered":"https:\/\/192.168.1.3\/wordpress\/?p=147"},"modified":"2025-02-24T12:19:58","modified_gmt":"2025-02-24T12:19:58","slug":"aws-solution-architect-associate-saac02-review-material-rds","status":"publish","type":"post","link":"https:\/\/mylinuxsite.com\/wordpress\/?p=147","title":{"rendered":"AWS Solution Architect Associate (SAAC02) Review Material &#8211; RDS"},"content":{"rendered":"\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<div class=\"wp-block-group is-layout-flow wp-block-group-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"440\" height=\"391\" src=\"http:\/\/192.168.1.3\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.20-1.png\" alt=\"\" class=\"wp-image-173\" srcset=\"https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.20-1.png 440w, https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.20-1-300x267.png 300w\" sizes=\"auto, (max-width: 440px) 100vw, 440px\" \/><\/figure>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<!--more Continue reading-->\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/192.168.1.3\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.55-1.png\" alt=\"\" class=\"wp-image-176\" width=\"475\" height=\"430\" srcset=\"https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.55-1.png 412w, https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.48.55-1-300x272.png 300w\" sizes=\"auto, (max-width: 475px) 100vw, 475px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/192.168.1.3\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.50.52.png\" alt=\"\" class=\"wp-image-177\" width=\"558\" height=\"489\" srcset=\"https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.50.52.png 437w, https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.50.52-300x263.png 300w\" sizes=\"auto, (max-width: 558px) 100vw, 558px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"442\" height=\"362\" src=\"http:\/\/192.168.1.3\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.54.19.png\" alt=\"\" class=\"wp-image-178\" srcset=\"https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.54.19.png 442w, https:\/\/mylinuxsite.com\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.54.19-300x246.png 300w\" sizes=\"auto, (max-width: 442px) 100vw, 442px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"289\" height=\"273\" src=\"http:\/\/192.168.1.3\/wordpress\/wp-content\/uploads\/2022\/01\/Screenshot-2022-01-28-at-14.54.44.png\" alt=\"\" class=\"wp-image-179\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">General<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>A managed Relational Data Service (RDS)<\/li><li>Supports the following databases:<ul><li>MySQL<\/li><li>MariaDB<\/li><li>PostgreSQL<\/li><li>SQL Server<\/li><li>Oracle<\/li><li>Aurora<\/li><li><em>Aurora Serverless<\/em><\/li><\/ul><\/li><li>The following does <strong>NOT<\/strong> apply to Aurora Serverless:<ul><li>All has to provision a host instance to run the database. However, user will have no access to the instance.<\/li><li>The host will have a corresponding ENI so the database has to be placed in an subnet, AZ and VPC. <\/li><li>When provisioning the database, users has to:<ul><li>select the instance class\/size<\/li><li>select the storage type\/size, except for <strong>Aurora<\/strong> because it does not require to provision a storage. <\/li><\/ul><\/li><\/ul><ul><li>Storage can now be autoscaled (except for Aurora)<\/li><li>Backup is enabled by default.  Backup retention can be from 0 &#8211; 35 days. Default to 7 days.<\/li><li>Automated backups are limited to a single AWS Region while manual snapshots and Read Replicas are supported across multiple Regions<\/li><li>Encryption is enabled by default.<\/li><li>Can enable enhanced monitoring &#8211; metrics in real time for the operating system (OS) that the DB instance runs on<\/li><li>Can enable deletion protection.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Read Replicas<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Read Replicas are copies of the Master.  <strong>Replication is asynchronous.<\/strong><\/li><li>Support read connections.   However, clients must be aware it is only <strong>eventually consistent<\/strong>.   <\/li><li>Aurora Serverless does not have Read Replicas.<\/li><li>Aurora&#8217;s maximum number of replicas is 15; the rest is 5.<\/li><li>Can be placed on the same AZ, across AZ or <strong>across regions<\/strong>.<\/li><li>There&#8217;s a fee when replicating across regions.<\/li><li>Can become a Master but promotion <strong>needs to be done manually.<\/strong> So if the Master fails, Replicas do not become a Master automatically.<\/li><li>Used for scaling.<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Multi-AZ<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Creates copies of the Master database <strong>synchronously<\/strong> to a Standby database.<\/li><li><em>Non-Aurora:<\/em> Only one is master. The copies do not support read or write connections.<\/li><li><em>Aurora<\/em>: Supports multi-master<\/li><li>Automatically promoted to Master when the Master fails. <\/li><li>Used for high availability.<\/li><li>The number of copies will depend on the number of subnets in the <strong>Subnet Group<\/strong>.<\/li><\/ul>\n\n\n\n<p>In an Amazon RDS Multi-AZ deployment, Amazon RDS automatically creates a primary database (DB) instance and synchronously replicates the data to an instance in a different AZ. When it detects a failure, Amazon RDS automatically fails over to a standby instance without manual intervention.<\/p>\n\n\n\n<p><strong>Multi-AZ DB instance<\/strong> &#8211; <strong>a primary DB instance with one standby (no read access) DB instance<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/d1.awsstatic.com\/product-page-diagram_MAZ_HIW%402xa.245de181144d709479981ab02a5318165b7ed8a9.png\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>Multi-AZ DB cluster<\/strong> &#8211; <strong>three (3) DB instances in a different Availability Zone. It has one primary DB instance and two readable standby DB instances.&nbsp;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/d1.awsstatic.com\/product-marketing\/RDS\/multi-az-hiw\/product-page-diagram_TAZ_HIW%402x.6f3eb10806556325bec1ac3348693d8ee58a99b2.png\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"Comparison_table\">Comparison Table<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"Amazon_RDS_Single-AZ_or_Amazon_RDS_Multi-AZ_with_one_standby_or_Amazon_RDS_Multi-AZ_with_two_readable_standbys\">Amazon RDS Single-AZ or Amazon RDS Multi-AZ with one standby or Amazon RDS Multi-AZ with two readable standbys<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Feature<\/strong><\/td><td><strong>Single-AZ<\/strong><\/td><td><strong>Multi-AZ with one standby<\/strong><\/td><td><strong>Multi-AZ with two readable standbys<\/strong><\/td><\/tr><tr><td><strong>Available engines<\/strong><\/td><td>Amazon RDS for PostgreSQLAmazon RDS for MySQLAmazon RDS for MariaDBAmazon RDS for SQL ServerAmazon RDS for OracleAmazon RDS for Db2<\/td><td>Amazon RDS for PostgreSQLAmazon RDS for MySQLAmazon RDS for MariaDBAmazon RDS for SQL ServerAmazon RDS for OracleAmazon RDS for Db2<\/td><td>Amazon RDS for PostgreSQLAmazon RDS for MySQL<\/td><\/tr><tr><td><strong>Additional Read<br>capacity<\/strong><\/td><td>None: the read capacity is limited to your primary<\/td><td>None: Your standby DB instance <strong>is only a passive failover target<\/strong> for high availability<\/td><td>Two standby DB instances act as<strong> failover targets and serve read traffic<\/strong>. Read capacity is determined by the overhead of write transactions from the primary\u00b7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<\/td><\/tr><tr><td><strong>Lower latency (higher throughput) for transaction commits<\/strong><\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>Up to 2x faster transaction commits compared to Amazon RDS Multi-AZ with one standby<\/td><\/tr><tr><td><strong>Automatic failover duration<\/strong><\/td><td>Not available: a user, a user-initiated point-in-time-restore operation will be required.This operation can take several hours to completeAny data updates that occurred after the latest restorable time (typically within the last 5 minutes) will not be available<\/td><td>A new primary is available to serve your new workload in as quickly as 60 secondsFailover time is independent of write throughput<\/td><td>A new primary is available to serve your new workload in typically under 35 secondsFailover time depends on length of replica lag<\/td><\/tr><tr><td><strong>Minor version upgrades downtime<\/strong><\/td><td>When using Automatic Minor Version Upgrades, minor version upgrade downtime occurs during the Amazon RDS 30-minute maintenance window<\/td><td>When using Automatic Minor Version Upgrades, minor version upgrade downtime occurs during the Amazon RDS 30-minute maintenance window<\/td><td>Typically under 1 second when customers add an open source or Amazon RDS Proxy to their deploymentTypically under 35 seconds with Multi-AZ with two readable standbys alone<\/td><\/tr><tr><td><strong>Higher resiliency to AZ outage<\/strong><\/td><td>None: in the event of an AZ failure, your risk data loss and hours of failover time<\/td><td><strong>In the event of an AZ failure, your workload will automatically failover to the up-to-date standby<\/strong><\/td><td><strong>In the event of a failure,<span style=\"color:#a30d00\" class=\"has-inline-color\"> one of the two remaining standbys will takeover and serve the workload (writes) from the primary<\/span><\/strong><\/td><\/tr><tr><td><strong>Lower jitter for transaction commits<\/strong><\/td><td>No optimization for jitter<\/td><td>Access to Dedicated Log Volumes<\/td><td>Uses local storage for transactional logs to reduce jitter<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Security<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>At Rest Encryption:<ul><li>Must be set upon database creation.<\/li><li>If the Master is not encrypted, the replicas and their snapshots are also not encrypted.<\/li><li>Can&#8217;t restore the unencrypted backup to an encrypted database. <\/li><li>But you can encrypt an unencrypted snapshot and use that to restore to an encrypted database.<\/li><li>Use KMS to store encryption keys.<\/li><li>If you copy a snapshot from one region to another you must use that region&#8217;s KMS key.<\/li><\/ul><\/li><li>In-Flight Encryption<ul><li>Use SSL\/TLS to encrypt connections to databases. However, each database has its own process of implementing an SSL\/TLS connection.<\/li><li>PostgreSQL and MySQL can enforce SSL\/TLS connection.<\/li><\/ul><\/li><li>IAM-based:<ul><li>Log in to the database using a token, not a username\/password. <\/li><li>Only available in <strong>PostgreSQL, MySQL and MariaDB<\/strong><\/li><\/ul><ul><li>To use this feature, the resource with the given role must call an API to get a temporary token (which expires in 15 mins).<\/li><li>Then it will use that token to log in to the database.<\/li><\/ul><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Aurora<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>MySQL and PostgreSQL compatible.  It means any clients using these databases&#8217; APIs will work on Aurora.<\/li><li>5x faster than MySQL and 3x faster than PostgreSQL<\/li><li>Storage does not have to be provisioned.<strong> It will scale automatically<\/strong> by 10GB increment up to 128TB.<\/li><li>Faster failover.<\/li><li>Can have 15 replicas. Can set up autoscaling on Read Replicas.<\/li><li>Read Replicas can be set up <strong>across regions<\/strong>.<\/li><li>Global Setup<ul><li>1 Primary region<\/li><li>Up to 5 secondary regions. Each region can have 16 Read Replicas.<\/li><li>Any region can be promoted to Primary when disaster strikes in the Primary region.<\/li><\/ul><\/li><li>6 copies of data across AZ.<ul><li>Only requires 4 copies to write.<\/li><li>Only requires 3 copies to read.<\/li><\/ul><\/li><li>Endpoints:<ul><li>Writer endpoints for writing.<\/li><li>Reader endpoints for reading.  Distributes reads to all replicas.<\/li><li>Custom endpoints to point to selected Read Replicas.<\/li><\/ul><\/li><li>The standard setup is to have only one writer node. But can be set up for multi-master i.e. multiple writer nodes<\/li><li><strong>Autoscaling<\/strong>:<ul><li>Add more replicas<\/li><\/ul><\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Aurora Serverless<\/h4>\n\n\n\n<ul class=\"wp-block-list\"><li>Instances are automatically created and auto-scaled. No need to provision instances and storage.<\/li><li>Pay per second<\/li><li>Good for the unpredictable and intermittent workload.<\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[11],"tags":[],"class_list":["post-147","post","type-post","status-publish","format-standard","hentry","category-aws-review-notes"],"_links":{"self":[{"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=147"}],"version-history":[{"count":37,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions"}],"predecessor-version":[{"id":1500,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/147\/revisions\/1500"}],"wp:attachment":[{"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mylinuxsite.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}