Do I need to whitelist every IP?
Yes. Whitelist all unique IPs in the table below. Zwiron runs High Availability egress. Outbound traffic can leave from any listed address. If you allow only some of them:- Test Connection may pass (Atlas IP) but jobs fail (worker IP), or
- Connections work sometimes and fail other times as traffic shifts across HA IPs
Hosted static egress IPs
Cloud SQL (and most cloud firewalls) label this field IP range and require CIDR notation. That does not mean you must open a whole subnet.
For a single host, append
/32:
Add five separate authorized networks — one per IP above — each named clearly (e.g.
zwiron-atlas-1, zwiron-worker-2).
These IPs are for outbound connections from Zwiron to your database. They are not used for inbound traffic to Zwiron.
What each service needs
Whitelist the full set so both testing and production syncs succeed.
Google Cloud SQL
Private IP alone does not work for Hosted mode. Private IP is only reachable inside your GCP VPC. Railway / Zwiron Hosted is outside that VPC. Use this setup instead:- Keep Public IP enabled on the Cloud SQL instance
- Open Connections → Networking → Authorized Networks
- Click Add a network once per IP
- Name: e.g.
zwiron-api-1 - Network / IP range:
x.x.x.x/32(CIDR —/32= that single IP only) - Click Done, then repeat for the other four IPs
- Save the instance and wait 1–2 minutes for the update
- Retry Test Connection in Zwiron
@, %, :, /, ?, #, \, etc.). See MySQL connection strings for the full encoding table. Or enter user and password in the separate form fields and skip encoding.
Agent mode (alternative)
If the database must stay private (no public IP), use Agent mode:- Deploy a Zwiron Agent where it can reach the database
- Whitelist the agent machine’s egress IP (not the table above), or use private networking inside your VPC
- Select that agent when creating the connection