Key options when creating a public IP
| Option | Description | Recommended choice |
|---|---|---|
| IP version | IPv4 or IPv6. IPv4 is the common default. | IPv4 unless your design requires IPv6 |
| SKU type | Standard or Basic. Standard is modern, more secure, and feature-rich. | Standard |
| Scope (Tier) | Regional (per-region) or Global (for cross-region services). | Regional for most resources |
| Allocation type | Static (IP address reserved) vs Dynamic (may change). | Static for production |
| Routing preference | Microsoft network (Azure private backbone) vs Internet (public Internet). | Microsoft network for performance and predictability |
| Additional options | Idle timeout, DNS name label (friendly DNS record) | Configure to suit your workload |

Standard SKU with Static allocation and Microsoft network routing is the recommended starting configuration for most production deployments.
Demo: Create a VM and associate a Public IP
This example deploys an Ubuntu VM into an existing virtual network and subnet, creates a Standard static public IP, and associates that public IP with the VM’s network interface (NIC). The demo uses a pre-existing virtual network with a “webservers” subnet.
1) Create the virtual machine
- Portal: Create > Virtual machine.
-
Basics:
- Name: choose a meaningful name (e.g., vm-az700-pip).
- Region: pick the same region as your VNet (West Europe in this demo).
- Image: Ubuntu (LTS recommended).
- Size: choose a small size for demos/cost savings.
- Authentication: Password for demo; SSH keys recommended for production.
- Inbound ports: enable SSH (22) and HTTP (80) for the demo.
- Note: Network Security Groups (NSGs) control traffic—restrict in production.
-
Networking tab:
- Virtual network: pick the existing vnet-az700-demo.
- Subnet: snet-webservers.
- Public IP: set to None here (we will create and attach a public IP to the NIC later).

Opening SSH (22) and HTTP (80) to the internet exposes the VM. In production, restrict access using Network Security Groups (NSGs), Azure Firewall, or just-in-time (JIT) access.

2) Create the public IP resource
- Portal: All services > Public IP addresses > Create.
- Fill the form in the same region and resource group:
- Name: pip-vm-az700
- IP version: IPv4
- SKU: Standard
- Zone: No zone (or choose as needed)
- Tier/Scope: Regional
- Assignment: Static

3) Associate the public IP with the VM NIC
- After the public IP resource is created:
- Open the Public IP resource and select Associate.
- Resource type: Network interface.
- Choose the NIC for your VM (VMs appear via their NIC resources).

Connect to the VM and install Apache
Replace the example IP with your created public IP:Bring Your Own IP (BYOIP)
The example above used an IP from Azure’s public pool. If you own public IP prefixes and want Azure to advertise them, Azure supports Bring Your Own IP (BYOIP). BYOIP requires verification of IP ownership and coordination with Microsoft and may involve additional steps and approvals. For details and the BYOIP workflow, see: Bring your own IP addresses (Azure)If you want, I can provide the equivalent Azure CLI and ARM/Terraform snippets to automate the public IP creation and NIC association.