Now, I am not proclaiming that anyone should use Varnish on a t1.micro for anything more than experimentation. These instances are plagued by high CPU-steal, poor I/O, with little RAM. To get Varnish running without constant child reaping, I needed to tune a few parameters.
To ensure the master varnishd does not reap the child to quickly, try to change the timeout for a child ping response:
Do not use the malloc allocator, since there is so little ram, unless you set the varnish cache size to something useless like 10M, it’ll probably trigger the oom-killer. Instead, I recommend using the {file} allocator. I had trouble using the allocator with less than 1G of cache space, which I presume has something to do with the way they are using mmap.
Lastly, make sure you have some swap space allocated (I allocate 4gb). By default, the t1.micro instances do not have any swap space, so your choices are to mount an additional EBS volume (preferred) or initialize a swapfile on the root filesystem. The t1.micro instances do not have any ephemeral disks available.