CI/CD-Windows環境上でTerraformの準備
Terraformとは、HashiCorp社が提供する構成管理ツールとなります。
特徴は以下のようなものがあります。
- インフラ環境の構築や変更、削除の実施
- 独自の構成言語(HCL)を使用 (HCL:HashiCorp Configuration Language)
- 開発が活発されており、AWS/GCP/Azureなどの様々なIaaS/PaaS/SaaSで使用可能
Terraformの公式サイト
今回のテーマ:Windows環境でTerraformのインストール準備
WSL(Windows Subsystem for Linux)の準備
- クライアント側のWSL有効化するために、powershellより以下コマンドを実行
コマンド:
wsl --install
Microsoft Storeへアクセスし、入手をクリック
アクセス先:https://www.microsoft.com/ja-jp/p/ubuntu-2004-lts/9n6svws3rx71#activetab=pivot:overviewtabWSLの有効化を反映するため、クライアントを再起動
Microsoft Storeより、起動をクリックしWSLを起動
WSLの初期設定
- WSLコンソール起動後、UNIXアカウントを登録
ユーザー名:user
パスワード:任意
- WSLコンソールで、ubuntusのアップデートを以下のコマンドで実行
sudo apt update && sudo apt upgrade
- WSLコンソールで、日本語パッケージを導入するため、以下のコマンドを実行
sudo apt install language-pack-ja
- WSLコンソールで、日本語を有効効果するため、以下のコマンドを実行
適用コマンド
sudo update-locale LANG=ja_JP.UTF8
言語リスト反映確認コマンド
locale -a
言語パッチを反映したか確認するため、WSLコンソールを一度終了
クライアントよりスタート-Ubuntu 20.0.04 LTSを選択し起動
起動後、日本語化適用されているか以下コマンドで確認
echo $LANG
unzipのインストール
- WSLコンソールより、以下コマンドを実行しインストール
sudo apt install unzip
awscliインストール、awscli接続情報登録
- WSLコンソールより、以下コマンドを実行し、awscliv2をダウンロード
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
- WSLコンソールより、ダウンロードしたzipファイルの解凍を以下コマンドで実施
unzip awscliv2.zip
- WSLコンソールより、以下コマンドでawscliをインストールし、バージョンを確認
インストール
sudo ./aws/install
バージョン確認
aws --version
- WSLコンソールより、以下コマンドでawsへ接続するため接続情報を登録
登録実行コマンド
aws configure
※事前にAWSマネージメントコンソールより、
該当ユーザーのアクセスキー/シークレットアクセスキーの払い出しを実施
登録内容
AWS Access Key ID [None]: (AWSマネージメントコンソールより払い出し時確認) AWS Secret Access Key [None]: (AWSマネージメントコンソールより払い出し時確認) Default region name [None]: ap-northeast-1 Default output format [None]: json
- WSLコンソールより、以下コマンドでawsへの接続確認
aws sts get-caller-identity --query Account --output text
結果:
接続先のAWSアカウントの表示
brewのインストール
tfenvを導入するため、パッケージ構成管理ツールの「Homebrew」をインストールします。
- WSLコンソールより、前提パッケージのインストール
sudo apt-get install build-essential curl file git
- WSLコンソールより、brewのインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv) test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
- WSLコンソールより、brewコマンドのパス正常確認
brew doctor
Terraformのインストール/バージョン確認など
- WSLコンソールより、Terraformのインストール
brew install terraform
- WSLコンソールより、Terraformのバージョン確認
terraform --version
tfenvのインストール/バージョン確認など
- WSLコンソールより、terraformのリンクを削除
brew unlink terraform
- WSLコンソールより、terraformの管理ツールtfenvをインストール
brew install tfenv
- WSLコンソールより、tfenvのリンク付与
brew link --overwrite tfenv
- WSLコンソールより、tfenvのバージョン確認
tfenv --version
Terraformのバージョン指定(ここは共通バージョンを指定が必要)
- WSLコンソールより、terraformのバージョンをインストール
tfenv install 1.0.10
- WSLコンソールより、使用するterraformを指定
tfenv use 1.0.10
- WSLコンソールより、使用するterraformを確認
tfenv list
今回のテーマは以上です。