Terraform入門

AWSでの導入 On Cloud9

$ sudo yum install -y yum-utils
$ sudo yum update
$ sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo
$ sudo yum -y install terraform
$ terraform -install-autocomplete

Cloud9では、インスタンス自身のEC2 RoleをAdministrator権限にしてあげることで、諸々のコマンドが通るようになるでしょう。

Temporary CredentialsだとIAMの変更等ができなかったのでRoleで設定してあげましょう。

main.tf作成

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 2.70"
    }
  }
}
provider "aws" {
  profile = "default"
  region  = "ap-northeast-1"
}

とりあえず、こんな感じで設定してあげれば、AWSの各種サービスをコントロールできるようになります。

$ terraform init

initしてあげると、同じディレクトリに色々なファイルができるでしょう。

AWSのドキュメント

こちらで確認しましょう。

tfファイルのフォーマット

$ terraform fmt

We recommend using consistent formatting in files and modules written by different teams. The terraform fmt command automatically updates configurations in the current directory for easy readability and consistency.

異なるチームで記載してたとしてもファイルやモジュールは一貫したフォーマットを利用することを推奨します。fmtコマンドを使うと、カレントディレクトリの設定を読みやすくて一貫性のあるものに更新してくれます。