Migrating from Machine-scoped to App-scoped Egress IPs

We shipped app-scoped egress IPs a while back for customers who need fixed IPs to pass external allowlists without having to bind static IPs to individual machines and hinder bluegreen deployments in the process. Despite a few wrinkles, we think this has been working more reliably than machine-scoped egress IPs, and is, in general, a much less confusing experience (no more β€œI did a fly deploy, where did my egress IPs go???”).

As such, we would like to move towards deprecating machine-scoped egress IPs in the not so distant future. But before that, a common request we have received when we recommend app-scoped egress IPs to existing users is that β€œcan you make my machine-scoped egress IP X an app-scoped one?”. We have been doing this manually per request up until this point; but if you update to flyctl release v0.4.37 (or later), you can now do this yourself with fly m egress-ip promote. For more details, see our updated documentation.

Along with this change we have also removed the command in flyctl to allocate new machine-scoped egress IPs. This is, however, not a full deprecation announcement: the GraphQL endpoint for allocating these IPs still exists, and existing machine-scoped egress IPs will continue to function. We will announce a concrete deprecation schedule once a decent amount of users have upgraded to newer flyctl versions and make use of the fly m egress-ip promote process.

1 Like