Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F5027040
example_customer.tf
No One
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Authored By
amckinley
Jun 30 2017, 6:33 PM
2017-06-30 18:33:47 (UTC+0)
Size
3 KB
Referenced Files
None
Subscribers
None
example_customer.tf
View Options
# private subnet
resource
"aws_subnet" "example-customer-private-1a"
{
vpc_id
=
"${aws_vpc.private-cluster.id}"
cidr_block
=
"172.32.3.0/24"
map_public_ip_on_launch
=
false
availability_zone
=
"us-east-1a"
tags
{
Name
=
"example-customer-private-us-east-1a"
customer
=
"example-customer"
}
}
# test instance
resource
"aws_instance" "terraform-test"
{
ami
=
"ami-9a562df2"
instance_type
=
"t2.micro"
subnet_id
=
"${aws_subnet.example-customer-private-1a.id}"
key_name
=
"terraform-test"
vpc_security_group_ids
=
[
"${aws_security_group.allow-all.id}"
]
availability_zone
=
"us-east-1a"
timeouts
{
create
=
"60m"
delete
=
"2h"
}
tags
{
Name
=
"example-customer-phab"
}
}
# for each of the private ranges, create a "private" route table.
resource
"aws_route_table" "example-customer-private-rt"
{
vpc_id
=
"${aws_vpc.private-cluster.id}"
tags
{
Name
=
"example-customer-private-route"
}
}
# routing table for private subnet
resource
"aws_route" "private_nat_gateway_route"
{
route_table_id
=
"${aws_route_table.example-customer-private-rt.id}"
destination_cidr_block
=
"0.0.0.0/0"
nat_gateway_id
=
"${aws_nat_gateway.us-east-1a-nat.id}"
}
# attach routing table to subnet
resource
"aws_route_table_association" "example-customer-private-rt-assoc"
{
subnet_id
=
"${aws_subnet.example-customer-private-1a.id}"
route_table_id
=
"${aws_route_table.example-customer-private-rt.id}"
}
# elb for ssh
resource
"aws_elb" "ssh-elb"
{
name
=
"terraform-example-elb"
subnets
=
[
"${aws_subnet.public-us-east-1a.id}"
]
security_groups
=
[
"${aws_security_group.allow-all.id}"
]
instances
=
[
"${aws_instance.terraform-test.id}"
]
# availability_zones = ["us-east-1a"]
listener
{
instance_port
=
22
instance_protocol
=
"tcp"
lb_port
=
22
lb_protocol
=
"tcp"
}
health_check
{
healthy_threshold
=
2
unhealthy_threshold
=
2
timeout
=
2
interval
=
5
target
=
"TCP:22"
}
# The range for the idle timeout is from 1 to 3,600 seconds.
# idle_timeout = 60
}
# alb for http and notifications
resource
"aws_alb" "example-customer-alb"
{
name
=
"example-customer-alb"
internal
=
false
subnets
=
[
"${aws_subnet.public-us-east-1a.id}"
,
"${aws_subnet.public-us-east-1b.id}"
]
security_groups
=
[
"${aws_security_group.allow-all.id}"
]
}
resource
"aws_alb_target_group" "test"
{
name
=
"example-customer-web-alb"
port
=
80
protocol
=
"HTTP"
vpc_id
=
"${aws_vpc.private-cluster.id}"
}
resource
"aws_alb_listener" "front_end"
{
load_balancer_arn
=
"${aws_alb.example-customer-alb.id}"
port
=
"80"
protocol
=
"HTTP"
default_action
{
target_group_arn
=
"${aws_alb_target_group.test.id}"
type
=
"forward"
}
}
# attach the test instance to the target group
resource
"aws_alb_target_group_attachment" "test"
{
target_group_arn
=
"${aws_alb_target_group.test.arn}"
target_id
=
"${aws_instance.terraform-test.id}"
port
=
80
}
# s3 route
File Metadata
Details
Attached
Mime Type
text/plain; charset=utf-8
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
701199
Default Alt Text
example_customer.tf (3 KB)
Attached To
Mode
P2064 example_customer.tf
Attached
Detach File
Event Timeline
Log In to Comment