1. Internal IP
    1. Every VM needs an internal IP to communicate
    2. Assigned from DHCP Pool
    3. VMs in same network can communicate via private IPs
    4. Ephemeral IP remains assigned when stopped
    5. Static IP can be assigned from subnet range
    6. DNS format is instance.c.projectid.internal
  2. External IP
    1. VPC instances can have a public IP address
    2. VMs communicate across networks via public IPs
    3. VMs without public IPs are accessible within a network
    4. Ephemeral
      1. Assigned when resources is created/running
      2. Released when resource stoppped/deleted
    5. Static
      1. Preserved when VM is stopped
      2. Bound to a region
      3. Billed when not attached to a VM
    6. DNS
      1. No default public DNS, use Cloud DNS
      2. External IP is mapped to internal IP
  3. NICs
    1. VMs have 1 internal and 1 external IP per VPC
    2. VMs can have multiple NICs (one per VPC)
    3. 1 internal and external IP can be allocated to each NIC
    4. Use Cases
      1. Network appliances
      2. Traffic separation
    5. Limitations
      1. Setup at instance creation
      2. 1 NIC per network
      3. No overlapping subnet ranges
      4. NIC cannot be deleted
      5. Up to 8 in total
        1. <=2 cpu = 2 NICs
        2. > 2 CPUs = 1 NIC per CPU (up to 8)