This Terraform module creates a Redis Cache instance along with firewall rules. No logging is available from this resource.
The default configuration is an highly available cluster of 3 shards and data persistence enabled on the Premium tier.
Module version | Terraform version | AzureRM version |
---|---|---|
>= 5.x.x | 0.15.x & 1.0.x | >= 2.0 |
>= 4.x.x | 0.13.x | >= 2.0 |
>= 3.x.x | 0.12.x | >= 2.0 |
>= 2.x.x | 0.12.x | < 2.0 |
< 2.x.x | 0.11.x | < 2.0 |
This module is optimized to work with the Claranet terraform-wrapper tool
which set some terraform variables in the environment needed by this module.
More details about variables set by the terraform-wrapper
available in the documentation.
module "azure_region" {
source = "claranet/regions/azurerm"
version = "x.x.x"
azure_region = var.azure_region
}
module "rg" {
source = "claranet/rg/azurerm"
version = "x.x.x"
location = module.azure_region.location
client_name = var.client_name
environment = var.environment
stack = var.stack
}
module "logs" {
source = "claranet/run-common/azurerm//modules/logs"
version = "x.x.x"
client_name = var.client_name
environment = var.environment
stack = var.stack
location = module.azure_region.location
location_short = module.azure_region.location_short
resource_group_name = module.rg.resource_group_name
}
module "redis" {
source = "claranet/redis/azurerm"
version = "x.x.x"
client_name = var.client_name
environment = var.environment
location = module.azure_region.location
location_short = module.azure_region.location_short
stack = var.stack
resource_group_name = module.rg.resource_group_name
authorized_cidrs = {
ip1 = "1.2.3.4/32"
ip2 = "5.6.7.8/16"
}
logs_destinations_ids = [
module.logs.logs_storage_account_id,
module.logs.log_analytics_workspace_id
]
extra_tags = {
foo = "bar"
}
}
Name | Version |
---|---|
azurecaf | ~> 1.1 |
azurerm | >= 2.71 |
Name | Source | Version |
---|---|---|
diagnostics | claranet/diagnostic-settings/azurerm | 5.0.0 |
Name | Type |
---|---|
azurecaf_name.data_storage | resource |
azurecaf_name.redis | resource |
azurecaf_name.redis_fw_rule | resource |
azurerm_redis_cache.redis | resource |
azurerm_redis_firewall_rule.redis_fw_rule | resource |
azurerm_storage_account.redis_storage | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
allow_non_ssl_connections | Activate non SSL port (6779) for Redis connection | bool |
false |
no |
authorized_cidrs | Map of authorized cidrs | map(string) |
n/a | yes |
capacity | Redis size: (Basic/Standard: 1,2,3,4,5,6) (Premium: 1,2,3,4) https://docs.microsoft.com/fr-fr/azure/redis-cache/cache-how-to-premium-clustering | number |
2 |
no |
client_name | Name of the client | string |
n/a | yes |
cluster_shard_count | Number of cluster shards desired | number |
3 |
no |
custom_diagnostic_settings_name | Custom name of the diagnostics settings, name will be 'default' if not set. | string |
"default" |
no |
custom_name | Custom name of Redis Server | string |
"" |
no |
data_persistence_enabled | "true" to enable data persistence. | bool |
true |
no |
data_persistence_frequency_in_minutes | Data persistence snapshot frequency in minutes. | number |
60 |
no |
data_persistence_max_snapshot_count | Max number of data persistence snapshots. | number |
null |
no |
data_persistence_storage_account_replication | Replication type for the Storage Account used for data persistence. | string |
"LRS" |
no |
data_persistence_storage_account_tier | Replication type for the Storage Account used for data persistence. | string |
"Premium" |
no |
data_persistence_storage_custom_name | Custom name for the Storage Account used for Redis data persistence. | string |
"" |
no |
default_tags_enabled | Option to enable or disable default tags. | bool |
true |
no |
environment | Name of the application's environnement | string |
n/a | yes |
extra_tags | Additional tags to associate. | map(string) |
{} |
no |
location | Azure region in which instance will be hosted | string |
n/a | yes |
location_short | Azure region trigram | string |
n/a | yes |
logs_categories | Log categories to send to destinations. | list(string) |
null |
no |
logs_destinations_ids | List of destination resources Ids for logs diagnostics destination. Can be Storage Account, Log Analytics Workspace and Event Hub. No more than one of each can be set. Empty list to disable logging. | list(string) |
n/a | yes |
logs_metrics_categories | Metrics categories to send to destinations. | list(string) |
null |
no |
logs_retention_days | Number of days to keep logs on storage account | number |
30 |
no |
minimum_tls_version | The minimum TLS version | string |
"1.2" |
no |
name_prefix | Optional prefix for the generated name | string |
"" |
no |
name_suffix | Optional suffix for the generated name | string |
"" |
no |
private_static_ip_address | The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created. | string |
null |
no |
redis_additional_configuration | Additional configuration for the Redis instance. Some of the keys are set automatically. See https://www.terraform.io/docs/providers/azurerm/r/redis_cache.html#redis_configuration for full reference. | map(string) |
{} |
no |
redis_version | Redis version to deploy. Allowed values are 4 or 6 | number |
4 |
no |
resource_group_name | Name of the application ressource group, herited from infra module | string |
n/a | yes |
sku_name | Redis Cache Sku name. Can be Basic, Standard or Premium | string |
"Premium" |
no |
stack | Name of the application stack | string |
n/a | yes |
subnet_id | The ID of the Subnet within which the Redis Cache should be deployed. Changing this forces a new resource to be created. | string |
null |
no |
use_caf_naming | Use the Azure CAF naming provider to generate default resource name. custom_name override this if set. Legacy default name is used if this is set to false . |
bool |
true |
no |
zones | A list of a one or more Availability Zones, where the Redis Cache should be allocated. | list(number) |
null |
no |
Name | Description |
---|---|
redis_capacity | Redis capacity |
redis_configuration | Redis configuration |
redis_family | Redis family |
redis_hostname | Redis instance hostname |
redis_id | Redis instance id |
redis_name | Redis instance name |
redis_port | Redis instance port |
redis_primary_access_key | Redis primary access key |
redis_private_static_ip_address | Redis private static IP address |
redis_secondary_access_key | Redis secondary access key |
redis_sku_name | Redis SKU name |
redis_ssl_port | Redis instance SSL port |
Microsoft Azure service documentation: docs.microsoft.com/en-us/azure/azure-cache-for-redis/