Please check branches, each branch has terraform code for different scenarios. Read the readme file in each branch to understand what is it doing.