action.skip

Megaport Terraform Provider 構成ファイルの作成

このトピックでは、Megaport ソリューションアーキテクトが顧客の取り組みを通じて特定した共通かつ効果的な方法に基づいて、Megaport Terraform Provider 構成ファイルを準備するためのステップバイステップの手順を提供します。

開始する前に、Megaport Terraform Provider の始め方で説明されている前提条件を行ってください。

構成ファイルの作成

ネットワーク設計が整ったら、以下の手順を使用して設計をデプロイするための実行可能な Terraform 構成ファイルを作成できます。

構成ファイルを作成するには

  1. Megaport サービスを使用してネットワークを設計します。

    サンプルの Megaport Terraform Provider 構成ファイルは、Megaport Terraform Provider GitHub リポジトリで入手可能です。

    Megaport は、一般的なマルチクラウド接続シナリオについての説明も提供しています。一般的なマルチクラウド接続シナリオのサンプル Megaport Terraform Provider 構成ファイルは、Megaport Terraform Provider GitHub のサンプルページで見つけることができます。

  2. Megaport が有効なロケーションIDを特定します。

    データセンターロケーション名とサイトコードはAPIで変更されることがあります。信頼性が高く安定した Megaport Terraform Provider 構成を作成するには、名前やコードの代わりにロケーションIDを使用してください。最新のMegaportデータセンターロケーションのリストは、GET /v3/locations Megaport APIでアクセスできます。

  3. Megaport Terraform Provider 環境を定義します。

    Terraform ディレクトリと構成ファイル(.tf ファイル)を管理する方法はいくつかあります。あなたのニーズを満たすために Terraform リソースを管理する最も効果的な方法を確立する必要があります。

    以下の例は、Terraform 構成ファイルを整理された方法で保持する方法を示しています。

    • 特定の Megaport サービス(Port、MCR、VXC など)を管理するための Terraform 構成ファイルのセットを保管するためのディレクトリを作成します。

    • Megaport Terraform Provider 環境を宣言する provider.tf ファイルを作成します.

      注記

      他のプロバイダー(AWS、Azure、GCP など)の設定を provider.tf ファイルに定義することができます。詳細は Build Infrastructure (HashiCorp) を参照してください。

    • 他の Terraform 構成ファイルが保存されているのと同じディレクトリにprovider.tf ファイルを保管します。以下の例は、Megaport Terraform Provider に関連する構成を含む provider.tf ファイルを示しています:

    terraform {
           required_providers {
           megaport = {
           source  = "megaport/megaport"
           version = "1.3.6"
               }
           }
       }
           provider "megaport" {
           environment           = "staging"
           access_key            = "access_key"
           secret_key            = "secret_Key"
           accept_purchase_terms = true
           }
    

    注記

    Megaport Terraform Provider の構成ファイルを設定するために定義する必要があるいくつかの重要なフィールドと情報があります。

    • Version - Megaport は Terraform の最新の 2 つのメジャーバージョンでテストします。Megaport Terraform Provider の最新バージョンは、Megaport Terraform Provider Registry ドキュメントで見つけることができます。provider.tf ファイルを最新のバージョン番号で更新しておくことを強くお勧めします。

    • Environment - これにより、Terraform を使用してサービスをデプロイする環境が定義されます。たとえば、これが staging に設定されている場合、サービスは https://portal-staging.megaport.com/ 環境で作成されます。ステージング環境でのテストを終了して、本番環境でサービスをデプロイしたい場合は、この値を production に設定します。詳細は Environments を参照してください。

    • API key - Megaport Terraform Provider を使用する前に API キーを作成する必要があります。API キーは access_keysecret_key の値で構成されます。

      API キーは作成された環境でのみ有効です。別の環境にアクセスするための API キーが必要な場合、その環境で Megaport Portal にログインし、そこで API キーを作成します。詳細は APIキーの作成 を参照してください。

    • 購入条件の承諾 - Terraform を使用して Megaport サービスを注文するには、購入条件を承諾する必要があります。これにより、本番環境での課金可能なイベントが許可されます。つまり、本番環境で費用が発生する Megaport サービスを作成し、デプロイします。

  4. main.tf ファイルを作成し、インフラストラクチャを宣言します。その後、自分のネットワークデザインに最も近いサンプル構成をコピーし、main.tf ファイルで必要に応じて修正します。

    サンプル構成は Megaport Terraform Provider GitHub リポジトリで見つかります。

    以下の例は、単一の Port を注文するための Megaport Terraform Provider 構成を示しています.

    data "megaport_location" "bne_nxt1" {
       name = "NextDC B1"
    }
    
    resource "megaport_port" "port" {
       product_name           = "Megaport Port Example"
       port_speed             = 1000
       location_id            = data.megaport_location.bne_nxt1.id
       contract_term_months   = 1
       marketplace_visibility = false
       cost_centre            = "Megaport Single Port Example"
    }
    
    Terraform をデプロイする際、provider.tf が最初に実行されます。その後、同じディレクトリに保存されている他の Terraform 構成ファイルと一緒に main.tf が自動的に実行されます。

  5. 初めて Terraform を使用する場合、ディレクトリで terraform init コマンドを実行して Terraform 構成ファイルを含む作業ディレクトリを準備します。

    このコマンドは、Megaport Terraform Provider や他のバックエンドプラグインをダウンロードするなど、作業ディレクトリを Terraform で使用できるようにするためのいくつかのセットアップタスクを実行します。

    このコマンドを実行するには、ディレクトリにまず Terraform 構成ファイルが必要です。このコマンドは構成の変更を反映するために何度でも安全に実行できます。

    以下の画像は terraform init コマンドの出力例を示しています.

    terraform initの出力例

    詳細は terraform init コマンド (HashiCorp) を参照してください。

次のステップ

Terraform 構成ファイルを準備した後、最初のテストのためにステージング環境でデプロイし、本番環境に適用する前にテストを行うことができます。

詳細は Megaport Terraform Provider を使用したサービスの作成と管理 を参照してください。

参考資料