👏

WSL2上のUbuntuにtfenvを使用してTerraformをインストールする手順

2024/07/02に公開

はじめに

このドキュメントでは、WSL2上のUbuntuにtfenvを使用してTerraformをインストールする方法を説明します。Terraformはインフラストラクチャをコードで管理するための強力なツールであり、tfenvを使用することで複数のバージョンを簡単に管理できます。

Terraformとは

TerraformはHashiCorp社が開発したオープンソースのインフラストラクチャ自動化ツールです。インフラストラクチャをコード(IaC: Infrastructure as Code)として記述することで、クラウド環境やオンプレミス環境のリソースを効率的に管理・構築できます。

Terraformを使うことのメリット

  • インフラの自動化:インフラストラクチャをコードで管理することで、自動化されたデプロイと管理が可能になります。
  • マルチクラウド対応:AWS、Azure、Google Cloudなど複数のクラウドプロバイダーに対応しており、同じコードで異なる環境にデプロイが可能です。これにより、クラウドプロバイダー間の移行が容易になります。
  • 一貫性と再現性:すべてのインフラをコードで管理することで、環境間の一貫性を保ち、設定ミスを防ぐことができます。
  • バージョン管理:インフラの構成をバージョン管理システムで追跡できるため、変更履歴を管理し、過去の状態に戻すことが容易です。

tfenvとは

tfenvは、Terraformのバージョン管理を簡単に行うためのツールです。複数のプロジェクトやチームで異なるバージョンのTerraformを使用する必要がある場合、tfenvを使用することでバージョンの切り替えが容易になります。また、新しいバージョンのTerraformがリリースされた際にも、tfenvを使って簡単にインストールし、テストすることができます。

tfenvを使用するメリット

  • バージョン管理が簡単:プロジェクトごとに異なるTerraformバージョンを簡単に切り替えることができます。
  • 新バージョンのテストが容易:新しいバージョンのインストールとテストが簡単に行え、他のプロジェクトに影響を与えずに利用できます。
  • 互換性の確保:プロジェクトごとに適切なバージョンを使用することで、互換性の問題を回避できます。

tfenvのインストール手順

前提条件

  • WSL2がインストールされており、Ubuntuが利用可能であること
  • インターネット接続があること

手順

  1. 必要な依存パッケージのインストール

    sudo apt-get update
    sudo apt install -y git curl unzip
    
  2. tfenvのインストール

    git clone https://github.com/tfutils/tfenv.git ~/.tfenv
    echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    

    説明: このコマンドは、GitHubリポジトリからtfenvをクローンし、tfenvのバイナリディレクトリをPATH環境変数に追加することで、シェル起動時にtfenvコマンドを認識できるようにします。

Terraformのインストール手順

  1. Terraformのインストール

    tfenv install latest
    tfenv use latest
    

    説明: これらのコマンドは、最新バージョンのTerraformをインストールし、利用可能にします。

  2. Terraformのバージョンを確認

    terraform -v
    

    説明: terraform -vは、現在インストールされているTerraformのバージョンを表示するコマンドです。

まとめ

これでWSL2上のUbuntuにtfenvを使用してTerraformがインストールされ、バージョン管理が可能になりました。tfenvを利用することで、複数のTerraformバージョンを簡単に切り替えることができ、プロジェクトごとに異なるバージョンを使用する場合でも柔軟に対応できます。

追加の利点

tfenvの使用は、開発環境の柔軟性を高め、異なるプロジェクトやチーム間でのバージョン管理を簡単にします。これにより、Terraformの新機能やバグ修正を迅速に取り入れることができ、インフラストラクチャの管理がさらに効率化されます。

参考元

Discussion