Stay organized with collections
Save and categorize content based on your preferences.
This page explains how to connect to a Memorystore for Memcached instance.
You can connect to Memcached instances from Compute Engine VM instances,
Google Kubernetes Engine clusters, Cloud Run functions, the App Engine
flexible environment, and the App Engine standard environment.
Connecting to a Memcached instance from a Compute Engine VM
In order to connect to a Memcached instance, a Compute Engine VM instance must
be located within the same project and region, and must also be connected to the
same network or VPC network as the Memcached instance.
Connect to a Linux VM. For steps to connect to a Linux VM, see Quickstart Using a Linux VM.
If you used a Debian based image to create your VM instance as described in the
quickstart, install telnet using apt-get:
sudo apt-get install telnet
From the terminal, telnet to the IP address of one of the Memcached nodes,
replacing variables with appropriate values.
telnet node-ip-address 11211
If it works correctly, you should see the following output with the
[bracketed-variables] replaced by your project's variables:
Trying [node-ip-address]
Connected to [node-ip-address]
In the telnet session, enter some Memcached commands:
Enter:
get greeting
Result:
END
Enter:
set greeting 1 0 11
hello world
Result:
STORED
Enter:
get greeting
Result:
VALUE greeting 1 11
hello world
END
Memorystore for Memcached supports standard open source Memcached libraries.
Connecting to a Memcached instance from a Google Kubernetes Engine cluster
You can connect to your Memcached instances using GKE
clusters that are in the same region and connected to the same network as your
instance.
Click on the GKE cluster you'd like to connect from. If
you don't already have a cluster, create one in the same zone and region as
your Memcached instance with IP aliases enabled. For instructions on how to
create a cluster with IP aliases enabled, see the Creating a VPC-native cluster.
Click the Connect button to the right of your cluster's name, then click
the Run in Cloud Shell button in the window that appears.
Configure kubectl command line access by running the following command:
cluster-zone is the zone your cluster is in. This must also be
the zone your Memcached instance is in.
project-id is the project in which your cluster and your
Memcached instance are located.
If the command is successful, you should receive the following message:
kubeconfig generated for cluster-name
If you do not receive this message, make sure you entered the correct cluster
information into the command.
If your cluster is version 1.8 or higher and has IP aliases enabled, skip
this step. If your cluster is version 1.7 or lower, or your version 1.8 or
higher cluster doesn't have IP aliases enabled, follow these workaround steps
before trying to connect to your instance:
Workaround
Run these three commands, replacing reserved-ip-range with the
reserved IP range of your instance:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Connect to a Memcached instance\n\nThis page explains how to connect to a Memorystore for Memcached instance.\nYou can connect to Memcached instances from Compute Engine VM instances,\nGoogle Kubernetes Engine clusters, Cloud Run functions, the App Engine\nflexible environment, and the App Engine standard environment.\n\nBefore you can access Memorystore with Cloud Run functions, you\nneed follow the setup instructions at [Connecting to internal resources in a VPC network](/functions/docs/connecting-vpc#connecting_to_your_vpc_network).\n\nAlso, before you can access Memorystore with the App Engine\nstandard environment, you need to follow the setup instructions at [Connecting\nto internal resources in a VPC network](/appengine/docs/standard/python/connecting-vpc#creating_a_connector).\n| **Note:** You can use any open source Memcached client library to connect to Memorystore for Memcached.\n\nConnecting to a Memcached instance from a Compute Engine VM\n-----------------------------------------------------------\n\nIn order to connect to a Memcached instance, a Compute Engine VM instance must\nbe located within the same project and region, and must also be connected to the\nsame network or VPC network as the Memcached instance.\n\n1. Connect to a Linux VM. For steps to connect to a Linux VM, see [Quickstart Using a Linux VM](/compute/docs/create-linux-vm-instance).\n If you used a Debian based image to create your VM instance as described in the\n quickstart, install `telnet` using `apt-get`:\n\n ```\n sudo apt-get install telnet\n ```\n2. From the terminal, telnet to the IP address of one of the Memcached nodes,\n replacing \u003cvar translate=\"no\"\u003evariables\u003c/var\u003e with appropriate values.\n\n ```\n telnet node-ip-address 11211\n ```\n\n If it works correctly, you should see the following output with the\n `[bracketed-variables]` replaced by your project's variables: \n\n ```\n Trying [node-ip-address]\n Connected to [node-ip-address]\n ```\n3. In the telnet session, enter some Memcached commands:\n\n Enter: \n\n ```\n get greeting\n ```\n\n Result: \n\n ```\n END\n ```\n\n Enter: \n\n ```\n set greeting 1 0 11\n hello world\n ```\n\n Result: \n\n ```\n STORED\n ```\n\n Enter: \n\n ```\n get greeting\n ```\n\n Result: \n\n ```\n VALUE greeting 1 11\n hello world\n END\n ```\n\nMemorystore for Memcached supports standard open source Memcached libraries.\n\nConnecting to a Memcached instance from a Google Kubernetes Engine cluster\n--------------------------------------------------------------------------\n\n| **Note:** You cannot connect to a Memorystore for Memcached instance from a Google Kubernetes Engine cluster without VPC-native/IP aliasing enabled. To verify if your instance has VPC-native/IP aliasing enabled, check your cluster's details page in the Google Cloud console. Alternatively, run [`gcloud container clusters describe`](/sdk/gcloud/reference/container/clusters/describe) and verify if `useIpAliases: true` is present. \n|\n| It is easiest to enable VPC-native/IP aliasing during cluster creation. When creating your cluster, select **VPC Native** under advanced options. For more details, see [Creating VPC-native clusters using Alias IPs](/kubernetes-engine/docs/how-to/alias-ips).\n\nYou can connect to your Memcached instances using GKE\nclusters that are in the same region and connected to the same network as your\ninstance.\n\n1. Go to the Google Kubernetes Engine page in the Google Cloud console.\n\n [Google Kubernetes Engine](https://console.cloud.google.com/kubernetes/list?)\n\n2. Click on the GKE cluster you'd like to connect from. If\n you don't already have a cluster, create one in the same zone and region as\n your Memcached instance with IP aliases enabled. For instructions on how to\n create a cluster with IP aliases enabled, see the [Creating a VPC-native cluster](/kubernetes-engine/docs/how-to/alias-ips#creating_a_new_cluster_with_ip_aliases).\n\n3. Click the **Connect** button to the right of your cluster's name, then click\n the **Run in Cloud Shell** button in the window that appears.\n\n4. Configure `kubectl` command line access by running the following command:\n\n ```\n gcloud container clusters get-credentials cluster-name --zone=cluster-zone --project=project-id\n ```\n - \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ecluster-name\u003c/code\u003e\u003c/var\u003e is the name of your cluster.\n\n - \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003ecluster-zone\u003c/code\u003e\u003c/var\u003e is the zone your cluster is in. This must also be\n the zone your Memcached instance is in.\n\n - \u003cvar translate=\"no\"\u003e\u003ccode translate=\"no\" dir=\"ltr\"\u003eproject-id\u003c/code\u003e\u003c/var\u003e is the project in which your cluster and your\n Memcached instance are located.\n\n If the command is successful, you should receive the following message: \n\n ```\n kubeconfig generated for cluster-name\n ```\n\n If you do not receive this message, make sure you entered the correct cluster\n information into the command.\n5. If your cluster is version 1.8 or higher **and** has IP aliases enabled, skip\n this step. If your cluster is version 1.7 or lower, or your version 1.8 or\n higher cluster doesn't have IP aliases enabled, follow these workaround steps\n before trying to connect to your instance:\n\n #### Workaround\n\n Run these three commands, replacing \u003cvar translate=\"no\"\u003ereserved-ip-range\u003c/var\u003e with the\n reserved IP range of your instance: \n\n ```\n git clone https://github.com/bowei/k8s-custom-iptables.git\n ``` \n\n ```\n cd k8s-custom-iptables/\n ``` \n\n ```\n TARGETS=\"reserved-ip-range\" ./install.sh\n ```\n Note: If you don't know the reserved IP range of your instance, you can find out by running the following command: \n\n ```\n gcloud memcache instances describe instance-id --region=region\n ```\n\n For more information about IP aliases, including how to create a cluster with this setting enabled, see [Creating a VPC-native cluster](/kubernetes-engine/docs/how-to/alias-ips#creating_a_new_cluster_with_ip_aliases).\n6. Use the following command to connect to a bash shell:\n\n ```\n kubectl run -i --tty busybox --image=busybox -- sh\n ```\n7. Telnet to your Memcached instance using one of your node's IP addresses and\n your instance's port number:\n\n ```\n telnet node-ip-address 11211\n ```\n8. In the telnet session, enter some Memcached commands:\n\n Enter: \n\n ```\n get greeting\n ```\n\n Result: \n\n ```\n END\n ```\n\n Enter: \n\n ```\n set greeting 1 0 11\n hello world\n ```\n\n Result: \n\n ```\n STORED\n ```\n\n Enter: \n\n ```\n get greeting\n ```\n\n Result: \n\n ```\n VALUE greeting 1 11\n hello world\n END\n ```\n\nMemorystore for Memcached supports standard open source Memcached libraries.\n\nWhat's next\n-----------\n\n- [Use the Auto Discovery service](/memorystore/docs/memcached/using-auto-discovery).\n- [Monitor your Memcached instances](/memorystore/docs/memcached/monitoring-instances)."]]