Skip to content

Commit 45c4404

Browse files
author
DebashboraSF
committed
Merge pull request #96 from sourcefuse/feature/multi-az-example
Feature/multi az example
1 parent 3889ee6 commit 45c4404

File tree

1 file changed

+51
-38
lines changed
  • docs/arc-iac-docs/modules/terraform-aws-arc-db/docs/module-usage-guide

1 file changed

+51
-38
lines changed

docs/arc-iac-docs/modules/terraform-aws-arc-db/docs/module-usage-guide/README.md

Lines changed: 51 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
# Terraform AWS ARC Security Group Module Usage Guide
1+
# Terraform AWS ARC DB Module Usage Guide
22

33
## Introduction
44

55
### Purpose of the Document
66

7-
This document provides guidelines and instructions for users looking to create and manage Security Groups
7+
This document provides guidelines and instructions for users looking to implement Terraform module for managing Aurora cluster and SQL Server RDS instance.
88

99
### Module Overview
1010

11-
The Terraform AWS ARC Security Group module create and manage AWS security groups with customizable ingress and egress rules for secure network traffic control.
11+
The [terraform-aws-arc-db](https://github.com/sourcefuse/terraform-aws-arc-db) module provides a secure and modular foundation for managing Aurora cluster and SQL Server RDS instances.
1212

1313
### Prerequisites
1414

1515
Before using this module, ensure you have the following:
1616

1717
- AWS credentials configured.
1818
- Terraform installed.
19-
- A working knowledge of AWS VPC, security grouo, and Terraform concepts.
19+
- A working knowledge of AWS Aurora cluster and SQL Server RDS instance.
2020

2121
## Getting Started
2222

@@ -25,97 +25,110 @@ Before using this module, ensure you have the following:
2525
To use the module in your Terraform configuration, include the following source block:
2626

2727
```hcl
28-
module "arc-sg" {
29-
source = "sourcefuse/arc-security-group/aws"
30-
version = "0.0.1"
28+
module "aurora" {
29+
source = "sourcefuse/arc-db/aws"
30+
version = "4.0.0"
3131
# insert the required variables here
3232
}
3333
```
3434

35-
Refer to the [Terraform Registry](https://registry.terraform.io/modules/sourcefuse/arc-security-group/aws/latest) for the latest version.
36-
3735
### Integration with Existing Terraform Configurations
3836

39-
Refer to the Terraform Registry for the latest version.
40-
41-
## Integration with Existing Terraform Configurations
4237
Integrate the module with your existing Terraform mono repo configuration, follow the steps below:
4338

44-
- Create a new folder in terraform/ named security-group.
45-
- Create the required files, see the examples to base off of.
46-
- Configure with your backend:
47-
- Create the environment backend configuration file: config.<environment>.hcl
48-
- region: Where the backend resides
49-
- key: <working_directory>/terraform.tfstate
50-
- bucket: Bucket name where the terraform state will reside
51-
- dynamodb_table: Lock table so there are not duplicate tfplans in the mix
52-
- encrypt: Encrypt all traffic to and from the backend
39+
1. Create a new folder in `terraform/` named `db`.
40+
2. Create the required files, see the [examples](https://github.com/sourcefuse/terraform-aws-arc-db/tree/main/examples/rds) to base off of.
41+
3. Configure with your backend
42+
- Create the environment backend configuration file: `config.<environment>.hcl`
43+
- **region**: Where the backend resides
44+
- **key**: `<working_directory>/terraform.tfstate`
45+
- **bucket**: Bucket name where the terraform state will reside
46+
- **dynamodb_table**: Lock table so there are not duplicate tfplans in the mix
47+
- **encrypt**: Encrypt all traffic to and from the backend
5348

5449
### Required AWS Permissions
5550

56-
Ensure that the AWS credentials used to execute Terraform have the necessary permissions to create, list and modify:
51+
Ensure that the AWS credentials used to execute Terraform have the necessary permissions to create Aurora cluster and SQL Server RDS instance.
5752

5853
## Module Configuration
5954

6055
### Input Variables
6156

62-
For a list of input variables, see the README [Inputs](https://github.com/sourcefuse/terraform-aws-arc-security-group?tab=readme-ov-file#inputs) section.
57+
For a list of input variables, see the README [Inputs](https://github.com/sourcefuse/terraform-aws-arc-db?tab=readme-ov-file#inputs) section.
6358

6459
### Output Values
6560

66-
For a list of outputs, see the README [Outputs](https://github.com/sourcefuse/terraform-aws-arc-security-group?tab=readme-ov-file#outputs) section.
61+
For a list of outputs, see the README [Outputs](https://github.com/sourcefuse/terraform-aws-arc-db?tab=readme-ov-file#outputs) section.
6762

6863
## Module Usage
6964

7065
### Basic Usage
7166

72-
For basic usage, see the [example](https://github.com/sourcefuse/terraform-aws-arc-security-group/tree/main/example) folder.
67+
For basic usage, see the [example](https://github.com/sourcefuse/terraform-aws-arc-db/tree/main/examples/rds) folder.
7368

7469
This example will create:
7570

76-
This Terraform module creates a security group with the following configurations:
71+
- RDS Instance Example
72+
This example demonstrates deploying a single RDS instance using the module, configuring an Amazon RDS database with basic settings like instance class, storage, and connectivity. It showcases options for database engine, encryption, and CloudWatch monitoring for a standalone RDS database. Ideal for simple, production-ready RDS setups.
73+
74+
### RDS Proxy
75+
76+
For RDS Proxy, see the [example](https://github.com/sourcefuse/terraform-aws-arc-db/tree/main/examples/rds-proxy) folder.
77+
78+
- RDS Proxy Example
79+
This example configures an RDS Proxy for an RDS database, helping manage connection pooling for improved database performance and security. By integrating with RDS Proxy, it reduces connection management overhead and scales automatically with demand, useful for applications with variable database traffic and sensitive to scaling requirements.
7780

78-
Ingress Rules:
81+
### Aurora Cluster
7982

80-
- VPC Traffic: Allows all TCP traffic within the VPC (0-65535) based on the VPC CIDR block.
81-
- Self-Traffic: Allows all TCP traffic (0-65535) within the same security group for self-referencing communication.
82-
- Source Security Group: Permits TCP traffic (0-65535) from a specific source security group.
83+
For Aurora Cluster, see the [example](https://github.com/sourcefuse/terraform-aws-arc-db/tree/main/examples/aurora) folder.
8384

84-
Egress Rules:
85+
- Aurora Cluster Example
86+
This example provisions an Amazon Aurora cluster, utilizing the module to set up a high-availability, high-performance database solution. The configuration includes multiple instances within a cluster, providing a resilient and cost-effective solution suitable for demanding applications.
8587

86-
- Outbound Traffic: Allows unrestricted outbound traffic (0.0.0.0/0) for all protocols and ports.
88+
### Aurora Cluster Serverless
89+
90+
For Aurora Cluster Serverless, see the [example](https://github.com/sourcefuse/terraform-aws-arc-db/tree/main/examples/aurora-serverless) folder.
91+
92+
- Aurora Serverless Cluster Example
93+
This example deploys an Aurora Serverless cluster autoscaling, making it ideal for applications with unpredictable or intermittent database usage. The module configures serverless capacity, connectivity, and database settings, automatically adjusting to workload needs without manual intervention.
8794

8895
### Tips and Recommendations
8996

90-
The module can manage egress rules to security groups, S3 endpoints, and more.
97+
The module focuses on provisioning Aurora database cluster and Amazon RDS instance for SQL Server. Adjust the configuration parameters as needed for your specific use case.
9198

9299
## Troubleshooting
93100

94101
### Reporting Issues
95102

96-
If you encounter a bug or issue, please report it on the [GitHub repository](https://github.com/sourcefuse/terraform-aws-arc-security-group/issues).
103+
If you encounter a bug or issue, please report it on the [GitHub repository](https://github.com/sourcefuse/terraform-aws-arc-db/issues).
97104

98105
## Security Considerations
99106

100107
### AWS VPC
101108

102-
Understand the security considerations related to Security Group
109+
Understand the security considerations related to Aurora database cluster and Amazon RDS instance for SQL Server on AWS when using this module.
110+
111+
### Best Practices for Aurora database cluster
112+
113+
Follow best practices to ensure secure DB configurations:
114+
115+
[Aurora security on AWS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_BestPractices.Security.html)
103116

104117
## Contributing and Community Support
105118

106119
### Contributing Guidelines
107120

108-
Contribute to the module by following the guidelines outlined in the [CONTRIBUTING.md](https://github.com/sourcefuse/terraform-aws-arc-security-group/blob/main/CONTRIBUTING.md) file.
121+
Contribute to the module by following the guidelines outlined in the [CONTRIBUTING.md](https://github.com/sourcefuse/terraform-aws-arc-db/blob/main/CONTRIBUTING.md) file.
109122

110123
### Reporting Bugs and Issues
111124

112-
If you find a bug or issue, report it on the [GitHub repository](https://github.com/sourcefuse/terraform-aws-arc-security-group/issues).
125+
If you find a bug or issue, report it on the [GitHub repository](https://github.com/sourcefuse/terraform-aws-arc-db/issues).
113126

114127
## License
115128

116129
### License Information
117130

118-
This module is licensed under the Apache 2.0 license. Refer to the [LICENSE](https://github.com/sourcefuse/terraform-aws-arc-security-group/blob/main/LICENSE) file for more details.
131+
This module is licensed under the Apache 2.0 license. Refer to the [LICENSE](https://github.com/sourcefuse/terraform-aws-arc-db/blob/main/LICENSE) file for more details.
119132

120133
### Open Source Contribution
121134

0 commit comments

Comments
 (0)