Docs / VPC Networking

Private networking (VPC)

Create free private networks between your Piedmont Hosting VPSes, attach or detach servers while they run, and test connectivity over the private subnet.

VPC Overview

VPC (Virtual Private Cloud) networking lets you create isolated private networks between your VPS servers. Servers on the same VPC can communicate directly over a private subnet without traffic ever touching the public internet.

Key Features

  • Free — VPC networking is included at no extra cost with any VPS
  • Isolated — Each network gets its own /24 subnet and dedicated bridge, fully isolated from other customers
  • Hot-attachable — Add running servers to a VPC without rebooting (or attach at provision time)
  • Low latency — Private traffic stays on the hypervisor, bypassing the public network entirely
  • All Linux distributions — Works with every Linux distribution we offer

Use Cases

ScenarioExample
Database isolationKeep your database server on a private IP, only accessible from your web server
Application clustersConnect multiple app servers for load balancing or distributed workloads
Backend servicesRun Redis, Elasticsearch, or other services privately between servers
Development/stagingMirror your production private network in a separate VPC for testing
Info
Each account can create up to 5 VPC networks, with up to 253 servers per network. Each server can belong to one VPC at a time.

Creating a Network

Create a VPC network from the Networks page in your dashboard.

  1. 1
    Navigate to Networks in the top navigation bar.
  2. 2
    Click the + Create Network button.
  3. 3
    Enter a name for your network (e.g., "Production", "Backend", "Database") — up to 64 characters, starting with a letter or number.
  4. 4
    Click Create Network. A private /24 subnet is automatically assigned.

Your new network is ready immediately. It will be assigned a subnet like 10.68.0.0/24 automatically. You can now add servers to it.

Tip
You can also create a VPC and attach a server during VPS checkout. On the VPS order page, look for the "VPC Network" section to select an existing network or create a new one.

Adding Servers to a Network

You can add any active VPS to a VPC network. The server does not need to be rebooted — a second network interface is hot-attached while the server is running.

From the Networks Page

  1. 1
    Go to Networks and click the network you want to add a server to.
  2. 2
    Click + Add Server.
  3. 3
    Select a VPS from the dropdown. Only active servers not already in a network are shown.
  4. 4
    Click Attach Server. The private NIC is configured automatically.

After attaching, your server receives a private IP on the VPC subnet (e.g., 10.68.0.2). This IP is shown on both the Networks page and the server's Overview tab.

During VPS Checkout

When ordering a new VPS, you can select a VPC network in the "VPC Network" section of the checkout page. The server will be connected to the VPC automatically during provisioning.

Info
Attaching a running server takes a few seconds. A second NIC is added to your VM and configured with the private IP; your public IP stays the same. On Ubuntu and Debian servers the network configuration is re-applied during the attach, which can briefly interrupt open connections.

Removing Servers from a Network

You can remove a server from a VPC at any time. The private NIC is detached; the server's public IP stays the same.

  1. 1
    Go to Networks and click the network.
  2. 2
    Find the server you want to remove and click Remove.
  3. 3
    Confirm the removal. The private NIC will be detached and the VPC IP released.
Warning
After removal, the server can no longer communicate with other servers on that VPC. Any applications relying on the private IP will lose connectivity immediately.

Deleting a Network

To delete a VPC network, you must first remove all servers from it. Then click Delete Network from the network detail page. This removes the bridge from the hypervisor and releases the subnet.

Testing Connectivity

After adding servers to a VPC, you can verify connectivity by pinging between them using their VPC private IPs.

Find Your VPC IP

Your server's VPC IP is shown in two places:

  • The Networks page, under the network's Connected Servers section
  • The server's Overview tab, in the VPC Network row

Ping Test

SSH into one of your VPC-connected servers and ping another server's VPC IP:

terminal
# From server A (e.g., 10.68.0.2), ping server B (e.g., 10.68.0.3)
ping 10.68.0.3

# Expected output:
# PING 10.68.0.3 (10.68.0.3) 56(84) bytes of data.
# 64 bytes from 10.68.0.3: icmp_seq=1 ttl=64 time=0.3 ms

Configuring Applications

Once connectivity is confirmed, configure your applications to use the VPC IPs instead of public IPs for inter-server communication:

Example: Connect to a private database
# Instead of connecting to the public IP:
# mysql -h 203.0.113.42 -u app -p

# Use the VPC private IP:
mysql -h 10.68.0.3 -u app -p
Tip
Traffic between VPC addresses stays on our hypervisor and never crosses the public internet, so use VPC IPs for traffic between your servers.

Firewall Considerations

The cloud firewall operates on the public interface only. VPC traffic between servers on the same network is not filtered by the cloud firewall. If you need to restrict traffic between VPC members, use the server's local firewall (e.g., ufw, firewalld, or iptables).