Virtual Private Cloud (VPC)
VPC provides network solutions to AWS resources.
A Virtual Private Cloud (VPC) represents a traditional network, but on the cloud.
Public Oath
Fluid Attacks will look for a cloud network architecture that properly balances security, simplicity, and accessibility.
Architecture

vpc
owns the network configuration for AWS.- It is managed as code using Terraform.
- There is a single VPC for the entire company called
fluid-vpc
. - It has subnets for:
- common: Default resources like the ERP
- batch_clone: allows VPN connection with the client network
- batch_main: Batch jobs
- ci: GitLab CI
- k8s: Kubernetes Cluster
- lambda: integrates lambdas
- All components, except batch_main, have subnets in multiple availability zones in order to grant higher redundancy and broader access to spot instances.
- It has an Internet Gateway that allows resources in public subnets to reach the Internet.
- It has NAT gateways that allow resources in private subnets to reach the Internet.
- It uses Flow Logs to send network logs to CloudWatch.
- All resources in subnets trying to reach DynamoDB, KMS and S3 use a dedicated VPC Endpoint to establish a private connection inside fluid-vpc.
- It has seven groups:
- CloudFlare: allows income traffic from the CloudFlare IP addresses.
- compute: allows outbound traffic to the internet using any port by TCP protocol and Cloudflare WARP service.
- ci: allows outbound traffic to ci-docker-machine.
- ci-docker-machine: allows income traffic from ci and outbound traffic to the internet.
- ci-terminate: allows outbound traffic to resources in VPC.
- k8s: allows traffic inside the Kubernetes cluster and traffic on the internet.
- lambda: allows outbound traffic to resources in the VPC and the internet.
- It has a VPN Gateway to allow a Site-to-Site VPN connection with the client network.
Tip
Have an idea to simplify our architecture or noticed docs that could use some love? Don't hesitate to
open an issue or submit improvements.