How do you make Varnish cache update when Drupal content changes?
There are many ways to achieve this. A very common way is by using the Expire module (https://www.drupal.org/project/expire).

It can easily be configure to clear specific pages, or sets of pages from varnish when they are changed. It has been well documented and is up to date, a great module and does exactly what you require.