Create a very simple Virtual Private Cloud using the IBM Cloud CLI

This blog post is a cheat sheet: how to create and configure a very basic Virtual Private Cloud in IBM Cloud using the IBM Cloud vpc-infrastructure CLI.

We will create following resources:

ResourcesAuto created resources
VPC (Virual Private Cloud)Routing TableSecurity Group
Public Gateway
Subnet

Note: For a better understanding “A security group is a collection of rules that specify whether to allow traffic for an associated ‘Virtual Server Instance’ VSI. It acts as a virtual firewall that controls the traffic for one or more servers.”
Source: https://www.ibm.com/cloud/vpc/security Date: 26. November 2021

Architecture

Here is a simplified architecture diagram that displays all resources. The starting point for the diagram you find in the templates of draw.io for IBM Cloud.

Setup the example

I created a small github project for this automation and I wrote two small batch scripts automations one for the creation and one for the deletion. To execute the scripts just follow the next steps:

1. Open the IBM Cloud Shell in from your IBM Cloud Web UI

2. Clone the project

    git clone https://github.com/thomassuedbroecker/simple-vpc-ibm-cloud.git

3. Navigate to the scripts folder

    cd scripts

4. Execute the script

    bash create-vpc.sh

5. Open the VPC Infrasture in the IBM Cloud Web UI and verify the create elements

    https://cloud.ibm.com/vpc-ext/overview

The creation script contains following major steps:

1. Ensures that you are in the right region

    ibmcloud target -g $RESOURCE_GROUP
    ibmcloud target -r $REGION

2. Creates a VPC (Virual Private Cloud)

    ibmcloud is vpc-create $VPC_NAME --resource-group-name $RESOURCE_GROUP --output JSON

3. Renames the default automated created elements of the VPC Routing Table and Security Group

    ibmcloud is vpc-routing-table-update $VPC_ID $DEFAULT_ROUTING_TABLE_ID --name $DEFAULT_ROUTING_TABLE

4. Creates a Public Gateway and bind it to the zone 1, in this case (us-south-1)

    ibmcloud is public-gateway-create $PUBLIC_GATEWAY $VPC_ID $ZONE1 \
                                        --resource-group-name $RESOURCE_GROUP \
                                        --output JSON

5. Create a Subnet and bind it to zone 1

    ibmcloud is subnet-create "$SUBNET_NAME" "$VPC_ID" \
                                --ipv4-address-count 256 \
                                --zone "$ZONE1" \
                                --resource-group-name "$RESOURCE_GROUP"

Summary

The manual creation and basic configuration for an VPC instance using the IBM Cloud CLI shows some basics dependencies, which cloud be useful from my perspective.


By the way: Thanks to Robert Kleniewski 👍🏻 He reminded me to link a related blog post. He did it on LinkedIn and here is the blog post: Create a Virtual Private Cloud (VPC), Virtual Server Instance (VSI) on IBM Cloud with Terraform


I hope this was useful for you and let’s see what’s next?

Greetings,

Thomas

#ibmcloud , #vpc, #ibmcloudcli

One thought on “Create a very simple Virtual Private Cloud using the IBM Cloud CLI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.