おっさん社内SEエンジニアの勉強ブログ

勉強記録のブログとなります。

CI/CD-Windows環境上でTerraformの準備

Terraformとは、HashiCorp社が提供する構成管理ツールとなります。
特徴は以下のようなものがあります。

  • インフラ環境の構築や変更、削除の実施
  • 独自の構成言語(HCL)を使用 (HCL:HashiCorp Configuration Language)
  • 開発が活発されており、AWS/GCP/Azureなどの様々なIaaS/PaaS/SaaSで使用可能

Terraformの公式サイト

www.terraform.io

今回のテーマ:Windows環境でTerraformのインストール準備

WSL(Windows Subsystem for Linux)の準備

  • クライアント側のWSL有効化するために、powershellより以下コマンドを実行

コマンド:

wsl --install

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

今回のテーマは以上です。