Instance provisioning on a Shared VPC network

This page lists the gcloud CLI commands needed to set up prerequisites, provision an instance in a service project, describe an instance, and delete an instance. In order to accomplish these tasks you should follow the instructions in each section of this page.

For more detailed guidance for these tasks, see the following pages:

Enable APIs

Enable the following APIs needed for configuring a service connection policy, configuring Shared VPC, and creating a Memorystore for Redis Cluster instance.

gcloud

  1. Enable the following APIs in the service project:

    gcloud services enable --project=SERVICE_PROJECT_ID networkconnectivity.googleapis.com
    gcloud services enable --project=SERVICE_PROJECT_ID serviceconsumermanagement.googleapis.com
    gcloud services enable --project=SERVICE_PROJECT_ID redis.googleapis.com
    

    Replace the SERVICE_PROJECT_ID with your service project ID.

  2. Enable the following APIs in the host project:

    gcloud services enable --project=HOST_PROJECT_ID networkconnectivity.googleapis.com
    

    Replace the HOST_PROJECT_ID with the ID of your host project.

Create a service connection policy

Next, a service connection policy must be created for the project, network, and region where you want to provision the Memorystore for Redis Cluster instance. Usually this is done by your Network Admin, or you might have the necessary permission run the command if you have the Required role.

This quickstart uses the default network and default subnet.

gcloud

  1. To create the service connection policy, run the create command:

    gcloud network-connectivity service-connection-policies create POLICY_NAME \
      --network=default \
      --project=HOST_PROJECT_ID \
      --region=REGION \
      --service-class=gcp-memorystore-redis \
      --subnets=https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/default
    

    Replace the following:

    • POLICY_NAME is your desired policy name.
    • HOST_PROJECT_ID is the host project ID.
    • REGION is the same region where you want to provision your Memorystore for Redis Cluster instance.
  2. To validate if the policy was created successfully, run the list command:

    gcloud network-connectivity service-connection-policies list \
      --region=REGION \
      --project=HOST_PROJECT_ID
    

    Replace the following:

    • HOST_PROJECT_ID is the host project ID.
    • REGION is the region where the service connection policy is defined.

Create an instance

To create an instance, run the following command:

gcloud

gcloud redis clusters create INSTANCE_ID \
--project=SERVICE_PROJECT_ID \
--region=REGION \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT \
--replica-count=REPLICA_COUNT \
--network=projects/HOST_PROJECT_ID/global/networks/default

Replace the following:

  • INSTANCE_ID is the instance ID.
  • SERVICE_PROJECT_ID is the service project ID.
  • REGION is the region where you want to provision your instance.

  • NODE_TYPE is your chosen node type. Accepted values are:

    • redis-shared-core-nano
    • redis-standard-small
    • redis-highmem-medium
    • redis-highmem-xlarge

    For more details on node types and cluster configurations, see Cluster and node specification.

  • SHARD_COUNT determines the number of shards in your instance. Shard count determines the total memory capacity for storing cluster data. To see more details about cluster specification, see Cluster and node specification.

  • REPLICA_COUNT is your desired number of read replicas (per shard). Accepted values are 0, 1, and 2.

  • HOST_PROJECT_ID is the host project ID.

Describe the instance

To view instance details, run the following command:

gcloud

gcloud redis clusters describe INSTANCE_ID \
--project=SERVICE_PROJECT_ID \
--region=REGION

Replace the following:

  • INSTANCE_ID is the instance ID.
  • SERVICE_PROJECT_ID is the service project ID.
  • REGION is the region where your instance is located.

Delete the instance

To delete an instance, run the following command:

gcloud

gcloud redis clusters delete INSTANCE_ID \
--project=SERVICE_PROJECT_ID \
--region=REGION

Replace the following:

  • INSTANCE_ID is the instance ID.
  • SERVICE_PROJECT_ID is the service project ID.
  • REGION is the region where your instance is located.