はじめに
こんにちは!
RedPullといいます。
今までアウトプットをほぼ全くしておらず、危機感を覚えたので、モチベーションのアップも兼ねて、現在学習している内容を投稿していきたいと思います。
今回は「Terraform」についてです。
対象者
- AWSの設定が毎度手動でやるのが面倒と感じてきた方
- Terraformって何?と思った方
Terraformとは?
Terraformは、Infrastructure_as_Code(IaC)ツールであり、HashiCorp社より提供されています。
これを使うことで、クラウドサービスによるリソース(サーバーなど)の設定・構築を自動で行うことが可能になるようです。
僕は業務で簡易的にAWSを触っているのですが、その設定を毎度スクラップ&ビルドしなければいけないのが億劫になり、こちらの技術に興味を持ちました。
今回はまだ学習中なので、
他のPCでも環境を再現できるように、まずは導入の手順を備忘録として残しておこうと思います。
初回設定
今回の学習では、AWSでの利用を前提に行っていきます。
また、AWSのアカウントは作成済みであるものとします。
▶AWS CLIインストール
AWS各リソースに対して、コマンドライン経由でアクセスするためのものです。
→公式から
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
▶Terraformインストール
- tfenvインストール
- Terraformインストール
◇手順
まずtfenvをインストールする(nodeにおけるnvmみたいなもので、Terraformのバージョンを指定してインストールできます。)
https://github.com/tfutils/tfenv
- まずgitbashで以下を叩く
$ cd ~ $ git clone https://github.com/tfutils/tfenv.git .tfenv
- Cユーザー直下に
.bashrc
を作成 - ↑の中に以下
export PATH=$PATH:/C/Users/[user]/.tfenv/bin
- Terraformインストール
$ tfenv list-remote $ tfenv install 0.14.6 $ tfenv use 0.14.6
- 確認
$ terraform version
◇IAMアカウントの用意
手順は以下の通りです。
- IAMユーザーの作成
今回は、Terraform用ユーザーを別に用意する(2つ用意)
また、「ポリシーのアタッチ」でAdministrator_Access
を付与しておく - アクセスキーの設定
→ここのアクセスキーIDとパスワードは、一度閉じたら再表示できないので、かならずメモに残しておく
また、.csv
形式で情報をダウンロードできますので、こちらもできればしておきたい - 認証情報を登録
$ aws configure AWS Access Key ID [None]:各自 AWS Secret Access Key [None]:各自 Default region name [None]: ap-notheast-1 Default output format [None]: json $ aws configure --profile [プロファイル名]
- 設定できているか確認する
C:\Users\[user]
に.aws
フォルダが生成されているので、ここのcredentialsの中身を確認し、登録した情報が書いてあればOK。
[default]
aws_access_key_id = 各自
aws_secret_access_key = 各自
[terraform]
aws_access_key_id = 各自
aws_secret_access_key = 各自
おわりに
Terraformの設定方法についてまとめました。
適宜必要な情報を追記していきたいと思います。