Having designed network segmentation for multiple ERP deployments under various compliance frameworks, here’s a comprehensive approach that balances granularity, auditability, and layered security:
Segmentation Strategy:
Use a layered approach where subnet design aligns with compliance boundaries, not microservice boundaries:
-
Subnet-Level Isolation (NACLs):
-
Create separate subnets for each compliance zone:
- PCI subnet for payment processing services
- PHI subnet for health data services
- Financial subnet for general ERP data
- Management subnet for ops/monitoring tools
-
NACLs provide the compliance-visible network boundary. Auditors can easily verify that PCI data cannot flow to non-PCI subnets at the network layer.
-
Keep NACL rules simple and broad:
- Allow traffic between subnets that need to communicate (e.g., Financial → PCI for payment initiation)
- Deny all other inter-subnet traffic by default
- Allow ephemeral ports (32768-65535) for return traffic
- Use explicit deny rules for known-bad sources
-
Instance-Level Control (Security Groups):
-
Security Groups handle the detailed, stateful access control:
- Define groups by service function (payment-processor-sg, invoice-service-sg, etc.)
- Use source security groups in rules (allow payment-processor-sg to access database-sg on port 5432)
- This provides granular, manageable control without maintaining IP lists
-
Security Groups are where your operational agility lives. You can modify these frequently as services evolve without touching subnet-level NACLs.
Granularity Considerations:
Don’t over-segment at the subnet level. Each compliance zone gets its own subnet(s), but multiple microservices within the same compliance tier can share a subnet. Use Security Groups to control inter-service communication within the subnet.
Example architecture for your 15 microservices:
- PCI Subnet: 3 payment-related microservices (controlled by separate Security Groups)
- PHI Subnet: 2 health data services
- Financial Subnet: 8 general ERP services
- Management Subnet: 2 ops/monitoring services
This gives you 4 sets of NACLs to manage instead of 15, while maintaining fine-grained control via Security Groups.
Auditability Benefits:
Auditors appreciate the layered approach because:
- NACLs provide visible, subnet-level network segmentation that maps to compliance requirements
- Security Groups provide detailed access logs and change tracking
- The combination demonstrates defense-in-depth
For PCI DSS specifically, requirement 1.2.1 calls for restricting inbound/outbound traffic to that which is necessary. Both Security Groups and NACLs contribute to this requirement, but at different layers.
Operational Overhead Management:
The key to manageable layered security:
- Standardize NACL templates for each compliance zone - rarely changed
- Automate Security Group management via Infrastructure as Code (Terraform, CloudFormation)
- Use Security Group referencing instead of IP addresses - reduces brittleness
- Implement tagging strategy to track which resources belong to which compliance zone
- Centralize logging - VPC Flow Logs capture both NACL and Security Group decisions
Practical Implementation:
Start with Security Groups only, then add NACLs as a compliance layer. This prevents over-engineering early while ensuring you can add subnet isolation when auditors require it. Many organizations run successfully on Security Groups alone for months before compliance audits drive NACL implementation.
The reality: Auditors will accept Security Groups alone if you can demonstrate effective isolation and have comprehensive logging. However, the layered approach with NACLs makes audits smoother because it provides the “network segmentation” evidence they’re looking for in a format they understand (subnet boundaries).
For your ERP microservices, I recommend the layered approach from the start. The operational overhead is manageable if you keep NACLs simple and aligned with compliance zones, not microservice boundaries. This architecture scales better as you add services and satisfies both operational needs (Security Groups) and compliance requirements (NACLs).