In App Design Center, you can configure a
[Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/product-overview) instance
to provide fully managed, scalable Valkey caching for your Google Cloud
applications, with support for both Cluster Mode Enabled and Cluster Mode
Disabled instances. You can customize the instance's component connections and
configuration parameters based on the
[terraform-google-memorystore](https://github.com/terraform-google-modules/terraform-google-memorystore/tree/main/modules/valkey)
Terraform module.

## Component connections

The following table includes the components that you can connect to a
Memorystore for Valkey instance and the resulting updates to your application
and its generated Terraform code.

| Connected component | Application updates | Background information |
|---|---|---|
| [Cloud Run](https://docs.cloud.google.com/application-design-center/docs/configure-cloud-run) | - The Cloud Run service can cache data in the Memorystore for Valkey instance. - App Design Center adds the Memorystore for Valkey connection information to the Cloud Run environment variables. - App Design Center adds the `roles/memorystore.dbConnectionUser` role to the Cloud Run service account. | [Connect to a Memorystore for Valkey instance](https://docs.cloud.google.com/memorystore/docs/valkey/connect-instance) |
| [Compute Engine instance template](https://docs.cloud.google.com/application-design-center/docs/configure-compute-engine-instance) | - The instance template can cache data in the Memorystore for Valkey instance. - App Design Center adds the Memorystore for Valkey connection information to the compute instance metadata. | [Connect to a Memorystore for Valkey instance](https://docs.cloud.google.com/memorystore/docs/valkey/connect-instance) |
| [Service Account](https://docs.cloud.google.com/application-design-center/docs/configure-service-account) | - App Design Center adds the `roles/memorystore.editor` role to the service account credentials to let the service account manage the instance. | [Connect to a Memorystore for Valkey instance](https://docs.cloud.google.com/memorystore/docs/valkey/connect-instance) |
| VPC network | - App Design Center deploys the Memorystore for Valkey instance into the selected VPC network. - App Design Center adds the VPC network information to the Memorystore for Valkey network parameters. | [Networking setup guidance](https://docs.cloud.google.com/memorystore/docs/valkey/networking#networking_setup_guidance) |
| KMS key | - The Memorystore for Valkey instance uses the connected KMS key for data-at-rest encryption. - App Design Center passes the KMS key ID into the Memorystore for Valkey instance configuration. | [Use customer-managed encryption keys (CMEK)](https://docs.cloud.google.com/memorystore/docs/valkey/use-cmek) |

## Required configuration parameters

If your template includes a Memorystore for Valkey component, you must
configure the following parameters before you deploy.

| Parameter name | Description and constraints | Background information |
|---|---|---|
| **Name** | [name](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.name) | [Create instances](https://docs.cloud.google.com/memorystore/docs/valkey/create-instances) |
| **Project ID** | The project where you want to deploy the Memorystore for Valkey resource. | [Configure components](https://docs.cloud.google.com/application-design-center/docs/design-application-templates#configure_components) |
| **Region** | [locationId](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations#Location.FIELDS.location_id) | [Supported regions](https://docs.cloud.google.com/memorystore/docs/valkey/locations#supported_regions) |
| **Network** | [network](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#PscConfig.FIELDS.network) | [Networking setup guidance](https://docs.cloud.google.com/memorystore/docs/valkey/networking#networking_setup_guidance) |

## Optional configuration parameters

The following parameters are optional. To display advanced parameters, in the
**Configuration** area, select **Show advanced fields**.

| Feature | Parameter name | Description and constraint information | Background information |
|---|---|---|---|
| <br /> | **Shard count** | [shardCount](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.shard_count) | [Shards](https://docs.cloud.google.com/memorystore/docs/valkey/product-overview#shards) |
| <br /> | **Replica count** | [replicaCount](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.replica_count) | [Primary and replica nodes](https://docs.cloud.google.com/memorystore/docs/valkey/product-overview#primary_and_replica_nodes) |
| <br /> | **Transit encryption mode** | [transitEncryptionMode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.transit_encryption_mode) | [About in-transit encryption](https://docs.cloud.google.com/memorystore/docs/valkey/about-in-transit-encryption) |
| <br /> | **Authorization mode** | [authorizationMode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.authorization_mode) | [About IAM authentication](https://docs.cloud.google.com/memorystore/docs/valkey/about-iam-auth) |
| <br /> | **Node type** | [nodeType](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.node_type) | [Instance and node specification](https://docs.cloud.google.com/memorystore/docs/valkey/instance-node-specification) |
| <br /> | **Zone distribution configuration mode** | [mode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#ZoneDistributionConfig.FIELDS.mode) | [Single-zone instances](https://docs.cloud.google.com/memorystore/docs/valkey/single-zone-instances) |
| Maintenance windows | **Day** | [day](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#WeeklyMaintenanceWindow.FIELDS.day) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Maintenance windows | **Hours** | [hours](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/Shared.Types/TimeOfDay#FIELDS.hours) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Maintenance windows | **Minutes** | [minutes](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/Shared.Types/TimeOfDay#FIELDS.minutes) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Maintenance windows | **Seconds** | [seconds](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/Shared.Types/TimeOfDay#FIELDS.seconds) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Maintenance windows | **Nanos** | [nanos](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/Shared.Types/TimeOfDay#FIELDS.nanos) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Persistence configuration | **Persistence mode** | [persistenceMode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#PersistenceConfig.FIELDS.mode) | [Persistence overview](https://docs.cloud.google.com/memorystore/docs/valkey/persistence-overview) |
| Persistence configuration | **RDB snapshot period** | [rdbSnapshotPeriod](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#RDBConfig.FIELDS.rdb_snapshot_period) | [About RDB snapshots](https://docs.cloud.google.com/memorystore/docs/valkey/about-rdb-persistence) |
| Persistence configuration | **RDB snapshot start time** | [rdbSnapshotStartTime](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#RDBConfig.FIELDS.rdb_snapshot_start_time) | [About RDB snapshots](https://docs.cloud.google.com/memorystore/docs/valkey/about-rdb-persistence) |
| Persistence configuration | **AOF configuration** | [aofConfig](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#PersistenceConfig.FIELDS.aof_config) | [About AOF snapshots](https://docs.cloud.google.com/memorystore/docs/valkey/about-aof-persistence) |
| <br /> | **Enable APIs** | App Design Center enables the memorystore.googleapis.com API by default. | [Google Cloud Memorystore for Valkey API](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest) |
| <br /> | **Service connection policy** | [ServiceConnectionPolicy](https://docs.cloud.google.com/network-connectivity/docs/reference/networkconnectivity/rest/v1/projects.locations.serviceConnectionPolicies#resource:-serviceconnectionpolicy) | [Create a service connection policy](https://docs.cloud.google.com/memorystore/docs/valkey/instance-provisioning-vpc#create_a_service_connection_policy) |
| Engine configuration | **maxmemory-clients** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **maxmemory** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **maxmemory-policy** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **notify-keyspace-events** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **slowlog-log-slower-than** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **maxclients** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **databases** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| Engine configuration | **cluster-databases** | [engineConfigs](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_configs) | [Modifiable configuration parameters](https://docs.cloud.google.com/memorystore/docs/valkey/supported-instance-configurations#modifiable_configuration_parameters) |
| <br /> | **Zone distribution configuration zone** | [zone](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#ZoneDistributionConfig.FIELDS.zone) | [Single-zone instances](https://docs.cloud.google.com/memorystore/docs/valkey/single-zone-instances) |
| <br /> | **Deletion protection enabled** | App Design Center enables cluster deletion protection by default. | [Prevent deletion of a cluster](https://docs.cloud.google.com/memorystore/docs/valkey/deletion-protection#setting_or_removing_deletion_protection_on_an_existing_instance) |
| <br /> | **KMS key** | [customerManagedKey](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.kms_key) | [Use customer-managed encryption keys (CMEK)](https://docs.cloud.google.com/memorystore/docs/valkey/use-cmek) |
| Labels | **Key** | label | [Create and manage labels](https://docs.cloud.google.com/bigtable/docs/creating-managing-labels) |
| Labels | **Value** | label | [Create and manage labels](https://docs.cloud.google.com/bigtable/docs/creating-managing-labels) |
| <br /> | **Zonal distribution configuration mode** | [Zone distribution mode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#zonedistributionmode) | [Single-zone instances](https://docs.cloud.google.com/memorystore/docs/valkey/single-zone-instances) |
| <br /> | **Cluster mode** | [mode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.mode) | [Enable and disable cluster mode](https://docs.cloud.google.com/memorystore/docs/valkey/cluster-mode-enabled-and-disabled) |
| <br /> | **Engine version** | [engineVersion](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.engine_version) | [Supported versions](https://docs.cloud.google.com/memorystore/docs/valkey/supported-versions) |
| <br /> | **Server CA mode** | [serverCaMode](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.server_ca_mode) | [Certificate Authorities](https://docs.cloud.google.com/memorystore/docs/valkey/about-in-transit-encryption#certificate-authorities) |
| <br /> | **Server CA pool** | [serverCaPool](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.server_ca_pool) | [Secure your data by using a customer-managed Certificate Authority (CA)](https://docs.cloud.google.com/memorystore/docs/valkey/use-customer-managed-ca) |
| <br /> | **Network project** | The project that hosts the shared VPC network. | [Shared VPC overview](https://docs.cloud.google.com/vpc/docs/shared-vpc) |
| <br /> | **Maintenance version** | [maintenanceVersion](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#Instance.FIELDS.maintenance_version) | [About maintenance on Memorystore for Valkey](https://docs.cloud.google.com/memorystore/docs/valkey/about-maintenance) |
| Backup configuration | **Automated backup configuration** | [automatedBackupConfig](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#automatedbackupconfig) | [About backups](https://docs.cloud.google.com/memorystore/docs/valkey/backups) |
| Backup configuration | **Cloud Storage source** | [uri](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#GcsBackupSource.FIELDS.uris) | [About backups](https://docs.cloud.google.com/memorystore/docs/valkey/backups) |
| Backup configuration | **Managed backup source** | [managedBackupSource](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#ManagedBackupSource.FIELDS.backup) | [About backups](https://docs.cloud.google.com/memorystore/docs/valkey/backups) |

## Cross region replication parameters

| Parameter name | Description and constraints | Background information |
|---|---|---|
| **Instance role** | [instanceRole](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#CrossInstanceReplicationConfig.FIELDS.instance_role) | [About cross-region replication](https://docs.cloud.google.com/memorystore/docs/valkey/about-cross-region-replication) |
| **Primary cluster** | [primaryInstance](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#CrossInstanceReplicationConfig.FIELDS.primary_instance) | [About cross-region replication](https://docs.cloud.google.com/memorystore/docs/valkey/about-cross-region-replication) |
| **Secondary clusters** | [secondaryInstance](https://docs.cloud.google.com/memorystore/docs/valkey/reference/rest/v1/projects.locations.instances#CrossInstanceReplicationConfig.FIELDS.secondary_instances) | [About cross-region replication](https://docs.cloud.google.com/memorystore/docs/valkey/about-cross-region-replication) |

For more information about performing cross-region replication operations---such as
attach, switchover, and detach---see the
[Terraform
google_memorystore_instance resource documentation](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/memorystore_instance).