Cloud9でTerraformハンズオン環境を整える

## Cloud9起動 + AWS CLIの実行環境整備
下記サイトの手順をそのまま実施。
[Cloud9からIAM Roleの権限でAWS CLIを実行する](https://dev.classmethod.jp/articles/execute-aws-cli-with-iam-role-on-cloud9/)

## tfenvをインストールする
Terraformのバージョンを簡単に切り替えられるようtfenvをインストールする。
手順は[「EC2でtfenvを使ってみる」](https://qiita.com/simis/items/19270c017c4193532f4d)と同じ。Cloud9はgitインストール済なので
git cloneしてパス通しのシンボリックリンクを張るだけ。
※下記手順では{$HOME}配下の.tfenvディレクトリ配下にインストールされる。

```sh:gitはインストール済み
$ git --version
git version 2.37.1
$ 
```

```sh:git_clone
$ git clone https://github.com/tfutils/tfenv.git ~/.tfenv
Cloning into '/home/ec2-user/.tfenv'...
remote: Enumerating objects: 21, done.
remote: Counting objects: 100% (21/21), done.
remote: Compressing objects: 100% (19/19), done.
remote: Total 1105 (delta 8), reused 10 (delta 2), pack-reused 1084
Receiving objects: 100% (1105/1105), 216.01 KiB | 453.00 KiB/s, done.
Resolving deltas: 100% (703/703), done.
$ 
```

```sh:パス通し（シンボリックリンクを張る）
$ sudo ln -s ~/.tfenv/bin/* /usr/local/bin
$ 
```

## tfenvを使ってみる
### ■list-remote
インストール可能なterraformのバージョンを表示する。

```sh:list-remote
$ tfenv list-remote
0.13.0-beta3
0.13.0-beta2
0.13.0-beta1
0.12.28
0.12.27
（中略）
0.2.0
0.1.1
0.1.0
$ 
```

### ■install
指定したバージョンのterraformをインストールする。

```sh:最新バージョンをインストール
$ tfenv install latest
Installing Terraform v0.12.28
Downloading release tarball from https://releases.hashicorp.com/terraform/0.12.28/terraform_0.12.28_linux_amd64.zip
##################################################################################################################################################################### 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/0.12.28/terraform_0.12.28_SHA256SUMS
No keybase install found, skipping OpenPGP signature verification
Archive:  tfenv_download.KfahUH/terraform_0.12.28_linux_amd64.zip
  inflating: /home/ec2-user/.tfenv/versions/0.12.28/terraform  
Installation of terraform v0.12.28 successful. To make this your default version, run 'tfenv use 0.12.28'
$ 
```

```sh:バージョン0.11.1をインストール
$ tfenv install 0.11.1
Installing Terraform v0.11.1
Downloading release tarball from https://releases.hashicorp.com/terraform/0.11.1/terraform_0.11.1_linux_amd64.zip
##################################################################################################################################################################### 100.0%
Downloading SHA hash file from https://releases.hashicorp.com/terraform/0.11.1/terraform_0.11.1_SHA256SUMS
No keybase install found, skipping OpenPGP signature verification
Archive:  tfenv_download.LrPema/terraform_0.11.1_linux_amd64.zip
  inflating: /home/ec2-user/.tfenv/versions/0.11.1/terraform  
Installation of terraform v0.11.1 successful. To make this your default version, run 'tfenv use 0.11.1'
$ 
```

### ■use
使用するバージョンを選択する。

```sh:バージョン選択
$ tfenv use 0.12.28
Switching default version to v0.12.28
Switching completed
$ 
```

### ■list
インストール済みのterraformバージョンが一覧表示し
選択中のバージョンには*が付く。

```sh:list
$ tfenv list
* 0.12.28 (set by /home/ec2-user/.tfenv/version)
  0.11.1
$ 
```

### ■uninstall
指定したバージョンのterraformをアンインストールする。

```sh:uninstall
$ tfenv uninstall 0.11.1
Uninstall Terraform v0.11.1
Terraform v0.11.1 is successfully uninstalled
$ 
$ 
$ tfenv list
* 0.12.28 (set by /home/ec2-user/.tfenv/version)
$ 
```

以上です、おつかれさまでした。

---
(関連)
[EC2でtfenvを使ってみる](https://qiita.com/simis/items/19270c017c4193532f4d)