ネットワークエンジニアの頃に読んだ書籍やドキュメント類を備忘録として抜粋して書いておきます。大手SIerの案件にいた頃の話なので、いわゆるWebの会社で開発をしている人には不向きな書籍も含まれているので注意。
前提
当時のITリテラシーを記載します。「人よりはパソコンによく触れているオタク」レベルでした。
- 法学部法律学科卒、コンピューターサイエンスの専門教育を受けていない文系
- 司法試験ドロップアウト、無職、27歳
- 「プライベートIPアドレスやデフォルトゲートウェイなる言葉は何となく分かる」ぐらいの認識で自宅のルーターを触っていた
- UbuntuはPCを自作したときなどに触れてはいたので、LinuxやCLIに抵抗感はなかった
- プライベートの作業効率化でWindowsのバッチファイルを書くことはあった
TL;DR
- 少し古く、おすすめできない本も含まれている
- 当時触れたもののなかで、いまインフラ初心者なら読むであろうものを予め挙げておきます
ネットワークエンジニア以前
ネットワーク超入門講座(著: 三上信男)
「お前のような就職経験がないアラサーは少しでも勉強しているポーズを見せないと就職できない」と初めての就職を支援するエージェントに脅され、ビビリながらAmazonでよく売れているこれをまず読みました。 薄く、文字サイズも大きく、図表・画像などが多く本格的な学習を始めるにあたって助走をつける意味では読んで良かったように思う。
入社後、研修中
入社後1ヶ月でCCNAを取得しなければ現場に出られないという客先常駐ITお決まりのやつに出会ってしまったので、会社の指示に従って資格取得のために以下を読みました。
ネットワークの基礎的な知識
3 Minutes Networking
有名なWebサイト。OSI参照モデルを下から上まで、重要なプロトコルについても対話方式で説明してくれています。書籍版もあります。紹介されている知識について「こんなのあるんだ」ぐらいの理解が得られたら、より詳細に記述された書籍を読めるようになっていると思います。
マスタリングTCP/IP 入門編(第6版)(オーム社)
CCNAの書籍(後述)のように実機の操作については触れられないため、ネットワークについて知りたいソフトウェア開発者にもオススメできる内容だと思います。
Linuxの理解
標準教科書シリーズ(LPI-Japan)
LPI-Japanが公開している無償のPDF/EPUBファイル。いまは亡きCentOS7をベースに解説してあるので少し内容が古いが、入門者が無償で学べるという意味で有用。基本的なLinuxの扱い方から解説されているので、全くLinuxに触れたことがないレベルの人から読める内容。
DNSの理解
客先でBIND実装の自前DNSサーバーを使っているとの話だったため、客先に行く前に以下のネット上のPDFを読みました。
月刊NetworkWorld連載『DNSの仕組み完全解説』(公開停止)
個人的な思い出もあり、おすすめ。駆け出しの私のバイブルでした。月刊NetworkWorld連載を著者の個人ページで公開していただいているものですが、現在はページを閉じてしまったようで残念です。本当にお世話になりました。
DNSの基礎的な理解からBINDのゾーン転送周りのトラブルシューティングでハマったときまで、困ったときに立ち返る場所がここでした。
【参考】 CCNA取得のために読んだ書籍
CCNA取得のため以下を主に参照していた。これはCisco機器の扱い方も含まれるので、Webアプリケーション開発者がネットワークの基礎を学ぶという意味では過剰。
ネットワーク系の現場で特にCiscoの機器を扱う場合はこれらの書籍に載っているレベルの知識はないとつらいと思います。
- 徹底攻略 Cisco CCENT/CCNA Routing & Switching教科書 ICND1編[100-105J][200-125J]V3.0対応 (インプレス)
- 徹底攻略 Cisco CCNA Routing&Switching教科書 ICND2編[200-105J][200-125J]V3.0対応
- 徹底攻略 Cisco CCENT/CCNA Routing&Switching問題集 ICND1編[100-105J][200-125J]V3.0対応
- 徹底攻略 Cisco CCNA Routing&Switching問題集 ICND2編[200-105J][200-125J]V3.0対応
現場に入ってから
インフラ全般
佐野裕『インフラエンジニアの教科書』(C&R研究所)
おすすめ。「インフラエンジニアとはどういう仕事なのか」から書かれている文字通りの教科書。オンプレを念頭に置かれている記述が多いが、パブリッククラウドをよく触る人にとっても勉強になる記述ばかりだと思います。存在を知っていたら最初に読みたかった書籍。
ネットワーク
みやたひろし『インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門』(第2版)
ネットワークエンジニアとして設計・構築の入門的な書籍が欲しく手にとった1冊。私が読んだのは第1版です。
結果的にWebアプリケーションの開発をする会社に転職して気合の入ったネットワーク設計をすることはなくなりましたが、ネットワークエンジニアの業務が何も分かっていなかった私にとって仕事のイメージを掴むのに役立った書籍でした。いまの仕事をする上では読む必要はなさそうですが面白い書籍です。
DNS
DNSがよくわかる教科書(株式会社日本レジストリサービス、SBクリエイティブ)
実務に繋がるDNSの基礎知識が得られる(これだけで仕事ができるようになるわけではないが……)。2018年に出版された本なので、もしいまからインフラエンジニアになるなら『DNSの仕組み完全解説』ではなくこれを読んでいたと思う。
BINDの知識はレガシーな現場に行かない限りは不要だと思われるので、その意味でも現在はこちらがおすすめ。
DNS & BIND 第5版(オライリー)
DNS & BIND クックブック(オライリー)
現在はBINDを触る案件でもない限りはスキップできる。BIND周りのトラブルシューティング時に必要な知識を得ようと通読したり、辞書的に利用したり。いま思うとあまり身についている気はしない。
セキュリティ
後述の辻伸弘さん、根岸征史さん、piyokangoさんらによるセキュリティ専門ポッドキャスト。
「セキュリティなんもわからん」頃に買って勉強していました。
- 辻伸弘『あなたのセキュリティ対応間違っています』(日経BP、2016年)
- 辻伸弘『あなたの知らないセキュリティの非常識』(日経BP、2017年)
- 辻伸弘『あなたがセキュリティで困っている理由』(日経BP、2019年)
piyolog
piyokangoさんの、セキュリティインシデントなどが起こると凄まじい物量と早さでまとめ記事が更新されています。 2017年5月のWannaCryの感染キャンペーンの際に存在を知って、現在でもチェックしています。
私のセキュリティ観を変えたといっても過言ではない事件。未だに"2017年5月14日"は特別な日です。毎日どころか数時間おきに何かまとめられていないか見ていたような記憶があります。
IPA公式サイト - 情報セキュリティ
現場でネットワークだけでなく、セキュリティ周りも担当することになったため、「とりあえずよく分からなくてもIPA公式の新着を読もう」ということで欠かさず目を通すようにしていました。
【参考情報】 CCNP取得のために読んだ書籍(未受験)
CCNP受験のために以下の書籍を使って勉強していましたが、当時年収が低く生活がギリギリだったために未受験のままでした。当時は年収が200万円台で転職活動のための交通費すら惜しいという状況だったので、以下の書籍購入も冒険だった思い出があります。
- 徹底攻略 Cisco CCNP Routing & Switching ROUTE 教科書[300-101J]対応
- 徹底攻略 Cisco CCNP Routing & Switching ROUTE 問題集[300-101J]対応
- 徹底攻略 Cisco CCNP Routing & Switching SWITCH 教科書[300-115J] 対応
- 徹底攻略 Cisco CCNP Routing & Switching SWITCH 問題集[300-115J]対応
- 徹底攻略 Cisco CCNP Routing & Switching TSHOOT 問題集[300-135J]対応
【参考情報】 LPIC(LinuC)の取得のための読んだ書籍(未受験)
Linuxを触り倒しながらLPICないしLinucのレベル3まで勉強しておくと、Linuxサーバー周りで何か困ったことがあっても独力で解決できるようになった。CCNPのテキスト同様にKindleでテキストが半額になっているときなどに購入して勉強だけはしていました。
主催している団体・試験が訳のわからないことになっているので資格取得はお任せしますが、私は翔泳社のスピードマスターを読んでいました。
その他
2年ほど勤務した頃からAWS周りも触れるようになりたいという気持ちが高まり、Webアプリケーションエンジニアへと転職するため、AWS周辺、ChefやAnsibleなどの商業書籍、技術書典で頒布されていた技術同人誌などを読み漁りましたが、別の機会があれば書こうと思います。
いま思うと、オンプレ技術だけじゃなくパブリッククラウドに触れたいという好奇心を満たすため、Ruby on Railsを勉強してWebアプリケーション側の世界に行こうとしたのは英断でした。ネットワークエンジニアを辞める際は睡眠時間を減らして勉強をして体調を崩すなどしましたが、当時やりたかったAWSのインフラを設計・構築・運用するような仕事が今できていて本当によかったです。