|
| 1 | +--- |
| 2 | +meta: |
| 3 | + title: Understanding and preparing for Public Gateways v2 |
| 4 | + description: Find out what to expect from Public Gateways v2, and get ready for deprecation of DHCP entries and the DHCP object, as well as new default behavior for IPAM mode. |
| 5 | +content: |
| 6 | + h1: Understanding and preparing for Public Gateways v2 |
| 7 | + paragraph: Find out what to expect from Public Gateways v2, and get ready for deprecation of DHCP entries and the DHCP object, as well as new default behavior for IPAM mode. |
| 8 | +tags: public-gateways dhcp dhcp-entries api v2 ipam-mode legacy |
| 9 | +dates: |
| 10 | + creation: 2024-11-05 |
| 11 | + validation: 2024-11-05 |
| 12 | +categories: |
| 13 | + - network |
| 14 | +--- |
| 15 | + |
| 16 | +Scaleway's VPC offering is evolving, and with this comes changes for the Public Gateway product. |
| 17 | + |
| 18 | +This document explains what to expect and how to prepare for the upcoming changes. |
| 19 | + |
| 20 | +## Background: DHCP and IPAM |
| 21 | + |
| 22 | +When Public Gateways were originally introduced, they provided DHCP functionality for resources on attached Private Networks. With the [arrival of Scaleway VPC](/network/vpc/reference-content/vpc-migration/), DHCP was moved from Public Gateways to Private Networks themselves. |
| 23 | + |
| 24 | +Scaleway also introduced [IPAM](/network/ipam/concepts/#ipam) to act as a single source of truth for the IP addressing of all Scaleway resources. DHCP uses IPAM to ensure consistent and reliable addressing across all Private Networks. |
| 25 | + |
| 26 | +When you [create a Private Network](/network/vpc/how-to/create-private-network/), you can either automatically generate a default IPv4 CIDR block, or define a custom block. A default IPv6 block is automatically created. When you attach resources to the Private Network, they automatically receive an IPv4 address (and, if compatible, an IPv6 address) from this block. Alternatively, you can [reserve a specific IP address](/network/ipam/how-to/reserve-ip/) from the block, and [specify this address](/network/ipam/how-to/reserve-ip/#how-to-attach-a-resource-to-a-private-network-using-a-reserved-ip-address) when attaching the resource. |
| 27 | + |
| 28 | +Whether you choose a custom or default CIDR block, automatic address assignment or use a reserved address, **the resource's private IP address does not risk changing** unless you detach the resource from the Private Network. To ensure that you can keep the same address for a resource even after detaching it, use the [reserve IP](/network/ipam/how-to/reserve-ip/) functionality. |
| 29 | + |
| 30 | +## Completing the removal of DHCP from Public Gateways |
| 31 | + |
| 32 | +Since the assignment and management of IP addresses on Private Networks is now managed by IPAM and the Private Networks themselves, we must complete the removal of the DHCP functionality from Public Gateways. This means releasing a new version (v2) of the [Public Gateways API](https://www.scaleway.com/en/developers/api/public-gateway/), which has until now retained a number of legacy DHCP functions. From this new version, you can expect: |
| 33 | + |
| 34 | +- Deprecation of the DHCP object |
| 35 | +- IPAM mode becoming default |
| 36 | +- Deprecation of DHCP entries |
| 37 | + |
| 38 | +Read on to find out more. |
| 39 | + |
| 40 | +### Deprecation of the DHCP object |
| 41 | + |
| 42 | +The [DHCP object](https://www.scaleway.com/en/developers/api/public-gateway/#path-dhcp-list-dhcp-configurations) has, until now, allowed users to define a DHCP configuration, which specified how IP addresses should be assigned to devices on attached Private Networks (parameters including the subnet of the DHCP server, entry validity period and more). |
| 43 | + |
| 44 | +When attaching a Public Gateway to a Private Network (creating a [Gateway Network](https://www.scaleway.com/en/developers/api/public-gateway/#path-gateway-networks-attach-a-public-gateway-to-a-private-network)), via the API, you could either: |
| 45 | +- Pass a DHCP object |
| 46 | +- Pass a static IP address to use |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | +These objects define a DHCP configuration, i.e. how IP addresses should be assigned to devices on a Private Network attached to a Public Gateway. Definable parameters include the subnet for the DHCP server, the validity period for DHCP entries, whether to use dynamic pooling, and more. A DHCP configuration object has a DHCP ID, which can then be used as part of a call to create or update a Gateway Network. This lets you attach an existing DHCP configuration to a Public Gateway attached to a Private Network. Similarly, you can use a DHCP ID as a query parameter to list Gateway Networks which use this DHCP configuration object. |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | +The NetProdCore will release a new version of the PGW API, deprecating DHCP entries, DHCP object and setting the IPAM mode as the new default mode when creating a PGW. |
| 57 | + |
| 58 | +We will need a documentation page explaining: |
| 59 | + |
| 60 | + why we will deprecate the old API |
| 61 | + what will be the impacts for the customers |
| 62 | + how can they migrate to the new API (using some TF examples that DevTools will provide) |
| 63 | + |
0 commit comments