More Related Content
Similar to 実環境にTerraform導入したら驚いた
Similar to 実環境にTerraform導入したら驚いた (20)
More from Akihiro Kuwano (20)
実環境にTerraform導入したら驚いた
- 11. VPC 構築
•
# VPC for staging
resource "aws_vpc" "staging" {
cidr_block = 10.0.0.0/24
tags {
Name = "staging"
}
}
- 12. VPC 構築
•
# Public subnets for staging
!
resource "aws_subnet" "staging_public" {
vpc_id = "${aws_vpc.staging.id}"
cidr_block = 10.0.0.0/25
availability_zone = "${var.aws.availability_zone}"
map_public_ip_on_launch = "1"
tags {
Name = "staging_public"
}
}
- 13. VPC Peering
# VPC Peering
resource "aws_vpc_peering_connection"
"staging_vpc_peering" {
peer_owner_id = "${var.peer_owner_id}"
peer_vpc_id = "${aws_vpc.staging.id}"
vpc_id = ${aws_vpc.other_vpc.id}"
}
ただし
Activateは
マネジメントコンソー
ルから
- 14. EC2 instance作成
•
resource "aws_instance" staging-redis" {
count = 1
ami = "${var.amis.centos}"
instance_type = "t2.micro"
key_name = "${var.aws.key_name}"
subnet_id = "${aws_subnet.staging_private.id}"
security_groups = [
"${aws_security_group.sg_staging_default.id}",
"${aws_security_group.sg_staging_redis-slave.id}"
]
tags {
Name = "staging-redis-${count.index}"
Service = terraform-test
}
}
- 15. Route53 レコード作成
•
resource "aws_route53_record" "staging-redis-private" {
zone_id = ${var.route53_zones.example.com}"
name = staging-redis$
{count.index}.in.dev.example.com"
count = "1"
type = "A"
ttl = "300"
records = [ "${element(aws_instance.staging-
redis.*.private_ip, count.index)}" ]
}
- 16. 実行方法
• plan で変更内容の確認
$ terraform plan --refresh=false
(省略)
!
+ aws_instance.stg-redis.1
ami: "" => "ami-88564a89"
availability_zone: "" => "<computed>"
ebs_block_device.#: "" => "<computed>"
ephemeral_block_device.#: "" => "<computed>"
instance_type: "" => "t2.micro"
key_name: "" => "entm-dev"
private_dns: "" => "<computed>"
private_ip: "" => "<computed>"
public_dns: "" => "<computed>"
public_ip: "" => "<computed>"
root_block_device.#: "" => "<computed>"
security_groups.#: "" => "2"
security_groups.3873480020: "" => "sg-22362c15"
security_groups.3945627619: "" => "sg-22312345"
subnet_id: "" => "subnet-1234c80e"
tags.#: "" => "2"
tags.Name: "" => "staging-redis-1"
tags.Service: "" => "staging"
tenancy: "" => "<computed>"