Avis de fin de vie Equinix Metal ne sera plus pris en charge le 30 juin 2026 Toutes les ressources Metal seront supprimées dans la version 5.0.0 de ce fournisseur. Pour continuer à utiliser ce service jusqu'à cette date, veuillez utiliser la version 4.x. Consultez la page https://docs.equinix.com/metal/ pour plus d'informations.
bloc_ip_réservé_metal_equinix (Ressource)
Fournit une ressource pour créer et gérer des blocs d'adresses IP réservées dans un projet.
Lorsqu'un utilisateur provisionne un premier appareil dans une région métropolitaine, l'API Equinix Metal alloue automatiquement des blocs IPv6/56 et IPv4/25 privés. Le nouvel appareil obtient alors des adresses IPv6 et IPv4 privées provenant de ces blocs, ainsi qu'une adresse IPv4/31 publique. Chaque nouvel appareil du projet et de la région métropolitaine se verra automatiquement attribuer des adresses IPv6 et IPv4 privées à partir de ces blocs pré-alloués. Il est impossible de créer des blocs privés IPv6 et IPv4 ; ils ne peuvent être importés. Cette ressource permet de créer des blocs IPv4 publics ou globaux.
Les blocs publics sont attribués au sein d'un réseau métropolitain. Les adresses provenant de ces blocs ne peuvent être attribuées qu'à des périphériques appartenant à ce réseau. Les blocs publics peuvent avoir un masque allant de /24 (256 adresses) à /32 (1 adresse). Lors de la création d'un bloc public avec cette ressource, l'argument « réseau métropolitain » doit être renseigné.
Les adresses des blocs globaux peuvent être attribuées dans n'importe quel métropolitain. Les blocs globaux peuvent avoir un masque allant de /30 (4 adresses) à /32 (1 adresse). Si vous créez un bloc global avec cette ressource, vous devez spécifier type = "global_ipv4" et omettre l'argument metro.
Une fois le bloc IP alloué ou importé, une adresse de celui-ci peut être attribuée à l'appareil avec la ressource equinix_metal_ip_attachment.
Consultez la [documentation sur le routage et le transfert virtuels pour obtenir des détails sur le produit et des informations de référence sur l'API.
Exemple d'utilisation
Allouer des blocs d'adresses IP réservés:
# Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro for myproject
resource "equinix_metal_reserved_ip_block" "two_elastic_addresses" {
project_id = local.project_id
metro = "sv"
quantity = 2
}
# Allocate 1 floating IP in Silicon Valley (sv) metro
resource "equinix_metal_reserved_ip_block" "test" {
project_id = local.project_id
type = "public_ipv4"
metro = "sv"
quantity = 1
}
# Allocate 1 global floating IP, which can be assigned to device in any metro
resource "equinix_metal_reserved_ip_block" "test" {
project_id = local.project_id
type = "global_ipv4"
quantity = 1
}
Allouez un bloc et exécutez un périphérique avec une adresse IPv4 publique à partir de ce bloc.
# Allocate /31 block of max 2 public IPv4 addresses in Silicon Valley (sv) metro
resource "equinix_metal_reserved_ip_block" "example" {
project_id = local.project_id
metro = "sv"
quantity = 2
}
# Run a device with both public IPv4 from the block assigned
resource "equinix_metal_device" "nodes" {
project_id = local.project_id
metro = "sv"
plan = "c3.small.x86"
operating_system = "ubuntu_24_04"
hostname = "test"
billing_cycle = "hourly"
ip_address {
type = "public_ipv4"
cidr = 31
reservation_ids = [equinix_metal_reserved_ip_block.example.id]
}
ip_address {
type = "private_ipv4"
}
}
Référence de l'argument
Les arguments suivants sont étayés:
project_id- (Obligatoire) L'ID du projet métal où allouer le bloc d'adresses.quantity- (Optionnel) Le nombre d'adresses/32allouées, une puissance de 2. Requis lorsquetypen'est pasvrf.type- (Optionnel) Une des valeurs suivantes:global_ipv4,public_ipv4ouvrf. Par défaut,public_ipv4pour assurer la compatibilité ascendante.facility- (Obsolète) Installation où allouer le bloc d'adresses IP publiques. N'est pertinent que si le type estpublic_ipv4et doit être vide si le type estglobal_ipv4. En conflit avecmetro. Utilisez plutôt le métro ; consultez le [guide de migration de l'installation vers Metro.metro- (Facultatif) Métro où allouer le bloc d'adresses IP publiques, n'a de sens que si le type estpublic_ipv4et doit être vide si le type estglobal_ipv4. Conflit avecfacility.description- (Optionnel) Description arbitraire.tags- (Optionnel) Liste de chaînes de caractères représentant des balises.vrf_id- (Optionnel) Uniquement valide et requis lorsquetypeestvrf. ID VRF pour type=vrf reservations.wait_for_state- (Optionnel) Attendre que le bloc de réservation d'adresses IP atteigne l'état souhaité lors de la création de la ressource. Deux états sont possibles:pendingoucreated. L'étatcreatedest l'état par défaut et recommandé si les adresses sont nécessaires dans la configuration. Une erreur sera retournée en cas de délai d'attente dépassé ou si l'étatdeniedest atteint.custom_data- (Optionnel) Les données personnalisées sont un objet arbitraire (soumis à Terraform au format JSON sérialisé) à associer à la réservation d'adresse IP. Cela peut être utile pour une gestion autonome des adresses IP (IPAM). L'objet doit être un JSON valide.network- (Facultatif) Valide uniquement comme argument et requis lorsquetypeestvrf. Une adresse réseau non réservée d'unip_rangeexistant dans le VRF spécifié.cidr- (Optionnel) Valide uniquement comme argument et requis lorsquetypeestvrf. Taille du réseau à réserver à partir d'une plage d'adresses IP VRF existante.cidrne peut être spécifié qu'avecvrf_id. La plage est de 22 à 31. Les circuits virtuels nécessitent de 30 à 31. Les autres ressources VRF doivent utiliser un CIDR entre 22 et 29.
Référence des attributs
En plus des arguments ci-dessus, les attributs suivants sont exportés:
id- L'identificateur unique du bloc.cidr_notation- Adresse et masque en notation CIDR, par exemple147.229.15.30/31.network- Partie d'adresse IP réseau de la spécification du bloc.netmask- Masque en notation décimale, par exemple255.255.255.0.cidr- longueur du préfixe CIDR du bloc sous forme d'entier.address_family- Famille d'adresses sous forme d'entier. L'un des deux:4ou6.public- Indicateur booléen indiquant si les adresses d'un bloc sont publiques.global- Indicateur booléen indiquant si les adresses d'un bloc sont globales (c'est-à-dire qu'elles peuvent être attribuées dans n'importe quel métro).vrf_id- ID VRF du bloc lorsque type=vrf
-> NOTE: Une référence idempotente à une première adresse /32 d'un bloc réservé peut ressembler à join("/", [cidrhost(metal_reserved_ip_block.myblock.cidr_notation,0), "32"]).
Importation
Cette ressource peut être importée à l'aide d'un ID de réservation IP existant:
terraform import equinix_metal_reserved_ip_block {existing_ip_reservation_id}