一覧へ戻る
A Terraform module to create an Amazon Web Services (AWS) PostgreSQL Relational Database Server (RDS).
- star 数
- 87
- watcher 数
- 15
- fork 数
- 64
- issue 数
- 7
- 最終更新
- 2023/06/21
A Terraform module to create an Amazon Web Services (AWS) PostgreSQL Relational Database Server (RDS).
A Terraform module to create an Amazon Web Services (AWS) PostgreSQL Relational Database Server (RDS).
module "postgresql_rds" { source = "github.com/azavea/terraform-aws-postgresql-rds" vpc_id = "vpc-20f74844" allocated_storage = "32" engine_version = "9.4.4" instance_type = "db.t2.micro" storage_type = "gp2" database_identifier = "jl23kj32sdf" database_name = "hector" database_username = "hector" database_password = "secret" database_port = "5432" backup_retention_period = "30" backup_window = "04:00-04:30" maintenance_window = "sun:04:30-sun:05:30" auto_minor_version_upgrade = false multi_availability_zone = true storage_encrypted = false subnet_group = aws_db_subnet_group.default.name parameter_group = aws_db_parameter_group.default.name monitoring_interval = "60" deletion_protection = true cloudwatch_logs_exports = ["postgresql"] alarm_cpu_threshold = "75" alarm_disk_queue_threshold = "10" alarm_free_disk_threshold = "5000000000" alarm_free_memory_threshold = "128000000" alarm_actions = ["arn:aws:sns..."] ok_actions = ["arn:aws:sns..."] insufficient_data_actions = ["arn:aws:sns..."] project = "Something" environment = "Staging" }
If the monitoring_interval passed as an input to this module is 0, an empty monitoring_role_arn value will be passed to the aws_db_instance resource.
This is because, if a value for monitoring_role_arn is passed to an aws_db_instance, along with a monitoring_interval of 0, the following error will occur:
InvalidParameterCombination: You must specify a MonitoringInterval value other than 0 when you specify a MonitoringRoleARN value.
If you're curious to know more, see the discussion within hashicorp/terraform-provider-aws#315.
vpc_id - ID of VPC meant to house databaseproject - Name of project this VPC is meant to house (default: Unknown)environment - Name of environment this VPC is targeting (default: Unknown)allocated_storage - Storage allocated to database instance (default: 32)engine_version - Database engine version (default: 11.5)instance_type - Instance type for database instance (default: db.t3.micro)storage_type - Type of underlying storage for database (default: gp2)iops - The amount of provisioned IOPS. Setting this implies a storage_type of io1 (default: 0)database_identifier - Identifier for RDS instancesnapshot_identifier - The name of the snapshot (if any) the database should be created fromdatabase_name - Name of database inside storage enginedatabase_username - Name of user inside storage enginedatabase_password - Database password inside storage enginedatabase_port - Port on which database will accept connections (default 5432)backup_retention_period - Number of days to keep database backups (default:
30)backup_window - 30 minute time window to reserve for backups (default:
04:00-04:30)maintenance_window - 60 minute time window to reserve for maintenance
(default: sun:04:30-sun:05:30)auto_minor_version_upgrade - Minor engine upgrades are applied automatically
to the DB instance during the maintenance window (default: true)final_snapshot_identifier - Identifier for final snapshot if skip_final_snapshot is set to false (default: terraform-aws-postgresql-rds-snapshot)skip_final_snapshot - Flag to enable or disable a snapshot if the database instance is terminated (default: true)copy_tags_to_snapshot - Flag to enable or disable copying instance tags to the final snapshot (default: false)multi_availability_zone - Flag to enable hot standby in another availability
zone (default: false)storage_encrypted - Flag to enable storage encryption (default: false)monitoring_interval - The interval, in seconds, between points when Enhanced Monitoring metrics are collected (default: 0)deletion_protection - Flag to protect the database instance from deletion (default: false)cloudwatch_logs_exports - List of logs to publish to CloudWatch Logs. See all available options. (default: ["postgresql, "upgrade"])subnet_group - Database subnet groupparameter_group - Database engine parameter group (default:
default.postgres11)alarm_cpu_threshold - CPU alarm threshold as a percentage (default: 75)alarm_disk_queue_threshold - Disk queue alarm threshold (default: 10)alarm_free_disk_threshold - Free disk alarm threshold in bytes (default: 5000000000)alarm_free_memory_threshold - Free memory alarm threshold in bytes (default: 128000000)alarm_cpu_credit_balance_threshold - CPU credit balance threshold (default: 30). Only used for db.t* instance typesalarm_actions - List of ARNs to be notified via CloudWatch when alarm enters ALARM stateok_actions - List of ARNs to be notified via CloudWatch when alarm enters OK stateinsufficient_data_actions - List of ARNs to be notified via CloudWatch when alarm enters INSUFFICIENT_DATA statetags - Extra tags to attach to the RDS resources (default: {})id - The database instance IDdatabase_security_group_id - Security group ID of the databasehosted_zone_id - The zone id for the autogenerated DNS name given in endpoint.hostname - Public DNS name of database instanceport - Port of database instanceendpoint - Public DNS name and port separated by a colon
Use this when creating a short-name DNS alias for the endpoint