midnight in a perfect world

webエンジニアのメモ

「nginx 実践ガイド」を読む。

2017年発行ということで技術の移り変わりの激しいweb業界なので今読んでどれほど価値があるか定かではないが、なんとなくでnginxを運用している自分くらいのレベルであれば今読んでも全然タメになった。時期的にはApatchからnginxへの移行が進んでいた頃なのか、Apatchとの比較を意識した記述が多かった。

本書自体は機能自体の紹介だけでなく、セキュリティだったり性能向上やモジュールの管理方法、メンテナンス時のプラクティスなど実践的な知識の紹介もコマンド付きであるので業務で困っている人にも十分に使える内容となっている。

今のnginxとの関わりとしては、主にシステムをメンテナンスするための内向きのサービスをLBとして運用するために使っているという状況。metabaseとかkibanaとかコンテナデプロイツールとか。たまにメンテナンスのために設定ファイルを変更して再起動する、みたいなことはあるけどあまり中身を分からずに使っているのでそろそろ解像度上げたいなと思って読んでみたのが本書。

なんとなくの理解度でも運用できている、というのがnginxの良さなのかな、とは思った。設定ファイルがシンプルというのは本書でも何度か登場するフレーズだが、細かいことは分からなくてもなんとなく設定ファイルを読めばある程度意図が伝わるという。あまり突飛な使い方をしていないということもあるけど。

ただ、やはり中身を知らないと複雑な運用をしている時に混乱すると思うが、本書を読んである程度どのような設定が出来るのかというのが整理できた。エンジニアの先輩が通信量を削減するためのチューニング時にgzipを有効にしたりminifyを検討していたりとか、レスポンスを削減するために余計なURLに対して返さないように工夫していたりといった努力の意味が少し分かって、読んでいてなるほどと思った。

とりあえず頭だけでなく感覚的なレベルで馴染むようにしておきたいのが、実際に現場で利用しているAWSのALBやAPI gatewayとnginxとアクセス先のコンテナサービス間でのパケットの受け渡し方とか証明書の登録方法。たまに4xxエラーとか5xxエラーが起きた時の調査をする時があるけど、一度図式化するというか整理しないと問題の切り分けが出来ない。トラブル時の先輩方の瞬発力に驚かされるが、構成を頭に馴染ませておきたいというのが今後の課題。