---
name: vpc-getting-started
title: Getting started with Virtual Private Cloud (VPC)
description: With IBM Cloud&reg; Virtual Private Cloud (VPC), you can use the UI, CLI, and API to quickly provision virtual server instances for VPC with high network performance. VPC infrastructure contains a number of Infrastructure-as-a-Service (IaaS) offerings, including Virtual Servers for VPC. Use the following information to understand a simple use case for planning, creating, and configuring resources for your VPC, and learn about additional VPC overviews and VPC tutorials.
last-updated: 2025-01-03
---

> ## Documentation Index
> The table of contents for this documentation set is at https://cloud.ibm.com/docs/vpc?format=markdown
> The index for all IBM Cloud docs is at: https://cloud.ibm.com/docs/llms.txt
> Use these files to discover more information as needed.

# Getting started with Virtual Private Cloud (VPC)
{: #getting-started}

With IBM Cloud&reg; Virtual Private Cloud (VPC), you can use the UI, CLI, and API to quickly provision virtual server instances for VPC with high network performance. VPC infrastructure contains a number of Infrastructure-as-a-Service (IaaS) offerings, including Virtual Servers for VPC. Use the following information to understand a simple use case for planning, creating, and configuring resources for your VPC, and learn about additional VPC overviews and VPC tutorials.
{: shortdesc}

## Before you begin
{: #prereqs}

1. Set up your account to access VPC. Make sure that your account is [upgraded to a paid account](https://cloud.ibm.com/docs/account?topic=account-accountfaqs&format=markdown#changeacct){: external}.

2. Make sure that you have a public SSH key, which is used to connect to the virtual server instance. For example, generate an SSH key on your Linux server by running the following command:

    ```sh
    ssh-keygen -t rsa
    ```
    {: pre}

   This command generates two files, `id_rsa` and `id_rsa.pub`. The generated public key is in the `id_rsa.pub` file under an ``.ssh`` directory in your home directory, for example, ``.../.ssh/id_rsa.pub``.

   For more information, see [SSH keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys&format=markdown).

For a complete list of prerequisites for using the API and CLI, see [Setting up your API and CLI environment](https://cloud.ibm.com/docs/vpc?topic=vpc-set-up-environment&format=markdown).

## Creating and configuring a VPC
{: #create-and-configure-vpc}

To create and configure your VPC and other attached resources:

1. Create a VPC.
2. Create subnets in one or more zones. You can create subnets in suggested prefix ranges or in your own IP ranges that you bring to IBM Cloud.
3. Attach a public gateway if you want to allow all resources in a subnet to communicate with the public internet.
1. Configure an access control list (ACL) to limit the subnet's inbound and outbound traffic.
1. Create virtual server instances with the core and RAM configuration that's right for your workload. By default, a boot volume is attached to the instance. For most virtual server instances the default boot volume size is 100 GB. The default boot volume size for a z/OS virtual server instance is 250 GB.
1. If you want more storage, create Block Storage volumes and attach them to your instances.
1. To define the inbound and outbound traffic that's allowed for instances, configure their security groups.
1. If you want instances to be reachable from the internet, reserve and associate floating IP addresses.
5. Deploy your service or applications across the instances.
1. To distribute requests over multiple instances, create a load balancer.
1. To enable your VPC to connect securely to another private network, such as your on-premises network or another VPC, create a virtual private network (VPN).

## Next steps
{: #getting-started-next-steps}

To learn how to create VPC resources, see these tutorials:

* [Using the IBM Cloud console to create VPC resources](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-a-vpc-using-the-ibm-cloud-console&format=markdown)
* [Creating VPC resources with CLI and API](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-vpc-resources-with-cli-and-api&interface=cli&format=markdown)
* [Using Terraform: Provisioning a virtual server instance in a VPC](https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-sample_vpc_config&format=markdown)

For a general overview of the VPC infrastructure and related compute, networking and storage concepts, see the following topics:

* [VPC overview](https://cloud.ibm.com/docs/vpc?topic=vpc-about-vpc&format=markdown#about-vpc)
* [About networking for VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-about-networking-for-vpc&format=markdown)
* [About virtual server instances for VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-about-advanced-virtual-servers&format=markdown)
* [About storage for VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-about&format=markdown)
* [Understanding IaaS basics](https://cloud.ibm.com/docs/infrastructure-hub?topic=infrastructure-hub-getting-started-tutorial&format=markdown)
* [IBM Cloud monitoring services](https://cloud.ibm.com/docs/monitoring?topic=monitoring-getting-started&format=markdown)