1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめてのterraform

Posted at

※ terraformプロジェクトが既に運用されているけど初めてterraformに触れるよっていう前提です

そもそもterraformとは

超ざっくり言うとソースコードでインフラ構築できちゃうツールです
最初勘違いしてたんですが、AWSのサービスではないです

tfenv導入

自分のPCにterraformをインストールする前にtfenvを導入します

terraformは割と頻繁にアップデートがあって、バージョンがちょっと違うだけでも動かなくなったりするのでrubyでいうrbenvのようなバージョン管理ツールを入れといた方が後々楽だと思います

$ brew install tfenv

既にterraformを導入済み等の場合は、正しく動くようにコマンドを実行してくれって出てくるので忘れずに実行しましょう

// 例1
Please `brew unlink terraform` before continuing.

// 例2
To force the link and overwrite all conflicting files:
  brew link --overwrite tfenv

terraformをインストールするときは下記コマンドを実行します

$ tfenv install 0.12.29 // インストールしたいバージョン 又は latest

インストール終わったらuseコマンドでそのバージョンを使うようにします

$ tfenv use 0.12.29

最後に下記コマンドで正しく設定されたか確認します

$ terraform -v
> Terraform v0.12.29

他にtfenvでできることは下記の記事がわかりやすかったです
https://qiita.com/kamatama_41/items/ba59a070d8389aab7694

前回構築した時のバージョンを確認する

先に書いたようにバージョンが違うと動かなくなる可能性が高いので、(別の人が)前回構築した時のバージョンと同じにするのが良さそうですよね

前回構築した時の情報はAWSのS3に保存されています(この辺はプロジェクトに寄って違ったりするかも?です)
tfstateファイル(xxxx.tfstate)を探して中身を見てみると、上から2つ目に"terraform_version"があると思います
これが前回構築した時のterraformのバージョンです
それからコードが変更されてなければこのterraformのバージョンを使えばうまくいく"はず"です

実行してみる

terraformで構築するまでの大まかな流れは初期化して、確認して、構築!です

  1. プロジェクトの中はおそらく環境毎にフォルダ分けされてると思うので、構築したい環境に移動します
  2. $ terraform initを実行して初期化します
  3. $ terraform planを実行して前回との差分を確認します
  4. 問題なければ$ terraform applyを実行するとインフラ構築されます

(applyするとtfstateファイルが生成されるみたいです)

認証周り

init実行してクレデンシャルがどうのこうのとか、見つかんないよってエラーが出たらだいたい認証周りの不備の可能性大です
下記を特に見直してみるといいかもです(自分はアクセスキーが未発行の状態でinitしてました…orz)

  • 秘密鍵と公開鍵が正しくセットされているか
  • アクセスキーとシークレットアクセスキーが発行済みでちゃんと設定されているか
    • 複数ある場合は切り替わっているか

 

超ざっくりな解説でしたが、これさえできれば最低限の運用はなんとかなりそうです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?