Mastering AWS Databases: A Deep Dive into Module 6 Knowledge Check

Posted by


Choosing the right database strategy is a cornerstone of the AWS Certified Solutions Architect journey. Understanding the nuances between AWS’s diverse database offerings is crucial for building scalable, resilient, and performant applications. In Module 6 of the AWS Academy Cloud Architecting curriculum, we explore “Adding a Database Layer” – a topic rich with critical decision points.

Below is a comprehensive breakdown of the Knowledge Check questions, their options, the correct answers, and the architectural reasoning behind them. Use this as a study guide for your certification, a refresher for your next cloud project, or simply to deepen your understanding of AWS database services.


1. Managed Database Services vs. Databases on EC2 Instances

Question: Which statement that compares a database service that AWS manages with a database on an Amazon EC2 instance is true?

  • Options:
    • AWS manages database patches for a database on a managed database service.
    • Configuring backups for a database on a managed database service isn’t needed.
    • AWS manages operating system (OS) patches for a database on an EC2 instance.
    • Configuring backups for a database on an EC2 instance isn’t needed.
  • Correct Answer: AWS manages database patches for a database on a managed database service.
  • Why: This question highlights a fundamental advantage of AWS managed database services like Amazon RDS. When you choose a managed service, AWS takes responsibility for the “undifferentiated heavy lifting,” which includes applying OS patches, database engine patches, and handling backups. If you install a database directly on an Amazon EC2 instance, you are entirely responsible for all aspects of database administration, including OS and database software patching, backups, and replication.

2. Choosing Between Amazon RDS and Amazon DynamoDB for an Enrollment System

Question: A small startup company is deciding which database service to use for an enrollment system for their online training website. Which requirements might lead them to select Amazon RDS rather than Amazon DynamoDB? (Select TWO.)

  • Options:
    • The data is highly structured.
    • Student, course, and registration data are stored in many different tables.
    • Data and transactions must be encrypted to protect personal information.
    • The enrollment system must be highly available.
    • Data must be backed up in case of disasters.
  • Correct Answers:
    1. The data is highly structured.
    2. Student, course, and registration data are stored in many different tables.
  • Why: This question tests your understanding of the core use cases for relational (RDS) versus NoSQL (DynamoDB) databases. Amazon RDS, being a relational database service, is ideal for scenarios where data is highly structured, and there’s a need for complex relationships and joins across multiple tables (like students, courses, and their registrations). Amazon DynamoDB, a NoSQL key-value and document database, is best suited for less structured data models that can scale horizontally without requiring complex relational joins. While both services offer encryption, high availability, and backup capabilities, the nature of the data structure and inter-table relationships are the key differentiators here.

3. Real-Time Transactional Database for Order Inventory

Question: A startup company is building an order inventory system with a web frontend and is looking for a real-time transactional database. Which service would best meet their needs?

  • Options:
    • Amazon DynamoDB
    • Amazon Redshift
    • Amazon Neptune
    • Amazon DocumentDB (with MongoDB compatibility)
  • Correct Answer: Amazon DynamoDB
  • Why: For a real-time transactional system, performance at scale is paramount. Amazon DynamoDB is a fully managed, serverless NoSQL database that delivers single-digit millisecond performance at virtually any scale. It’s designed for high-throughput, low-latency applications, making it an excellent choice for dynamic, real-time order inventory systems where rapid read and write access is critical. Amazon Redshift is for data warehousing (analytical), Amazon Neptune is a graph database, and DocumentDB is for document-based workloads, making them less suitable for this specific real-time transactional requirement.

4. When to Choose Amazon DynamoDB for Gaming Objects

Question: A small game company is designing an online game, where thousands of players can create their own in-game objects. The current design uses a MySQL database in Amazon RDS to store data for player-created objects. Which proposed online game object features could make Amazon DynamoDB a better solution? (Select TWO.)

  • Options:
    • A set of common object attributes for player-created objects
    • Unpredictable object attributes for player-created objects
    • A high amount of read activity on player-created objects and a low amount of writes
    • Game data items that include binary data and might exceed 700 MB
    • Game items that can be modified using data contained in other tables
  • Correct Answers:
    1. Unpredictable object attributes for player-created objects.
    2. A high amount of read activity on player-created objects and a low amount of writes.
  • Why: This question again emphasizes the strengths of DynamoDB for specific use cases. Game objects created by players often have unique and varied attributes, which aligns perfectly with DynamoDB’s schemaless nature – each item can have different attributes. Additionally, online games typically involve a massive number of players concurrently reading object data, far more than writing or modifying them. DynamoDB is highly optimized for read-heavy workloads and can effortlessly scale to handle millions of reads per second, making it a better fit than a relational database that might struggle with this level of variable data and read scaling.

5. Graph Databases for Fraud Detection

Question: An organization is concerned about an increase in fraud. Which service could help with building real-time graph database queries for fraud detection?

  • Options:
    • Amazon RDS
    • Amazon DynamoDB
    • Amazon Redshift
    • Amazon Neptune
  • Correct Answer: Amazon Neptune
  • Why: Fraud detection is a classic use case for graph databases. Identifying fraudulent activities often involves analyzing complex relationships and connections between entities – for example, checking if multiple accounts share the same IP address, email, or credit card number. Amazon Neptune is a fully managed graph database service specifically designed to store and navigate highly connected data efficiently, making it the ideal choice for building real-time graph queries for fraud detection.

6. Hosting Microsoft SQL Server on AWS

Question: A data engineer must host a new Microsoft SQL Server database in AWS for a project. Which service could they use to accomplish this task?

  • Options:
    • Amazon DynamoDB
    • Amazon Neptune
    • Amazon Aurora
    • Amazon RDS
  • Correct Answer: Amazon RDS
  • Why: Amazon RDS is a versatile relational database service that supports several popular database engines, including MySQL, PostgreSQL, MariaDB, Oracle, and critically for this question, Microsoft SQL Server. While Amazon Aurora is a high-performance, MySQL and PostgreSQL-compatible relational database, it does not support SQL Server directly. Therefore, RDS is the appropriate managed service for hosting a Microsoft SQL Server database.

7. Securing Amazon RDS Databases

Question: Which techniques should be used to secure an Amazon RDS database? (Select THREE.)

  • Options:
    • AWS Identity and Access Management (IAM) policies to define access at the table, row, and column levels
    • A virtual private gateway (VGW) to filter traffic from restricted networks
    • An Amazon Virtual Private Cloud (Amazon VPC) gateway endpoint to prevent traffic from traversing the internet
    • A virtual private cloud (VPC) to provide instance isolation
    • Security groups to control network access to individual RDS instances
    • Encryption both at rest and in transit to protect sensitive data
  • Correct Answers:
    1. A virtual private cloud (VPC) to provide instance isolation.
    2. Security groups to control network access to individual RDS instances.
    3. Encryption both at rest and in transit to protect sensitive data.
  • Why: Securing an Amazon RDS instance relies on several layers. Firstly, VPC provides network isolation, placing your database in a private, virtual network. Secondly, Security Groups act as virtual firewalls to control inbound and outbound network traffic to your RDS instance. Finally, Encryption (both at rest using KMS and in transit using SSL/TLS) is crucial for protecting sensitive data from unauthorized access. While IAM is used for controlling who can administer the RDS instance itself through the AWS console or API, fine-grained access within the database (table/row/column level) is typically managed using the database’s native user and permission systems, not IAM policies directly. VPC Gateway Endpoints are for services like S3 or DynamoDB, not RDS.

8. Securing Amazon DynamoDB

Question: Which techniques should be used to secure Amazon DynamoDB? (Select THREE.)

  • Options:
    • AWS Identity and Access Management (IAM) policies to define access at the table, item, or attribute level
    • A virtual private cloud (VPC) to provide instance isolation and firewall protection
    • Encryption to protect sensitive data
    • A virtual private gateway (VGW) to filter traffic from restricted networks
    • Security groups to control network access to individual instances
    • An Amazon Virtual Private Cloud (Amazon VPC) gateway endpoint to prevent traffic from traversing the internet
  • Correct Answers:
    1. AWS Identity and Access Management (IAM) policies to define access at the table, item, or attribute level.
    2. Encryption to protect sensitive data.
    3. An Amazon Virtual Private Cloud (Amazon VPC) gateway endpoint to prevent traffic from traversing the internet.
  • Why: Securing Amazon DynamoDB differs from RDS because DynamoDB is a fully managed, serverless service that operates outside of your VPC (it’s accessible via public endpoints). Therefore, you use IAM policies for fine-grained access control to specific tables, items, or even attributes within DynamoDB. Encryption (at rest and in transit) is essential for data protection. To keep traffic to DynamoDB within the AWS network and prevent it from traversing the public internet, you utilize an Amazon VPC Gateway Endpoint. Unlike RDS, DynamoDB does not reside within a VPC, nor does it use security groups or virtual private gateways in the same manner for direct instance protection.

9. Database Migration Strategy: Oracle to Aurora MySQL

Question: A company wants to migrate their on-premises Oracle database to Amazon Aurora MySQL. Which process describes the high-level steps most accurately?

  • Options:
    • Use AWS Schema Conversion Tool (AWS SCT) to synchronously convert the schema and migrate the data.
    • Use AWS Database Migration Service (AWS DMS) to migrate the data, and then use AWS Schema Conversion Tool (AWS SCT) to convert the schema.
    • Use AWS Schema Conversion Tool (AWS SCT) to convert the schema, and then use AWS Database Migration Service (AWS DMS) to migrate the data.
    • Use AWS Database Migration Service (AWS DMS) to directly migrate from the Oracle database to Amazon Aurora MySQL.
  • Correct Answer: Use AWS Schema Conversion Tool (AWS SCT) to convert the schema, and then use AWS Database Migration Service (AWS DMS) to migrate the data.
  • Why: This describes a heterogeneous database migration – moving from one database engine (Oracle) to a different one (Aurora MySQL). In such scenarios, the schema (table definitions, stored procedures, functions, etc.) needs to be converted to be compatible with the new engine first. The AWS Schema Conversion Tool (AWS SCT) handles this conversion, identifying objects that can be directly converted and those that require manual intervention. Once the schema is compatible, the AWS Database Migration Service (AWS DMS) can then be used to reliably and securely migrate the actual data from the source to the target database with minimal downtime.

10. High Availability Across Availability Zones and Regions for RDS

Question: A cloud architect is setting up an application to use an Amazon RDS MySQL DB instance. The database must be architected for high availability across Availability Zones and AWS Regions with minimal downtime. How should they meet this requirement?

  • Options:
    • Set up an RDS MySQL Single-AZ DB instance. Configure a read replica in a different Region.
    • Set up an RDS MySQL Multi-AZ DB instance. Configure a read replica in a different Region.
    • Set up an RDS MySQL Multi-AZ DB instance. Configure an appropriate backup window.
    • Set up an RDS MySQL Single-AZ DB instance. Copy automated snapshots to at least one other Region.
  • Correct Answer: Set up an RDS MySQL Multi-AZ DB instance. Configure a read replica in a different Region.
  • Why: This question asks for both high availability within a Region and disaster recovery across Regions. An RDS Multi-AZ DB instance provides high availability and automatic failover within a single AWS Region by synchronously replicating data to a standby instance in a different Availability Zone. This protects against an AZ outage. To achieve high availability and disaster recovery across Regions, you then add a Read Replica in a different AWS Region. This read replica can be promoted to a standalone database if the primary Region experiences a catastrophic failure, providing a robust solution for minimal downtime across geographic areas.

Final Thoughts

Understanding these concepts is vital for anyone working with AWS database services. The distinctions between managed and unmanaged, relational and NoSQL, and the appropriate security and migration tools are frequently tested and are crucial for designing robust cloud architectures. Keep these insights handy as you continue your AWS journey!

Check out the full video walkthrough here: YouTube Link

Leave a Reply

Your email address will not be published. Required fields are marked *