So i’m after advice or help with the ‘ignore feature’ on managing aws route rules.
current situation and design
So currently i have two git repositories which which basically each contain:
- vpc igw
- dhcp option set
- subnets etc one per zone.
- route-table, one per subnet
- routes for the route-tables, we have one route-table per subnet
- vpc peering
- a bunch of ec2 instances
In this example i will refer as each git repository as Stack A and Stack B and each has its own remote terraform s3 state file, they are not shared.
So when i run/deploy Stack A, it creates the vpc and all underlining infrastructure into a workable state
Then i run Stack B which does the same and also creates a vpc peering link and routes to link Stack B vpc with Stack A vpc.
I use variables for the route-table id from Stack A in Stack B terraform run to automatically create the vpc peering PCX route in the Stack A route-table.
Now if i re-run Stack A it will delete the pvc peering route as it wants to enforce state which is the problem i’m facing.
This means that other than creating the infrastructure from scratch, i cant use terraform to roll out future changes in Stack A and this is a simplified example but our environments are actually 10 separate stacks and we have multiple environments.
I have used the ignore feature before to ignore ec2 tags such as billing labels but i dont know how to correct use it on child resources by this i mean.
- parent resources: aws route-table table
- child resources: routes for the route-table
Any help would go a long way and if you need more information then please ask.
Thanks in advance.