> For the complete documentation index, see [llms.txt](https://docs.acecloud.ai/knowledge-base/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.acecloud.ai/knowledge-base/cli/networking/floating-ips.md).

# Floating IPs

Floating IPs are public IP addresses that you can allocate and associate with instances. They provide external connectivity, allowing traffic from the internet to reach your instances inside a VPC.

**Command:** `ace floating-ip` **Alias:** `ace fip`

## Create (Allocate) a Floating IP

Allocate a new floating IP from an external network.

```bash
ace fip create --network <external-network-id> [flags]
```

### Flags

| Flag             | Required | Default  | Description                            |
| ---------------- | -------- | -------- | -------------------------------------- |
| `--network`      | Yes      |          | External network UUID to allocate from |
| `--billing-type` | No       | `hourly` | Billing type                           |

### Example

```bash
ace fip create --network c3d4e5f6-a7b8-9012-cdef-234567890abc
```

### Sample Output

```
Floating IP allocated.
  ID:              a1b2c3d4-e5f6-7890-abcd-ef1234567890
  IP Address:      45.194.47.108
  Status:          DOWN
```

A newly allocated floating IP has a status of `DOWN` until it is associated with an instance.

***

## List Floating IPs

```bash
ace fip list
```

**Alias:** `ace fip ls`

### Sample Output

```
ID                                     FLOATING IP        STATUS     FIXED IP           PORT ID
a1b2c3d4-e5f6-7890-abcd-ef1234567890  45.194.47.108      ACTIVE     10.0.0.15          b2c3d4e5f6a7...
b2c3d4e5-f6a7-8901-bcde-f12345678901  45.194.47.109      DOWN       -                  -
```

### JSON Output

```bash
ace fip list -o json
```

***

## Get Floating IP Details

Look up a single floating IP by ID or by IP address.

```bash
ace fip get <fip-id|ip-address>
```

### Examples

```bash
# By ID
ace fip get a1b2c3d4-e5f6-7890-abcd-ef1234567890

# By IP address
ace fip get 45.194.47.108
```

### Sample Output

```
  ID:              a1b2c3d4-e5f6-7890-abcd-ef1234567890
  Floating IP:     45.194.47.108
  Status:          ACTIVE
  Fixed IP:        10.0.0.15
  Port ID:         b2c3d4e5-f6a7-8901-bcde-f12345678901
  Instance:        web-server-01
  Created:         2026-05-18T10:30:00Z
```

***

## Associate a Floating IP

Associate a floating IP with an instance to make the instance reachable from the internet.

```bash
ace fip associate --ip <floating-ip-address> --instance <instance-id> [flags]
```

### Flags

| Flag         | Required | Description                                      |
| ------------ | -------- | ------------------------------------------------ |
| `--ip`       | Yes      | Floating IP address (e.g. `45.194.47.108`)       |
| `--instance` | Yes      | Instance UUID to associate with                  |
| `--fixed-ip` | No       | Fixed IP address (if instance has multiple NICs) |

### Examples

Basic association:

```bash
ace fip associate --ip 45.194.47.108 --instance a1b2c3d4-e5f6-7890-abcd-ef1234567890
```

With a specific fixed IP (multi-NIC instance):

```bash
ace fip associate --ip 45.194.47.108 \
  --instance a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  --fixed-ip 10.0.0.15
```

### Sample Output

```
Floating IP 45.194.47.108 associated with instance a1b2c3d4-e5f6-7890-abcd-ef1234567890.
```

***

## Disassociate a Floating IP

Remove the association between a floating IP and an instance. The floating IP is retained in your account but no longer routes traffic to the instance.

```bash
ace fip disassociate --ip <floating-ip-address> --instance <instance-id>
```

### Flags

| Flag         | Required | Description                        |
| ------------ | -------- | ---------------------------------- |
| `--ip`       | Yes      | Floating IP address                |
| `--instance` | Yes      | Instance UUID to disassociate from |

### Example

```bash
ace fip disassociate --ip 45.194.47.108 --instance a1b2c3d4-e5f6-7890-abcd-ef1234567890
```

### Sample Output

```
Floating IP 45.194.47.108 disassociated from instance a1b2c3d4-e5f6-7890-abcd-ef1234567890.
```

***

## Delete (Release) Floating IPs

Release one or more floating IPs back to the pool.

```bash
ace fip delete <fip-id> [fip-id...]
```

**Alias:** `ace fip rm`

Disassociate a floating IP from its instance before deleting it. Deleting a floating IP releases the address permanently -- you cannot reclaim the same IP.

### Example

```bash
# Release a single floating IP
ace fip delete a1b2c3d4-e5f6-7890-abcd-ef1234567890

# Release multiple floating IPs
ace fip delete <fip-id-1> <fip-id-2>
```

### Sample Output

```
Released 1 floating IP(s).
```

***

## Common Patterns

### Expose a Web Server

```bash
# 1. Allocate a floating IP
ace fip create --network <external-network-id>

# 2. Associate it with your instance
ace fip associate --ip 45.194.47.108 --instance <instance-id>

# 3. Ensure the security group allows HTTP/HTTPS
ace sg rule-add --sg <sg-id> --protocol http
ace sg rule-add --sg <sg-id> --protocol https
```

### Move a Floating IP Between Instances

```bash
# Disassociate from the old instance
ace fip disassociate --ip 45.194.47.108 --instance <old-instance-id>

# Associate with the new instance
ace fip associate --ip 45.194.47.108 --instance <new-instance-id>
```

***

## Command Summary

| Command                | Description                                 |
| ---------------------- | ------------------------------------------- |
| `ace fip create`       | Allocate a new floating IP                  |
| `ace fip list`         | List all floating IPs                       |
| \`ace fip get \<id     | ip>\`                                       |
| `ace fip associate`    | Associate a floating IP with an instance    |
| `ace fip disassociate` | Disassociate a floating IP from an instance |
| `ace fip delete <id>`  | Release floating IP(s)                      |
