Перейти до вмісту
NimbusNexus

Floating IPs

A floating IP is a public IP address that belongs to your project, not to a specific VM. You allocate one, attach it to a VM, and it becomes that VM's public IP. Detach it later and reattach to a different VM — your traffic now goes to the new VM, without the address changing.

Why floating IPs exist

The default IP a VM gets is ephemeral — destroying the VM releases the IP back to the pool, and a recreated VM gets a new one. That's fine for stateless workers behind a load balancer. It's terrible for:

  • Anything addressed by DNS A/AAAA record (the record breaks on every VM recreate)
  • Anything in a partner's IP allowlist (the partner has to re-whitelist)
  • Blue/green deployments where you want to swing traffic between two warm VMs without DNS propagation

A floating IP solves all three. The IP outlives any specific VM; you swing it from one VM to another in ~2 seconds via a single API call.

Region scoping

Floating IPs are region-scoped. An IP allocated in us-east-1 can only attach to VMs in us-east-1. Cross-region failover requires either:

  • A floating IP per region + a DNS-level failover (latency-based, health-checked)
  • An anycast IP product, which we don't currently offer

This isn't a limitation we plan to remove — cross-region floating IPs would require routing public BGP advertisements globally, which is a totally different product than per-region allocation.

Billing

  • Attached to a running VM: $0 — the IP is included in the VM cost.
  • Attached to a stopped VM: $2.50/month — same as the VM's reserved-IP line.
  • Unattached: $2.50/month — same rate. We charge for unattached IPs to discourage hoarding, which would deplete the regional pool faster than we can grow it.

The standard pattern: allocate the IP when you need it, attach immediately, release when you're done.

IPv4 vs IPv6

Floating IPs come in both flavors. version: 'ipv4' is the default (and what most people want). version: 'ipv6' is allocated from our /48 per region; both are public and routable.

A VM can have one IPv4 floating IP and one IPv6 floating IP attached simultaneously. Multi-IPv4-per-VM is not supported; if you need multiple addresses on one VM, use VPC private addresses with NAT.

Attach / detach semantics

  • Attach is atomic: the VM gains the address within ~2 seconds. Existing TCP connections to the VM's prior public IP (if any) are dropped — the kernel's routing table just changes.
  • Detach doesn't release the IP; it just unbinds it from the VM. The IP keeps billing until you call DELETE.
  • Re-attaching the same IP to a different VM: this is exactly the failover path. Detach, attach to the new target, DNS doesn't change.

What's next

  • Virtual machines — the resource that floating IPs attach to.
  • Regions — floating IPs are region-scoped.
  • The Multi-region failover guide (coming soon) covers the DNS-level pattern for cross-region failover when floating IPs alone aren't enough.

Reference

GET/api/v1/floating_ip/

Floating Ips List

Lists floating IPs visible to the project, resolving the attached compute, router, or load balancer.

Parameters

NameInRequiredDescription
admin_domainqueryno—
admin_projectqueryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/

DELETE/api/v1/floating_ip/

Delete Ips

Deletes a batch of floating IPs by their IDs.

Request body

JSON body required.

Responses

  • 204Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/

POST/api/v1/floating_ip/allocate

Allocate Ip

Allocates a floating IP to a port, attaching a bandwidth-billed QoS policy and creating the billing order.

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/allocate

GET/api/v1/floating_ip/artifacts

Floating Ip Artifacts

Returns reservable floating IPs, external networks, and the target resource's interfaces for floating-IP allocation.

Parameters

NameInRequiredDescription
admin_domainqueryno—
admin_projectqueryno—
resource_idqueryno—
product_type_namequeryno—

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/artifacts

POST/api/v1/floating_ip/deallocate

Deallocate Ip

Detaches a floating IP from its port, optionally deleting the floating IP entirely.

Request body

JSON body required.

Responses

  • 200Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/deallocate

POST/api/v1/floating_ip/reserve

Reserve Ip

Reserves a floating IP on an external network without binding it to any port.

Request body

JSON body required.

Responses

  • 201Successful Response
  • 400Bad Request
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Validation error
  • 429Too Many Requests
  • 500Internal Server Error

https://api.nimbusnexus.net/api/v1/floating_ip/reserve

Need to make a real call? Try these endpoints in the live Swagger UI →