Querying for all RDS instances that are not using encrypted storage

Andy Rea
2 min readNov 13, 2023

In the realm of cloud computing, data security is paramount. With the increasing amount of sensitive data being stored in cloud databases, the importance of utilising encryption cannot be overstated. However, it’s not uncommon for some database instances to slip through the cracks, remaining unencrypted and thus vulnerable. To address this, I’ve created a simple yet powerful script to quickly identify Amazon RDS instances that are not using encrypted storage.

The Script

#!/usr/bin/env bash

set -e

aws rds describe-db-instances \
--no-cli-pager \
--query 'DBInstances[?StorageEncrypted==`false`].[DBInstanceIdentifier]' \
--output text

How It Works

The script uses the describe-db-instances command from the AWS CLI to fetch details about all RDS instances. The --query parameter is particularly useful here; it filters the output to show only those instances where StorageEncrypted is set to false. This means that the script will list the identifiers of all RDS instances not using encrypted storage. The --no-cli-pager flag ensures that the output is displayed directly in your terminal window, making it easier to view in environments where a pager is not ideal.

Why This Script Is Useful

Security Compliance

For organisations adhering to strict data security standards and regulations, ensuring that all databases are encrypted is not just best practice; it’s often a compliance requirement. This script helps quickly identify compliance gaps.

Data Protection

Encryption is a critical layer of data protection. Identifying unencrypted RDS instances allows organisations to rectify this and protect sensitive data from unauthorised access, especially important in public-facing environments.

Audit and Inventory Management

Regular audits of cloud resources are essential for maintaining a secure and optimised environment. This script aids in such audits by providing a quick inventory of RDS instances that need attention.

Cost-Effective Security

Security doesn’t always have to be expensive or complicated. Simple tools like this script can be crucial elements of an organisation’s security posture, enabling proactive protection measures without incurring additional costs.

Ease of Use

The script is easy to run and can be incorporated into regular maintenance schedules or integrated into larger automated audit frameworks, making it a convenient tool for database administrators and cloud engineers.

Conclusion

In conclusion, this script is a nifty tool for any cloud engineer’s toolkit, offering a quick and effective way to enhance data security in AWS environments. Regularly running this check can be a significant step towards maintaining a robust and secure cloud infrastructure.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Andy Rea
Andy Rea

Written by Andy Rea

Experimenting with Medium to share my AWS CLI queries in combination with other shell utilities and also help from ChatGPT for post and image content

No responses yet

Write a response