本記事について
ここではTerraformを使う予定の筆者が、使った構成について理解した内容をアウトプットしていきます。
使用するプロバイダーについて
TerraformはAzureやGCPなどのクラウド、他にもGitHubでも使用できますが、ここでは主にAWSで使用した際のアウトプットを行います。
記載バージョンについて
- Terraform:0.12.0
- AWSプロバイダー:1.60.0
※今後別バージョンのものも記載するかもしれませんが、Terraform0.12.0以降であれば大きな違いは今の所ありません。
記載方法について
Terraformは下記のように{}の前に記載するブロックとそのブロックに対して何を実行するかを記載します。
下記だと、providerをawsで指定し、使用リージョンはアジアパシフィック (東京)
を意味します。
provider "aws" {
region = "ap-northeast-1"
}
この記事では、ブロック毎に、ブロックの説明とブロック内で使用する引数について記載していきます。
provider
記載例
provider "aws" {
version = "~> 2.0"
region = "ap-northeast-1"
}
構成 | 説明 | 備考 |
---|---|---|
provider | 記載するコードが何に対応しているかを記載する箇所。 Terraformは暗黙的にプロバイダを検出する為、記載がなくても起動はする。 |
対応プロバイダーは公式参照 |
version | プロバイダーバージョンを固定するのに使用。 | バージョンを変更したらterraform init コマンドを使用してプロバイダーのダウンロードをすること。 |
region | 使用する物理サーバの地域を指定。AWSで東京リージョンを使用する場合はap-northeast-1
|
リージョンの種類は公式参照 |
resource
構成 | 説明 | 備考 |
---|---|---|
resource | インスタンスリソースの定義に使用 | |
count | 作成するインスタンスの数 | |
ami | マシンイメージの選定 | |
instance_type | インスタンスタイプの指定 |