本文へスキップ

メトロと施設の比較

2021年4月、[Equinix Metalは新しいロケーションコンセプトであるメトロを導入しました。メトロは、地理的にグループ化されたデータセンターに対するエクイニクス全体のコンセプトです。メトロ内のデータセンターは、容量やネットワーク機能を共有します。メトロについては、https://docs.equinix.com/metal/locations/metros/。2023年4月、ファシリティデプロイメントが廃止され、メトロプロビジョニングが全面的に優れたデプロイメント戦略として提供されるようになりました。API 変更の詳細については、Metal API ドキュメントの facilities ガイド を参照してください。

メトロが導入される前は、リソースは単一のfacilityロケーションにデプロイされていました。 equinix_metal_deviceのリソースをプロビジョニングする場合、エクイニクスメタルはユーザーから提供されたfacilitiesのリストから施設を選択するか、ワイルドカードのany施設を選択することができました。 各施設の場所は「sv15」や「ny5」のようなコードを使用します。メトロは施設をグループ化します。たとえば、メトロ「sv」には「sv15」施設などが含まれます。リソースの作成時にメトロを指定すると、そのリソースはメトログループ内のいずれかの施設に配置されます。その後、リソースの読み取り専用属性(例:equinix_metal_deviceリソースのdeployed_facility)を使用して、配置された施設を見つけることができます。

Terraform テンプレートをファシリティの代わりにメトロを使うように変更する方法

メトロのいくつかの機能を利用するために、Terraformテンプレートの設定を変更して、デバイスにfacilitiesの代わりにmetroを指定するようにするとよいでしょう。metrofacilitiesはどちらもForceNewパラメータ(変更するとリソースが再作成される)なので、デバイスを破壊されたくない場合は注意が必要です。

equinix_metal_device リソースを更新したので、変更はシームレスに行われるはずですが、注意して行ってください。metro パラメータも計算属性であり、3.2.1 より新しいプロバイダ・バージョンを使用している場合、metro 属性は実際にリソースに存在します。その場合、設定に明示的に追加するだけです。

facilitiesパラメータは、デバイスリソースを作成する際の施設選択にのみ使用されます。デバイスが配置される実際の施設は、deployed_facility にあります。Computed 属性にあります。

equinix_metal_device リソースの仕様をファシリティベースからメトロベースに変更したいだけであれば、例えば facilities ["sv15"] から metro "sv" に変更する場合、facilities 属性を削除して metro 属性を追加するだけで十分です。

例えば、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"
}

... faclities を削除して metro を追加し、構成を次のように変更できます:

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"
}

変更が状態を汚していないこと、デバイスが再作成されないことをテストするには、terraform planが何らかの違いを報告しているかどうかを確認します。デバイスが配置された施設がメトロ内に含まれている限り、テラフォームの状態は最新のはずです。

プランの差分が空でない場合、デバイスが配置された施設を含まないメトロを使用した可能性があります。これは、facilitiesリストでより多くの施設を使用した場合、または特別な「any」施設を使用した場合に発生する可能性があります。

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"

Terraform テンプレートに既存のメトロを設定します。

このページは役に立ちましたか?