Repository to play with terraform and AWS common usage resources.
This architecture is an example from Stephane Maarek AWS SysOps course.
- Add RDS to diagram architecture.
- Add second private subnet to diagram architecture.
- Add output to the RDS reader instance.
Name | Version |
---|---|
terraform | >= 1.8.2 |
aws | >= 5.50.0 |
Name | Version |
---|---|
aws | >= 5.50.0 |
http | n/a |
No modules.
Name | Type |
---|---|
aws_db_subnet_group.rds | resource |
aws_eip.publicA | resource |
aws_iam_role.rds | resource |
aws_iam_role_policy_attachment.rds_attach | resource |
aws_instance.private | resource |
aws_instance.public | resource |
aws_internet_gateway.dev | resource |
aws_key_pair.personal | resource |
aws_nat_gateway.publicA | resource |
aws_rds_cluster.rds_cluster | resource |
aws_rds_cluster_instance.rds_instance | resource |
aws_rds_cluster_instance.rds_replica_reader | resource |
aws_route.public_internet_gateway | resource |
aws_route_table.private | resource |
aws_route_table.public | resource |
aws_route_table_association.privateA | resource |
aws_route_table_association.publicA | resource |
aws_security_group.private | resource |
aws_security_group.public | resource |
aws_subnet.privateA | resource |
aws_subnet.privateB | resource |
aws_subnet.publicA | resource |
aws_vpc.dev | resource |
aws_ami.amzn-linux-2023-ami | data source |
aws_iam_policy.AmazonRDSEnhancedMonitoringRole | data source |
http_http.myip | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
access_key | n/a | string |
n/a | yes |
common_tags | Common tags to the resources | map(string) |
n/a | yes |
instance_type | Type of EC2 instance to provision | string |
"t2.micro" |
no |
name | n/a | string |
n/a | yes |
personal_account_id | List of personal account IDs to deny terraform create | list(string) |
n/a | yes |
public_key_path | Path to the public key to create the key pair | string |
n/a | yes |
rds_backup_retention_period | RDS backup retention period | number |
n/a | yes |
rds_cluster_engine | RDS cluster engine | string |
n/a | yes |
rds_cluster_maintenance_window | RDS maintenance window | string |
n/a | yes |
rds_cluster_name | Name of the RDS cluster | string |
n/a | yes |
rds_cluster_version | Postgre version to use | string |
n/a | yes |
rds_database_name | RDS database name | string |
n/a | yes |
rds_deletion_protection | Enable RDS deletion protection | bool |
n/a | yes |
rds_instance_insights_retention_period | RDS instance insights retention period | number |
n/a | yes |
rds_instance_minor_version | RDS instance minor version | bool |
n/a | yes |
rds_instance_monitoring_interval | RDS instance monitoring interval, if > 0 enhanced monitoring enabled | string |
n/a | yes |
rds_instance_name | n/a | string |
n/a | yes |
rds_instance_performance_insights | RDS instance performance insights | bool |
n/a | yes |
rds_instance_type | RDS instance type | string |
n/a | yes |
rds_port | RDS port | number |
n/a | yes |
rds_skip_final_snapshot | Skip RDS final snapshot | string |
n/a | yes |
rds_storage_encrypted | Encrypt RDS storage | bool |
n/a | yes |
rds_username | Username to connect to RDS | string |
n/a | yes |
region | n/a | string |
n/a | yes |
secret_key | n/a | string |
n/a | yes |
Name | Description |
---|---|
aws_rds_cluster_instance_reader | n/a |
aws_rds_cluster_instance_writer | n/a |
aws_rds_cluster_username | n/a |
aws_rds_port | n/a |
ec2_private_ip | n/a |
ec2_public_ip | n/a |
rds_cluster_database_name | n/a |