Skip to content

Instantly share code, notes, and snippets.

@charity
Created April 14, 2016 01:21
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save charity/7858eb05dffb47043e8310087ac4dfa7 to your computer and use it in GitHub Desktop.
Save charity/7858eb05dffb47043e8310087ac4dfa7 to your computer and use it in GitHub Desktop.
# snippet from terraform/env-dev/peering.tf
# import staging state, add routes from dev to staging
resource "terraform_remote_state" "staging_state" {
backend = "s3"
config {
bucket = "${var.tf_s3_bucket}"
region = "${var.region}"
key = "${var.staging_state_file}"
}
}
resource "aws_vpc_peering_connection" "its_probably_fine" {
peer_owner_id = "${var.acct_number}"
peer_vpc_id = "${terraform_remote_state.staging_state.output.staging_vpc_id}"
vpc_id = "${module.dev_vpc.vpc_id}"
auto_accept = "true"
tags {
Authored-by = "Ben Hartshorne"
Idea = "bad"
But = "ohwell"
XXX = "what's the worst that can happen?"
Environment = "development"
Name = "dev_to_staging_peering"
}
}
# route to public subnets
resource "aws_route" "dev_to_staging_route" {
route_table_id = "${module.dev_vpc.public_route_table_id}"
destination_cidr_block = "${terraform_remote_state.staging_state.output.staging_cidr_block}"
vpc_peering_connection_id = "${aws_vpc_peering_connection.its_probably_fine.id}"
}
# route *from* dev private subnets to staging
resource "aws_route" "dev_to_staging_int_route" {
count = "${length(split(",", var.private_ranges))}"
route_table_id = "${element(split(",", module.dev_vpc.private_route_table_id), count.index)}"
destination_cidr_block = "${terraform_remote_state.staging_state.output.staging_cidr_block}"
vpc_peering_connection_id = "${aws_vpc_peering_connection.its_probably_fine.id}"
}
@mnothic
Copy link

mnothic commented Apr 25, 2017

Sorry for ask but, how you implement the route tables in your vpc?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment