The product described by this documentation, Anthos Clusters on AWS (previous generation), is now in maintenance mode. All new installs must use the current generation product, Anthos clusters on AWS.
To connect to your GKE on AWS resources, perform the following
steps. Select if you have an existing AWS VPC (or direct connection to
your VPC) or created a dedicated VPC when creating your management service.
Existing VPC
If you have a direct or VPN connection to an existing VPC, omit the line
env HTTP_PROXY=http://localhost:8118 from commands in this topic.
Dedicated VPC
When you create a management service in a dedicated VPC,
GKE on AWS includes a
bastion host in a
public subnet.
To connect to your management service, perform the following steps:
To open the tunnel, run the bastion-tunnel.sh script. The tunnel forwards
to localhost:8118.
To open a tunnel to the bastion host, run the following command:
./bastion-tunnel.sh-N
Messages from the SSH tunnel appear in this window. When you are ready to
close the connection, stop the process by using Control+C or
closing the window.
Open a new terminal and change into your anthos-aws directory.
cd anthos-aws
Check that you're able to connect to the cluster with kubectl.
The output includes the URL for the management service API server.
The commands in the following sections assume you are using this bastion host.
If you are not using the bastion host, remove the lines containing HTTP_PROXY.
Connecting to your management service with kubectl
To connect to your management service with the kubectl tool, perform the
following steps:
From your anthos-aws directory, use
anthos-gke to switch context to your management service.
cd anthos-aws
anthos-gke aws management get-credentials
Connecting to your user clusters with kubectl
To connect to your user clusters with the kubectl tool, perform the
following steps:
From your anthos-aws directory, use
anthos-gke to switch context to your user cluster.
cd anthos-aws
env HTTPS_PROXY=http://localhost:8118 \
anthos-gke aws clusters get-credentials CLUSTER_NAME
[[["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-09-04 UTC."],[],[],null,["# Connecting to your cluster with kubectl\n\nBefore you begin\n----------------\n\n\nBefore you start using GKE on AWS, make sure you have performed the following tasks:\n\n- Complete the [Prerequisites](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/prerequisites).\n\n\u003c!-- --\u003e\n\n- Install a [management service](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/installing-management).\n- Create a [user cluster](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/creating-user-cluster).\n\nThe bastion host\n----------------\n\nTo connect to your GKE on AWS resources, perform the following\nsteps. Select if you have an existing AWS VPC (or direct connection to\nyour VPC) or created a dedicated VPC when creating your management service. \n\n### Existing VPC\n\nIf you have a direct or VPN connection to an existing VPC, omit the line\n`env HTTP_PROXY=http://localhost:8118` from commands in this topic.\n\n### Dedicated VPC\n\nWhen you create a management service in a dedicated VPC,\nGKE on AWS includes a\n[bastion](https://en.wikipedia.org/wiki/Bastion_host) host in a\npublic subnet.\n| **Important:** If you restart your terminal session or the SSH connection is lost, you need to re-launch the `bastion-tunnel.sh` script.\n\nTo connect to your management service, perform the following steps:\n\n1. Change to the directory with your GKE on AWS configuration.\n You created this directory when\n [Installing the management service](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/installing-management).\n\n ```sh\n cd anthos-aws\n ```\n\n \u003cbr /\u003e\n\n2. To open the tunnel, run the `bastion-tunnel.sh` script. The tunnel forwards\n to `localhost:8118`.\n\n To open a tunnel to the bastion host, run the following command: \n\n ./bastion-tunnel.sh -N\n\n Messages from the SSH tunnel appear in this window. When you are ready to\n close the connection, stop the process by using \u003ckbd\u003eControl+C\u003c/kbd\u003e or\n closing the window.\n3. Open a new terminal and change into your `anthos-aws` directory.\n\n ```sh\n cd anthos-aws\n ```\n4. Check that you're able to connect to the cluster with `kubectl`.\n\n env HTTPS_PROXY=http://localhost:8118 \\\n kubectl cluster-info\n\n The output includes the URL for the management service API server.\n\nThe commands in the following sections assume you are using this bastion host.\nIf you are not using the bastion host, remove the lines containing `HTTP_PROXY`.\n\nConnecting to your management service with kubectl\n--------------------------------------------------\n\nTo connect to your management service with the `kubectl` tool, perform the\nfollowing steps:\n\nFrom your `anthos-aws` directory, use\n`anthos-gke` to switch context to your management service.\n\n```sh\ncd anthos-aws\nanthos-gke aws management get-credentials\n```\n| **Note:** `anthos-gke` uses the credentials you specified when you ran `aws configure`.\n\n\u003cbr /\u003e\n\nConnecting to your user clusters with kubectl\n---------------------------------------------\n\nTo connect to your user clusters with the `kubectl` tool, perform the\nfollowing steps:\n\nFrom your `anthos-aws` directory, use\n`anthos-gke` to switch context to your user cluster.\n\n```sh\ncd anthos-aws\nenv HTTPS_PROXY=http://localhost:8118 \\\n anthos-gke aws clusters get-credentials CLUSTER_NAME\n```\nReplace \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e with your user cluster name.\n\n\u003cbr /\u003e"]]