AWS Certified CloudOps Engineer Associate SOA-C03 [2026]

Amazon RDS Security: VPC Access, Encryption, KMS, and Read Replicas | AWS SOA-C03

Study Amazon RDS security for SOA-C03, including VPC access, security groups, TLS, encryption at rest, KMS, snapshots, and read-replica encryption rules.

AWS Certified CloudOps Engineer Associate SOA-C03 [2026]AWS Certified CloudOps Engineer Associate SOA-C03 [2026]Updated Sep 1, 2026
Study options
WatchComing later
ListenComing later
ReadAvailable
ReviewComing later

Study guide

Technical reference and lesson notes

Amazon RDS Security: VPC Access, Encryption, KMS, and Read Replicas

Purpose of This Lesson

This lesson explains how to secure Amazon RDS connectivity and data. The key assessment themes are controlling network access with VPC security groups, protecting data in transit and at rest, understanding KMS key usage, and recognizing that an RDS instance’s encryption status cannot be changed in place.

Key Concepts

  • RDS in a VPC: An RDS database runs within a VPC and has an IP address. It may be configured to be publicly available, but public accessibility should be considered carefully.
  • Security groups: The database should have its own security group, such as RDSSG. Application or EC2 instances should use a separate security group. The RDS security group can allow inbound traffic from the application security group on the database port.
  • Database ports: A MySQL RDS database uses port 3306 in the example discussed.
  • TLS/SSL: RDS can use SSL/TLS to encrypt the connection between the application and the database, providing encryption in transit.
  • Encryption at rest: RDS encryption protects database storage and associated data such as backups, read replicas, and snapshots. The lesson describes AES-256 encryption with minimal performance impact on RDS.
  • AWS KMS: AWS Key Management Service manages the encryption keys used for RDS encryption.
  • Encryption is set at creation: RDS encryption can be enabled when the database is created. It cannot later be enabled or disabled directly on that existing DB instance.
  • Encryption status consistency: A read replica cannot have a different encryption status from its primary DB instance. An encrypted primary produces an encrypted read replica, and an unencrypted primary produces an unencrypted read replica.

RDS Network and Data-Protection Architecture

Network access through security groups

A common design separates the application and database security groups:

  1. EC2 instances or application workloads use an application security group.
  2. The RDS instance uses a separate database security group.
  3. The database security group permits inbound access from the application security group on the required database port.

This is preferable to broadly allowing access from arbitrary IP addresses because the rule expresses which application resources are trusted to connect. Making the database publicly available is a separate configuration choice and does not replace the need for appropriate security-group rules.

Encryption in transit

SSL/TLS protects the connection while data travels between the application and the RDS database. Network access control and TLS solve different problems: a security group controls which traffic can reach the database, while TLS protects the contents of an allowed connection.

Encryption at rest

RDS encryption protects the database’s underlying storage and related stored data, including:

  • Database storage
  • Backups
  • Read replicas
  • RDS snapshots

The lesson identifies AES-256 as the encryption standard used for RDS encryption and notes that it has minimal performance impact on RDS. For Oracle and SQL Server, Transparent Data Encryption (TDE) is also supported, but TDE can have a performance impact.

KMS manages the keys used for RDS encryption. When encryption is selected during database creation, the resulting database and supported associated data are protected using the selected KMS-managed encryption arrangement.

Exam- or Assessment-Relevant Takeaways

  • Use separate security groups for application resources and the RDS database; allow the application security group to reach the database security group on the required port.
  • Public availability is a connectivity option, not a substitute for deliberate security-group configuration.
  • TLS/SSL addresses encryption in transit; RDS encryption addresses encryption at rest. They are separate controls and may be used together.
  • RDS encryption must be selected when the DB instance is created. It cannot be toggled on or off for an existing instance.
  • An encrypted read replica cannot be created from an unencrypted primary, and an unencrypted read replica cannot be created from an encrypted primary.
  • A same-Region read replica uses the same KMS key as its encrypted primary. A cross-Region read replica uses a different KMS key.
  • An unencrypted snapshot or backup cannot be restored directly to an encrypted DB instance.
  • To change an unencrypted database into an encrypted equivalent, copy its unencrypted snapshot as an encrypted snapshot, create a new RDS instance from that encrypted snapshot, and update the application to use the new endpoint.
  • The snapshot-copy method creates a different database instance rather than changing the original instance in place.

Tool / Feature Decision Guide

RequirementAppropriate feature or workflowDecisive consideration
Restrict which application resources can connectSeparate application and RDS security groupsPermit the application security group to the database security group on the required port.
Protect traffic between an application and RDSSSL/TLSProvides encryption in transit.
Protect database storage and stored database-related dataRDS encryptionCovers storage, backups, read replicas, and snapshots; enable it at creation.
Manage RDS encryption keysAWS KMSKMS is used to manage the keys for RDS encryption.
Use encryption for an Oracle or SQL Server database through the engine featureTransparent Data Encryption (TDE)Supported by those engines, but may have a performance impact.
Encrypt an existing unencrypted database’s dataCopy an unencrypted snapshot to an encrypted snapshot, then create a new DB instanceThe result has a new endpoint and requires application redirection.
Create a read replica in the same RegionUse the primary’s KMS key when the primary is encryptedSame-Region replicas use the same KMS key.
Create a cross-Region read replicaUse a different KMS keyCross-Region replicas use a different KMS key.

Common Traps / Misconceptions

  • “Encryption can be enabled later with a database modification.” The lesson states that encryption status cannot be changed for an existing DB instance.
  • “A read replica can use a different encryption status.” It cannot. The replica’s encryption status matches the primary.
  • “A snapshot restore can convert encryption automatically.” An unencrypted snapshot cannot be restored directly to an encrypted DB instance. Use the encrypted snapshot-copy workflow instead.
  • “Copying a snapshot changes the original database.” It does not. Creating a database from the encrypted copy produces a different RDS instance and endpoint.
  • “Security groups provide encryption.” Security groups control network reachability. TLS encrypts traffic, and RDS encryption protects data at rest.
  • “Publicly available means unrestricted access.” Public availability makes internet connectivity possible, but actual access still depends on network configuration and security-group rules.
  • “All encryption choices have the same performance characteristics.” The lesson describes minimal performance impact for RDS AES-256 encryption but notes that TDE can affect performance for Oracle and SQL Server.

Real-World Engineer / Analyst Notes

  • Plan encryption before creating production databases because changing the status later requires a migration-style process rather than an in-place switch.
  • Treat the encrypted-snapshot workflow as a cutover: create the encrypted replacement, identify its new endpoint, and update the application connection configuration.
  • Validate the database engine and port when writing security-group rules; the example for MySQL is TCP port 3306.
  • For cross-Region designs, account for the fact that the replica uses a different KMS key than the primary.
  • Use layered controls: security groups limit who can connect, TLS protects the connection, and encryption at rest protects stored database data.

Quick Reference Summary

  • RDS databases run in a VPC and can be configured as publicly available.
  • Use separate application and RDS security groups.
  • Allow the application security group to access the RDS security group on the database port, such as MySQL 3306.
  • SSL/TLS encrypts data in transit.
  • RDS encryption protects data at rest, including storage, backups, read replicas, and snapshots.
  • RDS encryption uses AES-256 and is managed with AWS KMS.
  • Enable or disable RDS encryption only as part of creating the database; it cannot be changed directly afterward.
  • Read replicas retain the primary’s encryption status.
  • Same-Region encrypted replicas use the same KMS key; cross-Region replicas use a different KMS key.
  • To encrypt an existing unencrypted database’s data, create an encrypted copy of a snapshot and launch a new database from it.

Flashcards

Q: An application in EC2 needs to connect to an RDS MySQL database. What security-group design should you use?

A: Place the application instances and RDS database in separate security groups, then allow the application security group to reach the RDS security group on MySQL port 3306.

Q: What does SSL/TLS provide for an RDS connection?

A: SSL/TLS provides encryption in transit between the application and the database. It is separate from encryption of the database’s stored data.

Q: Which RDS feature protects database storage, backups, read replicas, and snapshots at rest?

A: RDS encryption protects those stored data components using AES-256 as described in the lesson, with keys managed through AWS KMS.

Q: When must RDS encryption be enabled for a DB instance?

A: It must be enabled when the DB instance is created. The encryption status cannot be changed directly for an existing instance.

Q: What happens to the encryption status of a read replica when the primary is encrypted?

A: The read replica is also encrypted. RDS does not support a read replica whose encryption status differs from its primary.

Q: Which KMS key is used for an encrypted read replica in the same Region as its primary?

A: The same KMS key is used for a same-Region read replica.

Q: How does KMS key usage differ for a cross-Region encrypted read replica?

A: A cross-Region read replica uses a different KMS key from the primary.

Q: Can an unencrypted snapshot be restored directly to an encrypted RDS DB instance?

A: No. The unencrypted snapshot must first be copied as an encrypted snapshot, after which a new DB instance can be created from the encrypted copy.

Q: How can you create an encrypted replacement for an existing unencrypted RDS database?

A: Take a snapshot, copy it to an encrypted snapshot, and create a new RDS instance from that encrypted snapshot. The replacement has a new endpoint.

Q: What application change is required after creating an encrypted RDS replacement from a snapshot?

A: The application must be updated to use the new database endpoint because the encrypted replacement is a different DB instance.

Q: What is the distinction between a security group and TLS for RDS security?

A: A security group controls which network sources can connect and on which port; TLS encrypts the data exchanged over an allowed connection.

Q: How does TDE compare with the RDS encryption described in the lesson?

A: Oracle and SQL Server support TDE, but TDE can have a performance impact. The lesson describes AES-256 RDS encryption as having minimal performance impact on RDS.

Practice Questions

Question 1

An organization has an unencrypted RDS database and now requires encryption at rest. The application cannot continue using the old database after migration. Which procedure best meets the requirement?

A. Enable RDS encryption on the existing DB instance
B. Restore the unencrypted snapshot directly to an encrypted DB instance
C. Copy an unencrypted snapshot as an encrypted snapshot, create a new DB instance, and update the application endpoint
D. Create an unencrypted read replica and enable encryption on the replica

Correct answer: C

Explanation: RDS encryption cannot be changed in place, and a replica cannot have a different encryption status from its primary. The encrypted snapshot-copy workflow creates a new database and endpoint.

Question 2

An encrypted RDS primary is in one Region, and the team wants to create an encrypted read replica in another Region. Which KMS behavior should the team expect?

A. The replica must be unencrypted
B. The replica uses the same KMS key as the primary
C. The replica uses a different KMS key
D. KMS is not involved with read-replica encryption

Correct answer: C

Explanation: The lesson states that a cross-Region read replica uses a different KMS key, while a same-Region replica uses the same key.

Question 3

An application tier should be the only source allowed to access a MySQL RDS database. Which inbound rule is the best fit?

A. Allow all internet addresses on port 3306
B. Allow the application security group on port 3306
C. Allow the RDS security group on every port
D. Allow the application security group on every port

Correct answer: B

Explanation: The recommended pattern is a separate application security group and an RDS security-group rule allowing that group to access the database on the relevant port.

Question 4

A security review requires protection against an attacker observing traffic between an application and RDS, while also requiring protection for database storage. Which controls address both requirements?

A. Public database availability and a security group
B. TLS for the connection and RDS encryption at rest
C. A security group and an unencrypted snapshot
D. TDE only, regardless of database engine

Correct answer: B

Explanation: TLS protects data in transit, while RDS encryption protects stored database data. Security groups control reachability but do not provide encryption.

WordPress Metadata

Suggested Slug:
amazon-rds-security-encryption-kms-read-replicas-soa-c03

Meta Description:
Study Amazon RDS security for SOA-C03, including VPC access, security groups, TLS, encryption at rest, KMS, snapshots, and read-replica encryption rules.

Tags:
Amazon RDS, AWS Security, AWS KMS, RDS Encryption, RDS Snapshots, Read Replicas, Security Groups, TLS, VPC, SOA-C03