Assume we build an application that has internal components (or microservices) on GCP (or AWS, Azure...).
I guess there are 2 main security options:
- use VPC to protect internal communications.
- use service account-based authentication and encryption between each internal components.
Of course, we still could apply VPC to "2" but I'm wondering if that is overkill.
Is #1 more secure than #2?
Or when should we choose VPC from a security perspective except that is the only option specified by clients?