Use one VM per tunnel. Do not add several VMs to a single tunnel.
Costs
Nebius AI Cloud charges you for the following billing items:- Compute virtual machine
- Boot disk attached to the VM
Steps
Create a tunnel
- Web console
- CLI
- In the web console, select the project where you want to create the infrastructure. All resources must be located in the same project.
- Go to Networking → Tunnels.
- Click Create tunnel.
- On the page that opens, set the tunnel name to
my-tunnel. - Click Create tunnel.
Prepare a service account
To authorize the VM in the tunnel, prepare a service account with theapplicationtunnel.agent role. Later, you attach this service account to the VM.
-
Create the service account:
- Web console
- CLI
- In the sidebar, go to Administration → IAM.
- Click Create resource → Service account.
- In the window that opens, set the name to
tunnel-agent-saand select the project. - Click Create and continue.
-
Create a custom group in Identity and Access Management to assign the role to the service account:
- Web console
- CLI
- In the sidebar, go to Administration → IAM.
- Click Create resource → Group.
- In the window that opens, set the group name to
tunnel-agents. In the Scope field, select the project where you create all the resources. - Click Create.
-
Attach the tunnel and grant the
applicationtunnel.agentrole to this group. You can only grant this role by using the CLI.- CLI
-
Get the group ID:
The ID is specified in the
items.metadata.idparameter in the output. -
Get the tunnel ID:
-
Create an access permit in the custom group:
-
Add the service account to the group:
- Web console
- CLI
- Go to Administration → IAM.
- On the Groups tab, find and open the
tunnel-agentsgroup. - Click Add members.
- In the window that opens, open the Service accounts tab and add the
tunnel-agent-saservice account. - Once the account is added, close the window.
- The
tunnel-agent-saservice account is specified on the Members tab. - The tunnel and the
applicationtunnel.agentrole are specified on the Access permits tab.
Create a virtual machine
Prepare the VM configuration that includes the tunnel agent. Then, create the VM. The agent is deployed on the VM automatically.- Generate an SSH key pair.
-
Prepare the cloud-init configuration file. You’ll attach it to the VM.
In this file, specify two parameters:
users.ssh_authorized_keys: Public SSH key.write_files.content.tunnel_id: ID of the tunnel.
ssh.yaml
This configuration enables the following actions:- Add a username and a public SSH key to the VM.
- Deploy the tunnel agent.
- Authenticate by using the service account attached to the VM.
- Create the
sshNebius Tunnels service. Use it to connect to the tunnel.
-
Create the VM:
- Web console
- CLI
- In the sidebar, go to Compute → Virtual machines.
- Click Create resource → Virtual machine. The creation flow is a step-by-step wizard. The sidebar shows your progress through the configuration sections. To move between sections, click Back and Next.
-
On the Compute step, configure computing resources:
-
In the Platform section, select:
- Without GPUs
- Regular
- Non-GPU AMD Epyc Genoa
-
In the Settings section, set:
- Preset: 4 CPUs - 16 GiB RAM.
- Project: The project where you create all resources for the tunnel.
- VM name:
tunnel-vm.
-
In the Platform section, select:
- On the Storage step, preserve the Ubuntu 24.04 LTS disk image and the SSD disk type, but change the disk size to 20 GiB.
- On the Network step, check the network and subnet. In the Public IP address field, select None.
-
On the Configuration step, configure the access, identity and VM startup settings:
- In the Service account field, select the
tunnel-agent-saservice account. - In the Custom cloud-init config section, select Enable custom cloud-init config.
- In the field that appears, paste the contents of the
ssh.yamlfile prepared earlier.
- In the Service account field, select the
- On the Review step, check the full VM configuration. To change a section quickly, click next to the corresponding block. The wizard opens the relevant step with your current settings.
- Click Create VM.
Connect to the virtual machine
Connect to the VM through thessh tunnel service:
tunnel_masked_ID: Mask of the tunnel ID without theapplicationtunnel-prefix and regional routing code. Contains the last 15 characters of the tunnel ID. For example, forapplicationtunnel-e00abcdef123456789, the masked ID of the tunnel isabcdef123456789.region: Region of the project where you created the resources.