action.skip

Megaport Terraform Provider のトラブルシューティング

Megaport Terraform Provider に問題がある場合は、これらのトラブルシューティングアクションを実行してください。

API の問題のトラブルシューティングについては、API のトラブルシューティングを参照してください。

トラブルシューティングのアクション

操作 手順
Terraform と Megaport Terraform Provider の最新バージョンを使用していることを確認する Terraform のサポートされているバージョンと、最新バージョンの Megaport Terraform Provider を使用していることを確認してください。これは Megaport Terraform Provider レジストリ に記載されています。 Megaport は Terraform の最新の2つの主要バージョンでテストしています。

両方を確認するには、次のコマンドを実行します:

terraform version

これは次のようにバージョン情報を出力するはずです:

Terraform v#.#.#
on darwin_arm64
+ provider registry.terraform.io/megaport/megaport v#.#.#

Terraform の更新は アップグレードガイド (HashiCorp) からダウンロードして行うことができます。

Megaport Terraform Provider のバージョンは、Terraform ファイル内でプロバイダを作成する際に宣言します。詳しくは Megaport Terraform Provider 設定ファイルの作成を参照してください。
Azure VXC 削除エラーの解決 Azure VXC を削除すると以下のエラーが発生します:

Error: Error deleting resource ****: has an attached peering connection that must be removed in Azure first:

この問題を解決するには、ExpressRoute Peering は Azure Terraform プロバイダを使用して管理する必要があり、それから VXC より前に削除されます。詳細については、Azure プロバイダ ドキュメントを参照してください。
関連サービスが削除された時に VXC が削除される問題の解決 プロバイダは、Port が再作成されるときに、それに関連付けられた VXC を削除するという状況を処理しません。

たとえば、Port のスピードが 1000 の Terraform ファイルがあったとします:

resource "megaport_port" "port_2" {
  product_name = "port2"
  port_speed = 1000
  location_id = data.megaport_location.loc.id
  contract_term_months = 12
  marketplace_visibility = false
  cost_centre = "test2"
  diversity_zone = "red"
}

そして port_2 のスピードを 10000 に更新したい場合、Port が再作成され、Port と関連付けられた VXC が最初に削除されます。プロバイダは現在これを処理せず、次のようなエラーを返します:

Error: Error Updating VXC
Could not update VXC with ID a7b44cda-28bc-4d64-b05b-8703114a8fcd: PUT https://api-staging.megaport.com/v3/product/vxc/a7b44cda-28bc-4d64-b05b-8703114a8fcd: 400 (trace_id "89b4016d9f9d0b7545987092d0b17493") Product [a7b44cda-28bc-4d64-b05b-8703114a8fcd] Not Found

これを解決するためには、Port リソースに次のようなライフサイクル修飾子を指定することができます。これにより、新しい Port が最初に作成され、VXC の更新が行われ、古い Port が削除されます。

lifecycle {
  create_before_destroy = true
}
プロバイダエラーメッセージの報告 次のエラーメッセージが表示された場合、それはプロバイダに問題があることを示しています。 サポートに連絡するか、GitHub issue を作成 し、原因となったプロセスの詳細を含めて、エラーを記録し調査してもらいます。

"This is a bug in the provider, which should be reported in the provider's own issue tracker."