AWS IaC環境(Terraform版)構築

# 前提
AWS IaCをTerraformで実行する環境を作るための手順です。
## 利用ソフトウェア
- AWS CLI
- Git
- Terraform
- VSCode
::: note warn
VSCodeのみ既にインストールしている前提で進めます。
VSCodeのインストールは[以前投稿した記事](https://qiita.com/furu38/items/6776acba6621012ee475)を参考ください。
:::
# AWS CLIのインストール
<ol>
<li>コマンドプロンプトを開き、以下のコマンドを実行する。

```
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
```
</li>
<li>インストーラーが起動するため、指示に従いインストールを実施する。
</li>
<li>インストール完了後、コマンドプロンプトで以下のコマンドを実行し、バージョンが表示されることを確認する。

```
aws --version
```
</li>
<li>AWS Credentialの設定をするため以下のコマンドを実行する。（自身のIAMユーザー）

```
C:¥> aws configure
AWS Access Key ID [None]: ＜アクセスキー＞
AWS Secret Access Key [None]: ＜シークレットアクセスキー＞
Default region name [None]: ap-northeast-1
Default output format [None]: json
```
</li>
<li>同様にAWS Credentialの設定をするため以下のコマンドを実行する。（Terraformユーザー）

```
C:¥> aws configure --profile terraform
AWS Access Key ID [None]: ＜Terraform用アクセスキー＞
AWS Secret Access Key [None]: ＜Terraform用シークレットアクセスキー＞
Default region name [None]: ap-northeast-1
Default output format [None]: json
```
</li>
</ol>

# Gitのインストール
1. [Git公式](https://git-scm.com/downloads)ホームページを開き、Windows用のインストーラーをダウンロードする。
1. ダウンロードしたファイルを実行し、インストーラーの指示に従ってインストールする。
:::note warn
以下の設定はencodingが書き換わる設定になるため、一番下の[Checkupt as-is, commit as-is]がおすすめです。
:::
![cap_2024-10-26_14.51.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/54e01cd2-3cc2-3a2d-83c5-fa3d1bdd5722.png)

1. インストール後、コマンドプロンプトで以下のコマンドを実行し、バージョンが表示されることを確認する。
```
git version
```

# Terraformのインストール
<ol>
<li>自身のユーザーフォルダを開き、右クリック＞[Open Git Bash here]をクリックする。

![cap_2024-10-26_14.57.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/647de7d4-070b-1754-867d-069a13c54293.png)

</li>
<li>Git Bashが起動するので、以下のコマンドを実行する。

```
git clone https://github.com/tfutils/tfenv.git .tfenv
```
</li>
<li>cloneが完了し、.tfenvフォルダが作成されることを確認する。

![cap_2024-10-26_14.59.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/ddb0a6ef-be9e-7785-30fa-a6a56c8112a4.png)
</li>

<li>同フォルダで右クリック＞[新規作成]＞[テキストドキュメント]を選択してファイルを作成し、名前を[.bashrc]に変更する。

![cap_2024-10-26_15.01.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/c279a803-05e5-5965-5484-1545fa7b82f0.png)
![cap_2024-10-26_15.01.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/6675deb7-d9aa-6f27-aaa2-2ca0a8c5f80b.png)
</li>

<li>.bashrcファイルをテキストエディタで開き、以下の内容を記載し上書き保存する。

`export PATH=$PATH:/＜.tfenv配下のbinフォルダ絶対パス＞`
例）ユーザーフォルダが「C:¥Users¥Administrator」の場合
```
export PATH=$PATH:/c/Users/Administrator/.tfenv/bin
```
:::note warn
- ドライブレターを小文字(c)にし、`:`を除いてください。
- `¥`マークはすべて`/`で記載してください。
:::
</li>
<li>一度、Git Bashを開き直す。

![cap_2024-10-26_14.25.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/38731f6b-f65f-df7b-8042-93095be93a07.png)
</li>

<li>Git Bash上で以下のコマンドを実行しパスが通ることを確認する。

```
tfenv
```
![cap_2024-10-26_15.06.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/777ba0a2-d7bf-3e8f-2132-75648e68dd11.png)
</li>
<li>Git Bash上で以下のコマンドを実行しインストール可能なTerraformのバージョンを確認する。

```
tfenv list-remote
```
![cap_2024-10-26_15.08.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/63659b83-a375-73ed-051f-f7811ff31164.png)

:::note info
↑の場合、最新版`1.10.0`がアルファ版のため、一つ前の`1.9.8`をインストールする。
:::
</li>
<li>Git Bash上で以下のコマンドを実行しTerraformをインストールする。

```
tfenv install 1.9.8
```
![cap_2024-10-26_15.12.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/c5de050a-06ab-4252-36e8-a8f73e90b11c.png)
</li>

<li>インストール完了後、以下のコマンドを実行し、使用するTerraformのバージョンを指定する。

```
tfenv use 1.9.8
```
![cap_2024-10-26_15.14.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/7c807361-5367-ca19-8d62-b7811e122ac2.png)

</li>
<li>以下のコマンドを実行し、Terraformのバージョンを確認する。

```
terraform version
```
![cap_2024-10-26_15.15.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/a4893c71-3349-fc93-53e8-a3d8ef464252.png)
</li>
</ol>

# VSCode設定
Terraformのプラグインを有効化(インストール)し、VSCodeデフォルトターミナルを変更する。
1. 左の拡張機能タブをクリックし、検索窓に[terraform]と入力して[HshiCorp Terraform]をInstallする。
![cap_2024-10-26_15.27.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/001f623f-6b93-5172-b69d-cc56d54bae50.png)
1. [File]＞[Preferences]＞[Settings]をクリックする。
![cap_2024-10-26_15.31.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/33bb9b2e-c04f-5f91-890f-8fc4afea8e30.png)
1. 検索窓で[terminal default profile windows]と入力する。
![cap_2024-10-26_15.37.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/8cfd6d98-c8e2-928d-013c-22b30bf2c149.png)
1. [Tefminal > integrated > Default Profile: Windows]の`null`を`Git Bash`に変更し、VSCodeを開き直す。
![cap_2024-10-26_15.42.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/649448/315b09e9-a6a0-1a59-23f8-613a7946d3b6.png)