A database, a payment API, or a customer’s firewall often only accepts traffic from addresses it knows. Boxes in a project reach the internet from a small set of fixed addresses, so you can add them once and keep working.
Find your addresses
In Portal, open Project Settings → Networking. Outbound IPs lists every address your boxes use. Copy them into the service’s allowlist.
From the CLI:
sys9 run project outbound-ips
ADDRESS USED BY
52.68.17.204 all Boxes
Check from inside a box:
sys9 run box exec web-api -- curl -s https://checkip.amazonaws.com
Give each customer its own address
If your boxes work for different customers, one customer’s traffic should not decide how a service treats another’s. Label each box with its customer, then tell the project to separate boxes by that label:
sys9 run box update web-api --label tenant=acme
sys9 run project update --outbound-ip-label tenant
Boxes with different tenant values now leave from different addresses while free addresses remain; boxes without the label share one address. A box that is awake keeps its current address until its next start.
Look up one customer’s address:
sys9 run project outbound-ips --label-value acme
ADDRESS USED BY
52.68.17.204 Boxes without tenant
54.250.3.88 1 value of tenant
TENANT ADDRESS BOXES
acme 54.250.3.88 1
What to expect
- An address stays with its boxes across starts and machines. It only changes if run9 retires it, and then at the box’s next start.
- Other projects may share an address. Do not use it to tell your boxes apart from everyone else’s.
- Boxes can only reach public addresses. Private and local network ranges are not reachable from a box.
See Outbound IP for the full rules.