- To manage network access control lists
- To provide internet access to instances in public subnets
- To encrypt data in transit
- To monitor API calls