facet-acq / post-award

Application Service Supporting Entitlement and Administration of Government Procurement Actions
BSD 3-Clause "New" or "Revised" License
5 stars 3 forks source link

Infrastructure Updates #43

Closed djfurman closed 6 years ago

djfurman commented 6 years ago

Pull Request

VPC Terraforming

Project Dependencies

Purpose

As a full stack engineer, In order to test the application under real-world dependencies and circumstances, it becomes necessary to have a repeatable infrastructure defined in code which can be used to spin up environments on demand, run necessary testing, then tear it down.

Implementing what has become my personal best practices, the infrastructure is codified in Hashicorp Terraform (HCL).

Approach

Since I do not see a reason to tie the implementation at this stage to a NAT gateway (though I equally can't think of a reason that using a NAT instance would make sense in normal circumstances), I've added security group setup and rules that support this infrastructure.

Lessons Learned

In attempting to test the VPC setup with a NAT instances, I found building it on the fly to be cumbersome and require new rules. Since this was an inconvenience and not an enjoyable task, the infrastructure configuration was implemented in HCL using Terraform.