{"id":20019129,"url":"https://github.com/ekgf/terraform-aws-ekg-vpc","last_synced_at":"2026-03-05T19:32:28.384Z","repository":{"id":217889778,"uuid":"745041270","full_name":"EKGF/terraform-aws-ekg-vpc","owner":"EKGF","description":"Setting up all AWS resources related to VPC supporting an EKG architecture","archived":false,"fork":false,"pushed_at":"2024-01-18T18:01:26.000Z","size":66,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-01T18:45:16.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EKGF.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-18T14:26:07.000Z","updated_at":"2024-01-18T14:39:44.000Z","dependencies_parsed_at":"2024-01-18T17:58:27.931Z","dependency_job_id":"ba8e413b-66a1-4f3d-8bf6-5ae160b2b1dc","html_url":"https://github.com/EKGF/terraform-aws-ekg-vpc","commit_stats":null,"previous_names":["ekgf/terraform-aws-ekg-vpc"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fterraform-aws-ekg-vpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fterraform-aws-ekg-vpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fterraform-aws-ekg-vpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EKGF%2Fterraform-aws-ekg-vpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EKGF","download_url":"https://codeload.github.com/EKGF/terraform-aws-ekg-vpc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241453189,"owners_count":19965148,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T08:26:02.515Z","updated_at":"2026-03-05T19:32:27.435Z","avatar_url":"https://github.com/EKGF.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform AWS EKG VPC\n\nMost of this Terraform module has been copied from https://github.com/TheBellman/module-vpc and tweaked\nto suit the needs of an EKG deployment.\n\nThis is an opinionated but very bare bones Terraform module to create a VPC which is based on the\nsample architecture defined at https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html\n\nSpecifically, what is built is roughly as below\n\n![sketch](./sketch.png)\n\nA \"public\" and \"private\" subnet is created in each availability zone in the target region.\n\nThe \"public\" subnet has 80 and 443 open to everywhere, and SSH open to a nominated list of CIDR blocks. 80 and 443 is also allowed out to everywhere.\n\nThe \"private\" subnet allows 80 and 443 in from the \"public\" subnet, and 80/443 out to everywhere.\n\nNote that the routing configured means that instances in the \"public\" subnet route directly through the internet gateweay, and if they have public IP addresses can be reached from the public internet. Instances in the \"private\" subnet route through the NAT gateway, and can reach the public internet, but no external source of traffic can initiate a connection.\n\nTypical use cases would be to mount a load balancer or web service in the \"public\" subnet, and controlled data resources in the \"private\" subnet.\n\nNote that this code also sets up sample Security Groups for private and public instances to make it easier to manage the intended design - see the example code for more details.\n\n## Prerequisites\nThis module does make use of Terraform version constraints (see `versions.tf`) but can be summarised as:\n\n - Terraform 1.5.0 or above\n - Terraform AWS provider 5.4.0 or above\n\nThe example code broadly assumes AWS CLI 2.11.17 or better is available.\n\n## Usage\nSee the `example` directory for more detailed information, however this is intended to be very simple to use, for example:\n\n```\nmodule test_vpc {\n  source      = \"github.com/TheBellman/module-vpc\"\n\n  tags        = { Owner = \"Robert\", Client = \"Little Dog Digital\", Project = \"VPC Module Test\" }\n  vpc_cidr    = \"172.21.0.0/16\"\n  vpc_name    = \"test\"\n  ssh_inbound = [\"89.36.68.26/32\", \"18.202.216.48/29\", \"3.8.37.24/29\", \"35.180.112.80/29\"]\n}\n```\n\n| Variable | Comment |\n| :------- | :------ |\n| tags | a map of strings to use as the common set of tags for all generated assets |\n| vpc_cidr | the CIDR block for the VPC. The subnets are created by dividing this into 2 * number of AZ, and it is recommended that a /16 block be used |\n| vpc_name | a name for the VPC that is used as a prefix on asset names and tags |\n| ssh_inbound | a list of CIDR blocks which are permitted to SSH into public instances |\n\n### Tags\nA note on the tags you can provide - if your provider is configured to provide default tags (see the example), then the module will also \"see\" those tags. In other words, use this parameter for additional tags.\n\n## License\nCopyright 2022 Little Dog Digital\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n  http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekgf%2Fterraform-aws-ekg-vpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekgf%2Fterraform-aws-ekg-vpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekgf%2Fterraform-aws-ekg-vpc/lists"}