3.1 Ensure to Choose the Appropriate Database Engine (Manual)
Description
This control ensures that the appropriate database engine is selected for the application's requirements on Amazon RDS.
Rationale
Choosing the right database engine is critical for application performance, scalability, and security. Amazon RDS supports several popular relational database engines, including MySQL, PostgreSQL, MariaDB, Oracle Database, and Microsoft SQL Server.
Impact
Selecting an inappropriate database engine may lead to performance issues, compatibility problems, higher costs, and security vulnerabilities.
Audit Procedure
Using AWS Console
Evaluate Your Requirements
- Understand your application's specific requirements, such as performance, scalability, data volume, and compatibility with existing systems.
- Consider factors like data structure, workload type (OLTP or OLAP), and specific features required by your application.
Research Available Database Engines
- Familiarize yourself with the available database engine options supported by Amazon RDS.
- Research each database engine's capabilities, features, performance characteristics, and licensing models.
Compare Features and Compatibility
- Compare the features and capabilities of each database engine with your application's requirements.
- Evaluate data types, indexing options, query optimization, high availability, replication, and backup and restore capabilities.
- Consider compatibility with your existing applications, frameworks, and tools.
Evaluate Performance and Scalability
- Consider the performance characteristics of each database engine, including throughput, latency, and concurrency capabilities.
- Evaluate scalability options, such as horizontal scaling or vertical scaling.
- Analyze benchmarks, customer reviews, and case studies to gain insights into the performance of each database engine.
Consider Managed Database Services
- Assess the benefits of Amazon RDS managed database services, such as Amazon Aurora, which offers high performance, scalability, and built-in fault tolerance.
- Evaluate the additional features and optimizations Amazon Aurora provides compared to traditional database engines.
Evaluate Licensing and Costs
- Consider the licensing models and costs associated with each database engine, including license fees and support costs.
- Evaluate the pricing structure of the database engines in terms of instance types, storage, data transfer, and other factors.
Determine Vendor Support
- Evaluate the level of support the database engine vendors provide, including documentation, forums, community support, and enterprise support options.
- Consider the vendor's reputation, track record, and commitment to security and compliance.
Make an Informed Decision
- Select the database engine that best aligns with your application requirements, performance needs, scalability goals, compatibility, and budget based on your evaluation and analysis.
- Consider long-term considerations such as potential future growth, flexibility, and ease of migration to other database engines if needed.
Expected Result
The selected database engine should align with the application's specific requirements for performance, scalability, compatibility, and cost.
Remediation
Review and evaluate the current database engine selection against the audit criteria above. If the current engine does not meet requirements, plan a migration to a more appropriate engine.
Using AWS Console
Follow the audit steps above to evaluate and select the appropriate database engine. Create a new RDS instance with the chosen engine or plan migration from the existing engine.
Default Value
No default database engine is pre-selected; users must choose during RDS instance creation.
References
- https://aws.amazon.com/products/databases/
CIS Controls
| Controls Version |
Control |
IG 1 |
IG 2 |
IG 3 |
| v8 |
2.2 Ensure Authorized Software is Currently Supported |
x |
x |
x |
| v7 |
2.2 Ensure Software is Supported by Vendor |
x |
x |
x |
Profile
Level 1 | Manual
1---2name: cis-aws-database-3-13description: Ensure to Choose the Appropriate Database Engine4---56# 3.1 Ensure to Choose the Appropriate Database Engine (Manual)78## Description910This control ensures that the appropriate database engine is selected for the application's requirements on Amazon RDS.1112## Rationale1314Choosing the right database engine is critical for application performance, scalability, and security. Amazon RDS supports several popular relational database engines, including MySQL, PostgreSQL, MariaDB, Oracle Database, and Microsoft SQL Server.1516## Impact1718Selecting an inappropriate database engine may lead to performance issues, compatibility problems, higher costs, and security vulnerabilities.1920## Audit Procedure2122### Using AWS Console23241. Evaluate Your Requirements25 - Understand your application's specific requirements, such as performance, scalability, data volume, and compatibility with existing systems.26 - Consider factors like data structure, workload type (OLTP or OLAP), and specific features required by your application.27282. Research Available Database Engines29 - Familiarize yourself with the available database engine options supported by Amazon RDS.30 - Research each database engine's capabilities, features, performance characteristics, and licensing models.31323. Compare Features and Compatibility33 - Compare the features and capabilities of each database engine with your application's requirements.34 - Evaluate data types, indexing options, query optimization, high availability, replication, and backup and restore capabilities.35 - Consider compatibility with your existing applications, frameworks, and tools.36374. Evaluate Performance and Scalability38 - Consider the performance characteristics of each database engine, including throughput, latency, and concurrency capabilities.39 - Evaluate scalability options, such as horizontal scaling or vertical scaling.40 - Analyze benchmarks, customer reviews, and case studies to gain insights into the performance of each database engine.41425. Consider Managed Database Services43 - Assess the benefits of Amazon RDS managed database services, such as Amazon Aurora, which offers high performance, scalability, and built-in fault tolerance.44 - Evaluate the additional features and optimizations Amazon Aurora provides compared to traditional database engines.45466. Evaluate Licensing and Costs47 - Consider the licensing models and costs associated with each database engine, including license fees and support costs.48 - Evaluate the pricing structure of the database engines in terms of instance types, storage, data transfer, and other factors.49507. Determine Vendor Support51 - Evaluate the level of support the database engine vendors provide, including documentation, forums, community support, and enterprise support options.52 - Consider the vendor's reputation, track record, and commitment to security and compliance.53548. Make an Informed Decision55 - Select the database engine that best aligns with your application requirements, performance needs, scalability goals, compatibility, and budget based on your evaluation and analysis.56 - Consider long-term considerations such as potential future growth, flexibility, and ease of migration to other database engines if needed.5758## Expected Result5960The selected database engine should align with the application's specific requirements for performance, scalability, compatibility, and cost.6162## Remediation6364Review and evaluate the current database engine selection against the audit criteria above. If the current engine does not meet requirements, plan a migration to a more appropriate engine.6566### Using AWS Console6768Follow the audit steps above to evaluate and select the appropriate database engine. Create a new RDS instance with the chosen engine or plan migration from the existing engine.6970## Default Value7172No default database engine is pre-selected; users must choose during RDS instance creation.7374## References75761. https://aws.amazon.com/products/databases/7778## CIS Controls7980| Controls Version | Control | IG 1 | IG 2 | IG 3 |81| ---------------- | ----------------------------------------------------- | ---- | ---- | ---- |82| v8 | 2.2 Ensure Authorized Software is Currently Supported | x | x | x |83| v7 | 2.2 Ensure Software is Supported by Vendor | x | x | x |8485## Profile8687Level 1 | Manual