FactorFifty - AWS VPC Module Documentation
Introduction
The AWS VPC module in FactorFifty builds a VPC following best practices. This module can optionally deploy NAT Gateways and integrate Transit Gateway (TGW) for multi-environment setups. The VPC module is always the first step in setting up your environment in FactorFifty, ensuring that your network foundation is correctly deployed before adding other resources like EC2 instances or databases.
1. Getting Started
When you begin creating your environment, the first step is to configure your VPC. This is where you'll define the network structure and connectivity for your environment.
1.1 Navigate to the VPC Configuration Screen
- After selecting the Project and Environment, you'll land on the Diagram tab. Click Edit diagram to start configuring your VPC.
- You will be prompted with a configuration panel for the VPC settings, where you can define essential parameters like the VPC CIDR Block, Availability Zones, and more.
2. Configuring Your VPC
The VPC configuration panel allows you to set up the most critical networking parameters for your AWS infrastructure.
2.1 Key Configuration Fields
| Field | Description | Type | Default Value | Mandatory | Dependencies/Conditions |
|---|---|---|---|---|---|
| VPC Name | A unique name for this VPC in AWS and as the identifier in the diagram. | Input | - | Yes | - |
| VPC CIDR Block | The CIDR block range (e.g., 10.0.0.0/16) for the VPC network. | Input | - | Yes | - |
| Availability Zones | List of Availability Zones (AZs) to deploy resources. | Checkbox Group | $projectAvailability_zones | Yes | - |
| NAT Gateway Subnet CIDR Blocks | CIDR blocks to assign to NAT Gateway subnets, should match subnets. | Input List | - | Yes | - |
| Additional CIDR Blocks | Extra CIDR blocks to add for additional IP address space. | Input List | [] | No | - |
| Hub VPC | Set to true for a hub VPC in a hub-and-spoke architecture. | Toggle (Boolean) | false | No | - |
| Standalone VPC | Set to true for a standalone VPC. | Toggle (Boolean) | true | Yes | - |
| Enable DNS Hostnames | Allow DNS hostnames for instances in the VPC. | Toggle (Boolean) | true | No | - |
| Enable DNS Support | Enable DNS resolution support within the VPC. | Toggle (Boolean) | true | No | - |
| Flow Logs Enabled | Enable VPC flow logs for network traffic monitoring. | Toggle (Boolean) | false | No | - |
2.2 Example of How the Configuration Looks
- VPC Name:
vpc-my-environment - VPC CIDR Block:
10.0.0.0/16 - Availability Zones:
eu-west-1a,eu-west-1b - NAT Gateway Subnet CIDR Blocks:
10.0.0.0/24,10.0.1.0/24 - Additional CIDR Blocks:
["10.1.0.0/16"] - Standalone VPC:
true - Flow Logs Enabled:
true - Flow Logs Bucket:
vpc-logs-bucket
3. Finalizing and Deploying
Once your VPC configuration is complete:
- Review your settings in the Diagram view to confirm your VPC settings are correct.
- Click Create to deploy the VPC and other networking resources in your AWS account.
4. Troubleshooting
If you encounter any issues, here are some troubleshooting tips:
- VPC Not Deploying:
- Ensure all mandatory fields (e.g., VPC CIDR Block, Availability Zones) are filled in.
- Flow Logs Not Saving:
- Verify that the Flow Logs Bucket field is correctly filled if flow logs are enabled.
- NAT Gateway Issues:
- Ensure the NAT Gateway Subnet CIDR Blocks match the number of NAT Gateways being provisioned.
5. Conclusion
By following these steps, you can easily configure and deploy an AWS VPC using FactorFifty. This VPC will serve as the foundation for further resource deployment, like EC2 instances and databases. For additional support, please reach out to our team.