What is it, naokirin?

読書記録:AWSコンテナ設計・構築[本格]入門

すでに普通にAWSでコンテナ運用を行っていますが、しっかりと再度知識をインプットし直す意味も込めて、「AWSコンテナ設計・構築[本格]入門」を読んでみました。

一通りざっと読み終えたので、感想を書いておきます。

ECS(特にFargate)のサーバー設計をした人なら、「これ考えて構築した!」というのが詰まっている

個人的には、「Fargateでサーバー構築するときに悩んだことが網羅されている」というのが印象でした。

構築・運用コストと以降での運用メリットを比較してやらなかったことも書かれていますが、本当に実際に構築しようとするとここを考えることになるんだよなぁ、というところがわかりやすく書かれています。とはいえ、ECSでの設計をやったことがない人でも、スムーズに読めるような構成になっているとは思います。

ログ、メトリクス、セキュリティや可用性などを考慮した設計していく際の考え方(主に3章)、さらにそこからその設計を達成するための各AWSサービスを利用した設定手順(4章、5章)が書かれています。またCI/CDも、もちろんちゃんと書かれています。

ちなみに自分がサーバー構築時に悩んだことの一つとして、ネットワーク構成やロギング周りは本当に色々考えました。
このあたりは丁寧に書かれているので、コンテナイメージを作ったりは必要ですが、基本的な構成であれば、この本の通りに考えて設計・構築するだけでも十分にサーバー構築することができそうです。

単なるアプリケーションサーバーの構築ではなく、現実のプロジェクトの問題に対する内容になっている

また、これまでEC2等で運用していたサーバーをFargateに移行する際に、途中で問題になるのが踏み台サーバーをどうするか、みたいなものは問題になってくると思います。

また、どうしてもメンテナンスをする必要が出てくることもあります。

こうしたことについても記載があるくらい、現実のプロジェクトで発生するような問題を意識した内容になっています。単にECSやFargateについてでなく、現実の問題に対して、ECS、Fargateで構築したサーバーで設計する場合にそれ以外のサービスも含めてどうするか?が書かれています。

まとめ

感想として適当にかいつまんだ情報を書くより「ECSやる!?とりあえずこの本読んで!!」といえる本でした。

ただ、すでに「Kubernetesが前提」といった場合は不向きかもしれません。
タイトルとしては「コンテナ」と銘打っていますが、基本的には、ECS on Fargateがメインです。ECS on EC2も考慮する点や設定は変わりますが、ある程度設計や考慮する点は似てくると思います。ただ、KubernetesになるとEKSが入ってくるのでかなり異なる部分が増えてくるかと思います。その場合は別の書籍やAWSのドキュメントを読んでいくほうが直接的な参考にはなると思います。
もちろん、まだKubernetesでいくと確定していない状態で、ECS on Fargateを選択する場合とのトレードオフを把握しておきたいという人にもお薦めはできます。

AWSで本格的なサーバー構築をしよう、という人はぜひ読んでみることをおススメします!