项目作者: jslopes8

项目描述 :
Terrraform Module create resource RDS Proxy
高级语言: HCL
项目地址: git://github.com/jslopes8/terraform-aws-db-rds-proxy.git
创建时间: 2020-09-22T18:14:02Z
项目社区:https://github.com/jslopes8/terraform-aws-db-rds-proxy

开源协议:

下载


Terraform Module AWS RDS Proxy

Terraform module irá provisionar os seguintes recursos:

Usage

Caso de uso: RDS Proxy MySQL com Secret Manager

  1. module "rds_proxy_pucrs" {
  2. source = "git::https://github.com/jslopes8/terraform-aws-db-proxy.git?ref=v3.0"
  3. db_proxy_name = "db-proxy-mysql"
  4. engine_family = "MYSQL"
  5. db_instance_identifier = module.db_instance.id
  6. vpc_subnet_ids = [
  7. tolist(data.aws_subnet_ids.priv.ids)[0],
  8. tolist(data.aws_subnet_ids.priv.ids)[1],
  9. tolist(data.aws_subnet_ids.priv.ids)[2]
  10. ]
  11. vpc_security_group_ids = [ module.db_instance_sg.id ]
  12. connection_pool_config = [{
  13. init_query = "SET x=1, y=2"
  14. connection_borrow_timeout = "120"
  15. max_connections_percent = "100"
  16. max_idle_connections_percent = "50"
  17. session_pinning_filters = ["EXCLUDE_VARIABLE_SETS"]
  18. }]
  19. auth = [{
  20. iam_auth = "DISABLED"
  21. auth_scheme = "SECRETS"
  22. }]
  23. secretsmanager = [{
  24. recovery_window_in_days = "0"
  25. version_stages = ["AWSCURRENT"]
  26. secret_string = {
  27. username = local.username
  28. password = local.password
  29. }
  30. }]
  31. default_tags = local.default_tags
  32. }

Requirements

Name Version
aws 3.*
terraform 0.15.*

Variables Inputs

Name Description Required Type Default
db_proxy_name O nome do RDS Proxy. yes string
engine_family O tipo do database que o proxy irá conectar. Valores validos MYSQL e POSTGRESQL. yes string MYSQL
db_instance_identifier Identificador da instância do banco de dados. Não deve ser especificado em conjunto com o db_cluster_identifier. yes string
db_cluster_identifier Identificador de cluster de banco de dados. Não deve ser especificado em conjunto com o db_instance_identifier. yes string
debug_logging Se o proxy inclui informações detalhadas sobre instruções SQL em seus logs. no bool false
vpc_subnet_ids Uma lista com um ou mais IDs de sub-rede para associar ao novo proxy. yes list [ ]
vpc_security_group_ids Uma lista com um ou mais IDs de security group para associar ao novo proxy. yes list [ ]
connection_pool_config As configurações que determinam o tamanho e o comportamento do pool de conexão para o grupo de destino. Abaixo segue detalhes. yes list [ ]
auth Configuração com mecanismos de autorização para se conectar às instâncias ou clusters associados. Abaixo segue detalhes. yes list [ ]
idle_client_timeout O número de segundos que uma conexão com o proxy pode ficar inativa antes que o proxy a desconecte. no number 1800
require_tls Especifica se a criptografia TLS (Transport Layer Security) é necessária para conexões com o proxy. no bool true
default_tags Um mapa de chave-valor para tagueamento do recursos. no map { }
secretsmanager Configuração com mecanismos para gerenciar o secret. Abaixo segue detalhes. no list [ ]
enabled_depends_on Use quando tiver dependências de módulo. no list [ ]

O argumento connection_pool_config possui os seguintes atributos;

  • init_query: (Opcional) Uma ou mais instruções SQL para o proxy executar ao abrir cada nova conexão de banco de dados.
  • connection_borrow_timeout: (Opcional) O número de segundos para um proxy aguardar até que uma conexão se torne disponível no pool de conexão.
  • max_connections_percent: (Opcional) O tamanho máximo do pool de conexão para cada destino em um grupo de destino
  • max_idle_connections_percent: (Opcional) Controla o quão ativamente o proxy fecha conexões de banco de dados inativas no pool de conexão.
  • session_pinning_filters: (Opcional) Cada item na lista representa uma classe de operações SQL. Valor permitido é EXCLUDE_VARIABLE_SETS.

O argumento auth possui os seguintes atributos;

  • iam_auth: (Opcional) Exigir ou proibir a autenticação. Valores validos DISABLED e REQUIRED. Valor padrão DISABLED.
  • auth_scheme: (Opcional) O tipo de autenticação que o proxy usa para conexões do proxy ao banco de dados subjacente. Valor padrão SECRETS.
  • description: (Opcional) Uma descrição especificada pelo usuário sobre a autenticação usada por um proxy.

O argumento secretsmanager possui os seguintes atributos;

  • recovery_window_in_days: (Opcional) Especifica o número de dias que o AWS Secrets Manager espera antes de excluir o segredo
  • tags: (Opcional) Um mapa de chave-valor para tagueamento do recursos
  • version_stages: (Opcional) Especifica os dados de texto que você deseja criptografar e armazenar nesta versão do segredo.
  • secret_string: (Opcional) Especifica uma lista de rótulos de teste anexados a esta versão do segredo.

Variable Outputs

Name Description
endpoint Nome do host para a instância de banco de dados RDS de destino.
port Porta para a instância de banco de dados RDS de destino ou cluster de banco de dados Aurora.
id Identificador de recursos.