Métros contre infrastructures
En avril 2021, Equinix Metal a lancé un nouveau concept de localisation: les métros. Un métro est un concept Equinix qui regroupe des centres de données géographiquement. Les centres de données d'un même métro partagent des capacités et des fonctionnalités réseau. Pour en savoir plus sur les métros, consultez la page https://docs.equinix.com/metal/locations/metros/. En avril 2023, le déploiement d'infrastructures a été déprécié au profit du provisionnement par métro, une stratégie de déploiement globalement plus performante. Consultez le guide d'infrastructure dans la documentation de l'API Metal pour plus de détails sur cette modification.
Avant l'introduction des métros, les ressources étaient déployées à un seul endroit facility. Lors de l'approvisionnement de ressources equinix_metal_device, Equinix Metal pouvait sélectionner le site à partir d'une liste facilities fournie par l'utilisateur, ou d'un site générique any. Chaque site est identifié par un code, par exemple « sv15 » ou « ny5 ». Les métros regroupent les sites. Par exemple, le métro « sv » contient notamment le site « sv15 ». Si vous spécifiez un métro lors de la création d'une ressource, celle-ci sera déployée sur l'un des sites du groupe. Vous pouvez ensuite identifier le site déployé grâce à un attribut en lecture seule de la ressource (par exemple, deployed_facility pour les ressources equinix_metal_device).
Modifiez vos modèles Terraform pour utiliser des métros au lieu d'installations.
Pour profiter de certaines fonctionnalités du métro, vous pouvez modifier la configuration de vos modèles Terraform afin que les périphériques aient metro au lieu de facilities. Étant donné que metro et facilities sont des paramètres ForceNew (toute modification entraînera la recréation de la ressource), soyez prudent si vous ne voulez pas que le périphérique soit détruit.
Nous avons mis à jour la ressource equinix_metal_device pour que la modification soit transparente, mais veuillez procéder avec précaution. Le paramètre metro est aussi un attribut calculé ; si vous utilisez une version du fournisseur plus récente que la version 3.2.1, l’attribut metro est déjà présent dans votre ressource. Vous n'avez alors qu'à l'ajouter explicitement à votre configuration.
Le paramètre facilities sert uniquement à la sélection de l'établissement lors de la création de la ressource de périphérique. L'établissement où l'appareil est réellement déployé est indiqué dans l'attribut calculé deployed_facility.
Si vous voulez seulement modifier la spécification de ressource equinix_metal_device de basée sur l'installation à basée sur la métropole, par exemple de l'installation ["sv15"] à la métropole "sv", il suffit de supprimer l'attribut facilities et d'ajouter l'attribut metro.
Par exemple, étant donné la configuration suivante d'un appareil déployé dans l'installation sv15:
resource "equinix_metal_device" "node" {
project_id = local.project_id
facilities = ["sv15"]
plan = "c3.small.x86"
operating_system = "ubuntu_16_04"
hostname = "test"
billing_cycle = "hourly"
}
… vous pouvez supprimer faclities et ajouter metro, ce qui modifie la configuration comme suit:
resource "equinix_metal_device" "node" {
project_id = local.project_id
metro = "sv"
plan = "c3.small.x86"
operating_system = "ubuntu_16_04"
hostname = "test"
billing_cycle = "hourly"
}
Pour vérifier que la modification n'a pas altéré l'état et que l'appareil ne sera pas recréé, vous pouvez consulter les résultats de la commande terraform plan pour détecter d'éventuelles différences. L'état Terraform devrait être à jour si le site où le périphérique a été déployé se trouve dans la région métropolitaine.
Si la différence de plan n'est pas vide, il se peut que vous ayez utilisé une région métropolitaine ne contenant pas l'établissement où l'appareil a été déployé. Cela peut se produire si vous avez utilisé plusieurs établissements de la liste facilities ou si vous avez utilisé l'établissement spécial « n'importe quel ».
Vous pouvez identifier l'installation déployée et le métro qui la contient en examinant l'état Terraform de la ressource equinix_metal_device:
$ terraform state show equinix_metal_device.node | grep deployed
deployed_facility = "sv15"
$ terraform state show equinix_metal_device.node | grep metro
metro = "sv"
Vous devez ensuite configurer le métro existant dans vos modèles Terraform.