😄

TerraformでAWSリソースを構築するまでのメモ

に公開

TerraformでAWSリソースを構築するまでのメモ

TerraformでAWSリソースをするまでのメモ書きです

前提条件

  • AWSのアカウントを登録完了
  • Debian v12

AWS CLIのインストール

長いので公式ドキュメント参照

Terraform用IAMユーザーを作成する

  • マネジメントコンソールアクセスなし
  • ロールはAdministratorAccess
  • コマンドラインインターフェース(cli)用のアクセスキーを作成

コマンドでプロファイルを作成

下記コマンド実行後、アクセスキー、シークレットキーを入力する

aws configure --profile terraform

完了後、Linuxの場合.aws/credentialsというファイルに入力内容が設定される

git-secretsをインストール

git clone https://github.com/awslabs/git-secrets.git
cd git-secrets
sudo make install

git secrets --register-aws --global
git secrets --install $env:userprofile/.git-templates/git-secrets -f
git config --global init.templatedir $env:userprofile/.git-templates/git-secrets

Terraformをインストール

直インストールではなくtfenvを使用します

git clone https://github.com/tfutils/tfenv.git ~/.tfenv
sudo ln -s ~/.tfenv/bin/* /usr/local/bin
tfenv install v1.12.0
tfenv use v1.12.0

下記はtfenvの使い方

バージョンインストール

tfenv install v1.12.0

アンインストール

tfenv uninstall v1.12.0

バージョンを選択

tfenv use v1.12.0

インストール可能なterraformのバージョン

tfenv list-remote

インストールしたバージョン

tfenv list

Terraformのファイルを入力して実行

profileで特定のAWSプロファイルを指定する

providers.tf
provider "aws" {
  region = "ap-northeast-1
  profile = "terraform"
}

動作確認が目的のため、amiは空にしてます

main.tf
resource "aws_instance" "test" {
  ami = ""
  instance_type = "t2.micro"
  tags = {
    env = "dev"
  }
}

下記コマンド実行後、1 to addの文言があればおそらく大丈夫なはず

terraform plan

参考

最後に

何か間違っていることなどあればコメントに書いていただけると幸いです。
よろしくお願いいたします。

GitHubで編集を提案

Discussion