Thanks for posting your query on Microsoft Q&A.
Q: Why does a scaleset in Azure needs a nic and IP Address?
It is a valid question. In general, Azure scale set virtual machines do not require their own public IP addresses. For most scenarios, it is more economical and secure to associate a public IP address to a load balancer or to an individual virtual machine (also known as a jumpbox), which then routes incoming connections to scale set virtual machines as needed (for example, through inbound NAT rules).
However, some scenarios do require scale set virtual machines to have their own public IP addresses. An example is gaming, where a console needs to make a direct connection to a cloud virtual machine, which is doing game physics processing. Another example is where virtual machines need to make external connections to one another across regions in a distributed database.
Q: I am trying to understand what the meaning of a NIC assignment in a scaleset is. Is it so that the traffic addressed to all VMs can be sent to the ScaleSet NIC?
Each instance in a Scale Set will have its own NIC and its own IP Configuration. They do not share an NIC. Scale Sets instances are similar to VMs at the instance level. Every NIC attached to a VM in a scale set can have one or more IP configurations associated with it. Each configuration is assigned one private IP address. Each configuration may also have one public IP address resource associated with it.
The ability to define more than one IP address and NIC for a virtual machine is particularly useful for applications like Web Application Firewalls, which need to manage multiple networks and can optimize resources by being able to easily scale out VMs.
This document covers in details all the networking aspects of Virtual machine scale sets: https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-networking#multiple-ip-addresses-per-nic
Hope that helps. Let me know in the comments if you have any questions.
----------
If this answers your query, do click “Accept the answer” and Up-Vote for the same, which might be beneficial to other community members reading this thread. And, if you have any further query do let me know in the comments.