Fastlyを使い始めるにあたり、VarnishやFastly固有のVCLの設定などを調査する必要がありいくつかのブログやドキュメントに目を通したので自分のためにもメモとして残しておきます。

参考資料

CDNとの付き合い方

http://blog.xcir.net/?p=2575

そもそも何でCDNって何なのかといった素朴な疑問であったり、どのようなコンテンツをキャッシュすべきか、CDNを使う上でのリスクなど、CDNを使う上での注意や思想が書かれています。
CDNを初めて触る場合などに読んでみると良いかもしれません。

Fastly - 入門

https://docs.fastly.com/ja/guides/getting-started#_basics

Fastlyの入門者向けリファレンスです。

Varnish の設定ファイルである VCL はどういうものか(1)~(5)

Fastly自体がマネージドVarnishと言っても過言でない実装になっており、実際に細かな動作を調整する事になるとVarnishに対する深い知識が必要となります。
そのためVarnishの設定ファイルを記述するための言語仕様であるVCLとその振る舞いを学習する必要があります。

https://reboot.makeall.net/2013/02/14/what-vcl-on-varnish-01/ https://reboot.makeall.net/2013/02/14/what-vcl-on-varnish-02/ https://reboot.makeall.net/2013/02/15/what-vcl-on-varnish-03/ https://reboot.makeall.net/2013/02/18/what-vcl-on-varnish-04/ https://reboot.makeall.net/2013/02/19/what-vcl-on-varnish-05/

上記の記事ではVCLに関して丁寧に説明されているのでとても参考になりました。

Fastly Varnish

https://www.integralist.co.uk/posts/fastly-varnish/

英語記事となりますが、Fastlyの振る舞いに関してとてもまとまっていてわかりやすい記事でした。
特にFastlyの内部状態の遷移に関する図が明記してあり、とてもわかりやすく参考になりました。

Fastly Request Flow Diagram

Fastly - Fastly VCL reference

https://docs.fastly.com/vcl/

Fastly VCLの公式リファレンスです。

Fastly - Fastly VCL とカスタム VCL の混在とマッチング

https://docs.fastly.com/ja/vcl/custom-vcl/creating-custom-vcl/

FastlyではVCLを使った振る舞いを独自で記述する場合には、カスタムVCLという機能を使います。
上記のドキュメントにはFastly VCLとカスタムVCLを混在させる場合の注意が書かれています。


Fastlyを使う際の個人的な所管

Fastlyを使っていて気になった事としては、GUIベースの設定しか確認せずにFastlyの設定を行なっていると、デフォルトのボイラプレートとなっているカスタムVCLと意図しない形でマージされてしまう事がありました。 意図しない設定を行なってしまわないよう、なるべくVCL全体をレビューできる形で管理を行う必要があると感じました。

Fastlyでは設定内容を全てVCL形式で確認できるViewがありますし、そのほかにもTerraformのFastly Providerも存在するようなのでGit上でマスターとなるVCLを管理し、構成管理ツールを使って設定をリリースする事も可能だと思います。


まとめ

Fastlyを利用するにあたり個人的に参考になった資料をまとめました。誰かのお役に立てば幸いです。