AWS Peering Error

Cant understand why this fails, specifically. Can someone give me some insight on this peering resource command fails ? when removed the .tf validates properly.

terraform --version
Terraform v0.12.29

  • provider.aws v3.15.0

resource “aws_vpc_peering_connection_accepter” “accept_peering” {
provider = aws.region_worker
aws_vpc_peering_connection_id = aws_vpc_peering_connection.useast1-uswest2.id
auto_accept = true
}

Variable.tf File

provider “aws” {
profile = var.profile
region = var.region-master
alias = “region-master”
version = “>=0.12.0”
}

provider “aws” {
profile = var.profile
region = var.region-worker
alias = “region-worker”
version = “>=0.12.0”
}

Does useast1 need to be us-east-1 with that provider?

Initiate Peering connection request from us-east-1

resource “aws_vpc_peering_connection” “useast1-uswest2” {
peer_owner_id = data.aws_caller_identity.current.account_id
provider = aws.region-master
peer_vpc_id = aws_vpc.vpc_master_oregon.id
vpc_id = aws_vpc.vpc_master.id
peer_region = var.region-worker
}

“useast1-uswest2” is the label for the connection

Ok, good. Without seeing networking… hard to tell. Can you provide any other details? Seems TF is working as expected.

image

image

image

Very confusing and frustrating., let me share the state.

Maybe you could look into breaking up the provider from being in or out of the module?

Some good examples of what not to do and apparently what works… I have done this with breaking it like in this post. Hope this helps!

thanks so much for taking a look at this, ill review and update you with my findings.

Ran a Debug on the terraform validate

2020/11/15 11:52:01 [TRACE] (graphTransformerMulti) Executing graph transform *terraform.ProviderTransformer

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_vpc_peering_connection_accepter.accept_peering is provided by provider.aws.region_worker or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_vpc.vpc_master is provided by provider.aws.region-master or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_internet_gateway.igw-oregon is provided by provider.aws.region-worker or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_subnet.subnet_2 is provided by provider.aws.region-master or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_route_table.internet_route is provided by provider.aws.region-master or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_main_route_table_association.set-master-default-rt-assoc is provided by provider.aws.region-master or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_subnet.subnet_1_oregon is provided by provider.aws.region-worker or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_vpc_peering_connection.useast1-uswest2 is provided by provider.aws.region-master or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_main_route_table_association.set-worker-default-rt-assoc is provided by provider.aws.region-worker or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: data.aws_availability_zones.azs is provided by provider.aws.region-master or inherited equival

it doesnt see the valid aws peering in the provider region as valid even though it is.
2020/11/15 11:52:01 [TRACE] ProviderTransformer: aws_route_table.internet_route_oregon is provided by provider.aws.region-worker or inherited equivalent

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-worker serving aws_internet_gateway.igw-oregon

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_internet_gateway.igw-oregon” (*terraform.NodeValidatableResource) needs provider.aws.region-worker

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-master serving aws_subnet.subnet_1

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_subnet.subnet_1” (*terraform.NodeValidatableResource) needs provider.aws.region-master

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-master serving aws_vpc.vpc_master

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_vpc.vpc_master” (*terraform.NodeValidatableResource) needs provider.aws.region-master

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-worker serving aws_subnet.subnet_1_oregon

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_subnet.subnet_1_oregon” (*terraform.NodeValidatableResource) needs provider.aws.region-worker

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-master serving aws_vpc_peering_connection.useast1-uswest2

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_vpc_peering_connection.useast1-uswest2” (*terraform.NodeValidatableResource) needs provider.aws.region-master

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-master serving data.aws_availability_zones.azs

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “data.aws_availability_zones.azs” (*terraform.NodeValidatableResource) needs provider.aws.region-master

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws serving data.aws_caller_identity.current

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “data.aws_caller_identity.current” (*terraform.NodeValidatableResource) needs provider.aws

2020/11/15 11:52:01 [TRACE] ProviderTransformer: exact match for provider.aws.region-worker serving aws_vpc.vpc_master_oregon

2020/11/15 11:52:01 [DEBUG] ProviderTransformer: “aws_vpc.vpc_master_oregon” (*terraform.NodeValidatableResource) needs provider.aws.region-worker

cat providers.tf
provider “aws” {
profile = var.profile
region = var.region-master
alias = “region-master”
}

provider “aws” {
profile = var.profile
region = var.region-worker
alias = “region-worker”
}

now i’ll try to break apart as you previously stated.

1 Like

Cool! Let me know if that works if it does not I would assume it may be an AWS peering error.