🐈
【Terraform】モジュールについて
はじめに
EC2にnginXを入れ、起動する動作をTerraformのモジュールを使って作っていきます。
ファイル構成
.
├── main.tf
├── modules
│ └── nginx_server
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
└── terraform.tfstate
/modules/nginx_server/variables.tf
variable "instance_type" {
type = string
default = "t2.micro"
}
/modules/nginx_server/outputs.tf
output "instance_id" {
value = aws_instance.server.id
}
/modules/nginx_server/main.tf
resource "aws_instance" "server" {
ami = "ami-08f52b2e87cebadd9"
instance_type = var.instance_type
tags = {
Name = "TestWebServer"
}
user_data = <<EOF
#!/bin/bash
amazon-linux-extras inastall -y nginx.12
systemctl start nginx
EOF
}
main.tf
terraform {
required_version = ">=0.13"
required_providers {
aws = {
source = "hashicorp/aws"
version = ">3.0"
}
}
}
provider "aws" {
profile = "udemy_terraform"
region = "ap-northeast-1"
}
module "webserver" {
source = "./modules/nginx_server"
instance_type = "t2.micro"
}
output "web_server_id" {
value = module.webserver.instance_id
}
Discussion