A Google Cloud Redis instance.

To get more information about Instance, see:

Example Usage

Basic Usage

resource "google_redis_instance" "test" {
  name           = "%s"
  memory_size_gb = 1

Full Usage

resource "google_compute_network" "test" {
  name = "%s"

resource "google_redis_instance" "test" {
  name           = "%s"
  tier           = "STANDARD_HA"
  memory_size_gb = 1

  region                  = "us-central1"
  location_id             = "us-central1-a"
  alternative_location_id = "us-central1-f"

  redis_version     = "REDIS_3_2"
  display_name      = "Terraform Test Instance"
  reserved_ip_range = ""

  labels {
    my_key    = "my_val"
    other_key = "other_val"

Argument Reference

The following arguments are supported:

  • name - (Required) The ID of the instance or a fully qualified identifier for the instance.
  • memory_size_gb - (Required) Redis memory size in GiB.
  • alternative_location_id - (Optional) Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. If provided, it must be a different zone from the one provided in [locationId].
  • authorized_network - (Optional) The full name of the Google Compute Engine network to which the instance is connected. If left unspecified, the default network will be used.
  • display_name - (Optional) An arbitrary and optional user-provided name for the instance.
  • labels - (Optional) Resource labels to represent user provided metadata.
  • location_id - (Optional) The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If [alternativeLocationId] is also provided, it must be different from [locationId].
  • redis_version - (Optional) The version of Redis software. If not provided, latest supported version will be used. Updating the version will perform an upgrade/downgrade to the new version. Currently, the supported values are REDIS_3_2 for Redis 3.2.
  • reserved_ip_range - (Optional) The CIDR range of internal addresses that are reserved for this instance. If not provided, the service will choose an unused /29 block, for example, or Ranges must be unique and non-overlapping with existing subnets in an authorized network.
  • tier - (Optional) The service tier of the instance. Must be one of these values:

    • BASIC: standalone instance
    • STANDARD_HA: highly available primary/replica instances
  • region - (Optional) The name of the Redis region of the instance.

  • project (Optional) The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

  • create_time - The time the instance was created in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
  • current_location_id - The current zone where the Redis endpoint is placed. For Basic Tier instances, this will always be the same as the [locationId] provided by the user at creation time. For Standard Tier instances, this can be either [locationId] or [alternativeLocationId] and can change after a failover event.
  • host - Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service.
  • port - The port number of the exposed Redis endpoint.


This resource provides the following Timeouts configuration options:

  • create - Default is 6 minutes.
  • update - Default is 4 minutes.
  • delete - Default is 4 minutes.


Instance can be imported using any of these accepted formats:

$ terraform import google_redis_instance.default projects/{{project}}/locations/{{region}}/instances/{{name}}
$ terraform import google_redis_instance.default {{project}}/{{region}}/{{name}}
$ terraform import google_redis_instance.default {{name}}

© 2018 HashiCorpLicensed under the MPL 2.0 License.