以前は動いていたVarnishを久しぶりに再起動したところ、起動しなくなってしまいました。

ログを確認してみたところ、ログには原因らしいエラーが出力されていなかったので、下記のように直接コマンドラインでVarnishを起動してみると、バックエンドホストの名前解決ができなくなっていたのが原因でした。

# varnishd -f /etc/varnish/default.vcl
Message from VCC-compiler:
Backend host '"xxx.xxx.xxx"' could not be resolved to an IP address:
Name or service not known
(Sorry if that error message is gibberish.)
(input Line 68 Pos 13)
.host = "xxx.xxx.xxx";
------------##############################-

In backend specification starting at:
(input Line 67 Pos 1)
backend xxx_xxx {
#######---------------------
Running VCC-compiler failed, exit 1
VCL compilation failed

実際にDNSのレコードを確認してみると、バックエンドホストとして指定していたDNS名が存在していませんでした。

このことより、Varnishを久しぶりに再起動して起動がうまくいかない場合は、バックエンドの名前解決が原因かもしれません。

やはり原因究明には、Varnishを直接コマンドラインで起動してエラーを確認するのが良いです。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら