本文へスキップ

~>非推奨のお知らせ Equinix Metalは、2026年6月30日 でサポートを終了します。すべてのMetalリソースは、このプロバイダのバージョン5.0.0で削除されます。廃止までの継続利用には、このプロバイダのバージョン4.xをご利用ください。詳細は https://docs.equinix.com/metal/ をご覧ください。

equinix_metal_reserved_ip_block(リソース)

プロジェクトで予約IPアドレスのブロックを作成・管理するためのリソースを提供します。

ユーザーがメトロで最初のデバイスをプロビジョニングすると、Equinix Metal APIは自動的にIPv6/56とプライベートIPv4/25ブロックを割り当てます。新しいデバイスは、これらのブロックからIPv6アドレスとプライベートIPv4アドレスを取得します。また、パブリックIPv4/31アドレスも取得します。プロジェクトとメトロのすべての新しいデバイスは、これらの事前に割り当てられたブロックからIPv6とプライベートIPv4アドレスを自動的に取得します。IPv6とプライベートIPv4ブロックは作成できず、インポートのみ可能です。このリソースで、パブリックIPv4ブロックまたはグローバルIPv4ブロックを作成できます。

パブリックブロックはメトロで割り当てられます。パブリックブロックのアドレスは、メトロ内のデバイスにのみ割り当てることができます。パブリックブロックは、/24(256アドレス)から/32(1アドレス)までのマスクを持つことができます。このリソースでパブリックブロックを作成する場合、引数のメトロを埋める必要があります。

グローバルブロックのアドレスは、どのメトロでも割り当てることができます。グローバルブロックは、/30(4アドレス)から/32(1アドレス)までのマスクを持つことができます。このリソースでグローバルブロックを作成する場合は、type = "global_ipv4 "を指定し、引数のメトロを省略する必要があります。

IP ブロックが割り当てられるかインポートされると、equinix_metal_ip_attachment リソースでデバイスにアドレスを割り当てることができます。

製品の詳細と API リファレンス資料については、[Virtual Routing and Forwarding documentation を参照してください。

使用例

予約IPブロックの割り当て

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

ブロックを割り当て、そのブロックからパブリックIPv4のデバイスを実行します。

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

引数リファレンス

以下の引数をサポートしています:

  • project_id - (必須)アドレスブロックを割り当てるメタルプロジェクト ID。
  • typevrf でない場合に必要です。
  • type-(オプション)global_ipv4public_ipv4vrf のいずれか。後方互換性のため、デフォルトは public_ipv4 です。
  • facility - (非推奨) パブリック IP アドレスブロックを割り当てるファシリティで、タイプが public_ipv4 の場合のみ意味を持ち、タイプが global_ipv4 の場合は空でなければなりません。metro と競合します。代わりにメトロを使用してください。ファシリティからメトロへの移行ガイド を参照してください。
  • metro - (オプション)パブリック IP アドレスブロックを割り当てるメトロで、タイプが public_ipv4 の場合のみ意味があり、タイプが global_ipv4 の場合は空でなければなりません。facilityと競合します。
  • description - (オプション)任意の記述。
  • tags - (オプション)タグの文字列リスト。
  • vrf_id - (オプション) typevrf の場合のみ有効で必須。type=vrf 予約の VRF ID。
  • wait_for_state - (オプション) リソース作成時にIP予約ブロックが希望の状態になるのを待ちます。のいずれか:pending, created.3}状態はデフォルトで、アドレスが構成内で必要な場合に推奨されます。タイムアウトまたは denied 状態になった場合はエラーが返されます。
  • custom_data - (オプション) Custom Data は、IP Reservation に割り当てる任意のオブジェクトです (Terraform でシリアライズされた JSON として送信されます)。これは自己管理型IPAMの場合に役立ちます。オブジェクトは有効な JSON である必要があります。
  • network - (オプション)引数としてのみ有効で、typevrf の場合は必須です。指定された VRF 内の既存の ip_range から確保されていないネットワークアドレス。
  • cidr - (オプション)引数としてのみ有効で、typevrf の場合は必須です。既存の VRF ip_range から予約するネットワークのサイズ。cidrvrf_idと一緒 にのみ指定できます。範囲は 22-31 です。仮想サーキットは 30-31 が必要です。他の VRF リソースは 22~29 の CIDR を使用する必要があります。

属性リファレンス

上記のすべての引数に加えて、以下の属性がエクスポートされます:

  • id - ブロックの一意の ID。
  • cidr_notation - CIDR 表記でのアドレスとマスク。
  • network - ブロック仕様のネットワーク IP アドレス部分。
  • netmask - 10進数表記のマスク。
  • cidr - ブロックの CIDR プレフィックスの長さ(整数)。
  • address_family - 整数としてのアドレスファミリ。4または6のいずれか。
  • public - ブロックのアドレスが公開されているかどうかのブール値フラグ。
  • global - ブロックのアドレスがグローバル(つまりどのメトロでも割り当て可能)かどうかのブール値フラグ。
  • vrf_id - type=vrf のときのブロックの VRF ID

->注意: 予約ブロックからの最初の/32アドレスへのべき等参照はjoin("/", [cidrhost(metal_reserved_ip_block.myblock.cidr_notation,0), "32"])のように見えるかもしれません。

インポート

このリソースは、既存のIP予約IDを使用してインポートできます:

terraform import equinix_metal_reserved_ip_block {existing_ip_reservation_id}
このページは役に立ちましたか?