Today we announce that Oracle Cloud Infrastructure users can now utilize Reserved Public IP addresses. The addresses can be allocated to any private IP address of a compute instance, float between instances, or be reserved for their tenancy until explicitly deleted.
When using your own hypervisor (like KVM or OVM), on a bare metal compute instance, the density of VMs with internet access you can achieve will be limited so assigning multiple public IP addresses to your instances becomes a requirement to increase the bandwidth capability and to spread the workload across different virtual network interfaces. In addition to that, you can utilize Reserved Public IP addresses to achieve high-availability and to scale your instances up or down while insulating end-users from any infrastructure changes. With this release, you can also reduce your security risk by dynamically assigning public IP addresses to your instances only when needed.
There is no charge to use this feature. The remainder of this post will discuss types of public IPs and explain how to set up a reserved public IP address. For more details, please check the Reserved IP documentation.
With this introduction you can now choose from two types of public IPs:
Ephemeral: Think of it as temporary and existing for the lifetime of the instance.
Reserved: Think of it as persistent and existing beyond the lifetime of the instance it's mapped to. You can unmap it and then remap it to another instance whenever you like.
The following table summarizes the differences between the two types.
Characteristic |
Ephemeral Public IPs |
Reserved Public IPs |
---|---|---|
Allowed assignment |
To a VNIC's primary private IP only Limits:
|
To either a primary or secondary private IP Limit: 32 per VNIC |
Creation |
Optionally created and assigned during instance launch or secondary VNIC creation. You can create and assign one later if the VNIC doesn't already have one.
|
You create one at any time. You can then assign it when you like. Limit: You can create 50 per region |
Unassignment |
You can unassign it at any time, which deletes it. You might do this if whoever launched the instance included a public IP, but you don't want the instance to have one. When you stop an instance, its ephemeral public IPs remain assigned to the instance. |
You can unassign it at any time, which returns it to your tenancy's pool of reserved public IPs. |
Moving to a different resource |
If assigned to a secondary private IP: If you move the private IP to a different VNIC (must be in the same subnet), the ephemeral public IP goes with it. You cannot move an ephemeral public IP to a different private IP. |
If assigned to a secondary private IP: If you move the private IP to a different VNIC (must be in the same subnet), the reserved public IP goes with it. You can move it (unassign and then reassign it) at any time to another private IP in the same region. Can be in a different VCN or Availability Domain. |
Automatic deletion |
Its lifetime is tied to the private IP's lifetime. Automatically unassigned and deleted when:
|
Never. Exists until you delete it. |
Scope |
Availability Domain |
Regional (can be assigned to a private IP in any Availability Domain in the region) |
Compartment and Availability Domain |
Same as the private IP's |
Can be different from the private IP's |
When you launch an instance in a public subnet, by default, the instance gets a public IP unless you choose otherwise. See this documentation for more detail: "To choose whether an ephemeral public IP is assigned when launching an instance."
First, create the Reserved Public IP
Then update the primary Virtual NIC Public IP to use the reserved address you created through the Dashboard or APIs. You can also add an additional Virtual NIC and assign the Reserved Public IP to that.
To learn more, check out the Oracle Cloud Infrastructure main documentation portal!