「Amazon Web Services 基礎からのネットワーク&サーバー構築」を読んだ

世の流れ的にもDevOpsとかいってアプリケーションエンジニアとインフラエンジニアの見るべき範囲が曖昧になっている中で、個人的にインフラの知識が無さすぎてインフラ周りを見る力がないので 連休使って勉強する事にした。インフラ得意な同僚のオペレーションが理解出来ないみたいな事も死ぬほど悔しいのでそういう意味も込めてるのもある。

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版 玉川憲 https://www.amazon.co.jp/dp/4822237443/ref=cm_sw_r_tw_dp_U_x_dfJHDbT4XNSD6

この本が良いよと聞いてたので、金曜日に買って土曜日1日使ってて動かしながらAWSでサーバーを構築できた。 控えめにいっても本当に良い本だったので、「インフラ初心者、アプリケーションエンジニアだけどもっとインフラの事知りたい」みたいな人に心からオススメしたい。 逆にインフラエンジニアとして普段AWSを触って一年くらいたったみたいな人には物足りなさがあるので、もっとIntermediateな本を読む方がいいかもしれないです。

何がそんなにいいのか?

普段、ざっくり理解してる事をAWSを通じて、きちんと理解できる。 例えば、

  • TCP/IP
  • HTTP
  • VPC
  • サブネット
  • セキュリティグループ
  • CIDR
  • DNS

とか。普段、インフラエンジニアが既に構築したものにコードを乗せてるし、SSHに使ってるパブリックDNSなんかも開発環境のセットアップで自動で.confに設定しといてくれるのであまり意識して考えた事なかったので自分でポチポチ構築してみると「なるほどな」と思うところがたくさんあった。一番収穫だったのは、「なんかSSHできない」とか「なんかプロキシに繋がらない」とかの時に確認すべき場所が分かりそうだなと思えた事でした。

この本を通して、構築したのが以下の構成のブログシステムとなった。 VPCにプライベート、パブリックのサブネットを引いて、パブリックにEC2にApacheをインストールしたWebサーバー。プライベートにEC2にMySQLをインストールしたDBサーバーを構築した。プライベートサブネットからはNATゲートウェイを使ってインターネットへ疎通を取るようにして、DBが外から直接攻撃できないようになっている。

f:id:keisuke_t:20190922135335p:plain

図めっちゃ下手だけど、このサイト使ってこういうの書けたのも面白かった。

www.draw.io

次はもうちょい本番よりの構成を試してみたい。後は、ポチポチ辞めてCLIからとかコードで管理するとか。 次の本も買ったので、積まないで読むぞ 素晴らしい本を書いてくださった関係者の皆さんに大感謝です。