はじめに
HashiCorp社のTerraformを動かすための事前準備として、tfenvを設定する事をオススメします。
※tfenvはTerraformのバージョンマネージャーです。
設定方法
-
Amazon Linux 2
-
AdministratorAccessポリシー関連付けたIAMロールを作成し、EC2インスタンスにアタッチします。
-
~/.bashrcに
export AWS_DEFAULT_REGION=ap-northeast-1
を追記します。 -
source ~/.bashrc
を実行してください。 -
tfenvのインストール
ターミナル# パッケージを最新にする sudo yum update -y # Gitのインストール sudo yum install git -y git clone https://github.com/tfutils/tfenv.git ~/.tfenv # 環境変数の設定 echo 'export PATH="$HOME/.tfenv/bin:$PATH"' >> ~/.bash_profile # 環境変数の読み込み source ~/.bash_profile # 指定バージョンのTerraformをインストールする tfenv install {バージョン番号} # 指定バージョンに切り替える tfenv use {バージョン番号} # リポジトリにバージョンファイルを含めることで、 tfenv install を実行するだけで指定バージョンとなる echo {バージョン番号} > ~/.terraform-version
-
-
Mac
-
brew install tfenv
を実行し、tfenvをインストールします。 -
tfenv list-remote
を実行し、Terraformのバージョンの一覧を取得します。 -
tfenv install {バージョン番号}
を実行し、指定バージョンのterraformをインストールします。
ターミナル
$ aws configure
AWS Access Key ID [None]: {アクセスキー}
AWS Secret Access Key [None]: {シークレットアクセスキー}
Default region name [None]: ap-northeast-1
Default output format [None]: json
便利にする
-
エイリアスを設定する
.zshrcalias t='terraform' alias ta='terraform apply' alias td='terraform destroy' alias tf='terraform fmt -recursive'
-
高速化する
※--parallelism
は並行実行のオプションで、デフォルト値は10
です。
※大きな値を指定すると、API制限に引っかかる可能性があります。.zshrcexport TF_CLI_ARGS_plan='-parallelism=30' export TF_CLI_ARGS_apply='-parallelism=30' export TF_CLI_ARGS_destroy='-parallelism=30'