ネットワークの勉強方法を聞いてみた。

2021-06-02
How to be a Developer

Author : 西村 航

こんにちは、テクニカルトレーナー/マネージャーの西村 (@kuwablo) です。
AWS トレーニングのトレーナーを担当しつつ、お客様の AWS 学習を支援する記事を公式ブログや builders.flash に投稿し、チームメンバーのマネジメント業務も合わせて行っています。

突然ですが、皆さんは普段の仕事でネットワーク機器の設計や保守などは担当していますか ?「ルーターはマシンルームで見たことはあるけど触ったことはない。」「アプセトネデブ (OSI 参照モデルの 7 つの階層の暗記術) とか昔ちょっと勉強したけど忘れちゃったな。」という方から「俺はネットワーク生まれデータセンター育ち」という方までいらっしゃると思います。

私がトレーニングを実施する際に「自分のチームのメンバーにネットワークを勉強してもらいたいんだけど、何か良い方法ありますか ?」「アプリ開発者ですがインフラを体系的に勉強するために、まずネットワークに詳しくなりたいです。オススメの本はありますか ?」といったネットワークの勉強方法に関する質問をいただくことがよくあります。

本記事では、そういったネットワーク初学者の方々やネットワーク初学者の方を育成する立場にある方々を対象に前半と後半に分けてお話していきます。

前半:ネットワークの基礎に関するオススメの勉強方法
後半:AWS のネットワークサービスに関するオススメの勉強方法

私自身前職の SIer でネットワーク機器の設計や保守を担当していたのですが、今回はネットワークを更に深堀りするために、ネットワークの有識者であるシニア ネットワークスペシャリスト ソリューションアーキテクトの 菊池さん (@yukihirokikuchi) を招いてインタビュー形式で進めていきます。それではお楽しみください 。


ネットワークの基礎に関するオススメの勉強方法

西村「はじめまして、テクニカルトレーナー/マネージャーの西村です。よろしくお願いします。」

菊池「はじめまして、シニア ネットワークスペシャリスト ソリューションアーキテクトの菊池です。よろしくお願いします。」

(写真左) 西村 航 (テクニカルトレーナー/マネージャー)
(写真右) 菊池 之裕 (シニア ネットワークスペシャリスト ソリューションアーキテクト)

西村「私は前職の SIer で働いていた際に、ネットワーク機器の設計や構築などを担当していました。菊池さんのキャリアに関して聞かせていただけますか ?」

菊池「はい。大学に入学して学部1年生のときから研究室に潜り込んで、研究室の PC を使ってメールやネットニュースにハマっていました。学部2年生の時は Web ページ作成が世間で流行だったこともあり、CGI を書いたりインターネット関連のアルバイトもしていました。当時は本や雑誌がメインの情報源だったので 雑誌 UNIX MAGAZINEプロフェショナル UNIXプロフェショナル BSD を読んで勉強して、ぷらっとホーム秋葉原店に行って OS の CD-ROMとかを買って、PC をずっと触っていた記憶があります。あとはちょっと古いんですが、 詳解 TCP/IP〈Vol.1〉プロトコル とかを読んで TCP の基本を勉強していました。」

菊池さんの勉強してきた本の一部。歴史を感じます。

西村「なるほど、ネットワークだけじゃなくてサーバーや OS も勉強していたんですね。」

菊池「当時はネットワークと OS の両方わからないとつながらない環境だったのもありますね。」

西村「それだけ情報系の知識や経験があると就職活動はラクだったんじゃないですか ?」

菊池「いえいえ全然。大学院に進学して就職活動を開始したのですが、就職氷河期に直撃して研究室の推薦枠が無くなったので、本当に大変でした。新卒でインターネット・サービス・プロバイダに就職して、新卒 1 年目はブロードバンドルーターの開発チームに所属してプログラム書いたり、Web ページで IP アドレスの設定を行う CGI やマニュアルとかを書いていましたね。」

西村「がっつりネットワークから始まったキャリアですね。」

菊池「はい。その開発チームを抜けた後は出向して、出向先でデータセンターのラックを立てたり、DNS サーバーやメールサーバー の保守をしたり、プロバイダーとプロバイダーの接続点の大規模スイッチの運用とかをしていました。出向先から戻った後は VPN サービスの運用チームに入りました。その後に NW 機器を製造販売するメーカーに転職して、プリセールスのエンジニアとして仮想ルータだけでなく仮想サーバーも触り始めて、 AWS を触ることになり、縁あって AWS Japan に入社しました。」

西村「なるほど。ネットワークとその周辺をくまなくカバーしている職歴ですね。いくつか質問させてください。ネットワークは “枯れた技術” とか言われたりしますが、どう思いますか ?」

菊池「半分正しくて、半分正しくないかなと思いますね。先程話した通り変わらない根幹の部分もありますが、 AI などと同じで常に技術はアップデートされていて、 最新技術に追随してネットワークも進化しています。IPv6 も未だに改訂されていますしね。変化しない幹の部分を理解することと、変化しつづける枝葉の部分をキャッチアップすることの両方が必要ですね。あと、トラブルシューティングは最初にネットワークから切り分ける場面が多いので、ネットワークの知識はあるにこしたことは無いかと。昔ネットワークのトラブルシューティングばっかりやってた時は、流れているパケットを見て不審な箇所が特定できるようになってましたね。」

西村「人間 Wireshark (ネットワークトラフィックの解析ソフト) と化していますね。ネットワーク知識があまり無い人が、今からネットワークエンジニアになれますかね?」

菊池「やる気さえあれば絶対になれますね。今は本だけでなくてウェブサイトや動画など無料の学習教材もゴロゴロありますし。先程お話した通り根幹の部分は変わらないので。あと、今から AWS のネットワークのサービスの Amazon VPC (以下 VPC) とか勉強する人は正直うらやましいですね。AWS のメリットであるスクラッチアンドビルドで何回も作って壊せるので、トライアンドエラーの数だけネットワークに詳しくなれます。」

西村「涙の数だけ強くなれる感じですね。」

菊池「あとは、昔みたいに細分化されずに、 コンテナ / DNS / ロードバランサー など含めて包括的に広く触れるのもクラウドのメリットですしね。ネットワークの勉強を始める人にとっては、今は楽しい時代になっていると思います。」

西村「確かに私もルーター担当の人やスイッチ担当の人など役割が明確に別れてたチームに所属していた経験があります。ちなみに、ネットワークエンジニアに求められるスキルは何でしょうか ?

菊池パケットの気持ちになることですね。

西村ちょっと何言ってるか分からないです。

菊池「パケットを使ってデータが伝えられるので、自分自身が小さなパケットになりきることで、ココが駄目だと届かないよね、っていうネットワークの経路を細部まで意識するようになります。なんとなくつながってるな〜レベルの認識だと、有事のトラブルシューティングができません。パケットの気持ちになることで、プロトコルやハンドシェイクなどどうやってつながっているかを細かく深いレベルで掘り下げて正確に通信を知ることができます。最初から大規模な環境を理解するのは難しいと思うので、1 対 1 通信などの小さい規模からパケットの流れを理解して、少しずつわかる範囲をスケールさせていくと良いかなと思います。」

西村「なるほど、理解しました。ここからは初学者に向けたネットワーク基礎の勉強方法に関してお話させてください。まず最初に読むべき本とかありますか ?」

菊池マスタリング TCP/IP ―入門編― は最初に読むのにオススメですね、私も学部生や新卒の時に第 1 版を読んでましたが、当時は本のタイトルに入門編は付いてなかったですね。」

西村「第 1 版 はスゴイですね。マスタリング TCP/IP ―入門編― は私もネットワークの資格勉強する際に最初に読んでました、本当に名著ですよね。」

2020 年 4 月時点で第 6 版まで出ていて、ロングセラーかつベストセラー。入門編以外にも応用編や情報セキュリティ編など幅広く展開している。特に入門編はプロジェクトルームの本棚に入っている率高め (西村調べ) な一冊。

菊池「マスタリング TCP/IP は他にもシリーズがあるので、オススメですね。あとは 3 分間ネットワーキング講座の Web サイト ですね。博士と助手の掛け合いで分かりやすくネットワークのコンポーネントが説明されていて、スッと理解できます。Flash がサポートされなくなってアニメーションは見れなくなったのですが、3 分間ネットワーク基礎講座の書籍 もありますしね。あと、ちょっとレベルは上がりますが 30 分間ネットワーキング講座 もオススメです。」

3 分間ネットワーク基礎講座以外にも、3 分間〇〇基礎講座シリーズも分かりやすいです。助手の質問が「そうそう、そこ気になるよね」と感情移入できるので、読み進めやすいのがポイント。

西村「ありがとうございます。私のオススメは DNS がよくわかる教科書 ですね。DNS のそもそもの仕組みから運用ノウハウまで深さがありながら、説明が丁寧なのがポイントです。あとは、ネットワークだけ取り扱っているわけではないのですが、イラスト図解式 この一冊で全部わかる Web 技術の基本 はオススメですね。インターネット / ネットワークと Web の関係性から話が始まるので、ネットワークの上にどうやって何がのっかっていくのかの Web の全体像がイメージしやすいですね。ここまで書籍を中心に伺いましたが、経験が無いけどネットワークに詳しくなりたい人にオススメの手を動かすツールとかありますか ?」

菊池「ネットワークも触ってなんぼな部分があるので、仮想環境でトライアンドエラーを何度も繰り返すのが良いですね。Cisco Modeling Labs は仮想ルーターで作業できるので、実際に動かしてどうなるかの挙動が見れます。Cisco Modeling Labs (CML) を使ってネットワークを学ぼう!というイベントの資料が 基礎編 / 応用編 / DevNet 編 の 3 つで展開されていますので、興味がある人を目を通していただくと良いかと思います。」

西村「確かに手を動かすのは良いですね。私自身プロジェクトルームの片隅に置いてあった古いルーターに水色のコンソールケーブルを刺して操作していたのが一番タメになった気がします。ありがとうございました。ここからは AWS のネットワークサービスに関するオススメの勉強方法に関して伺わせてください。」


AWS のネットワークサービスに関するオススメの勉強方法

西村「座学の勉強方法とハンズオンの勉強方法の両方をお話させてください。AWS のネットワークサービスを理解できる資料とかありますか?」

菊池「まずは サービス別資料 の Networking & Content Delivery シリーズ を見てもらうと良いかと。 Amazon VPCAWS Direct Connect から読み始めていただくと理解しやすいかなと思います。」

西村「昔よりも種類も数も増えましたね。」

菊池「そうですね、増えました。説明の方法も少しづつ変えていて、例えば Amazon Route 53 ResolverAmazon Route 53 Hosted Zone などは、そもそもの DNS の基本から説明されています。ネットワークのトラブルシューティングで インターネット or DNS を切り分ける際に DNS の知識は必要なので。」

Amazon Route 53 ResolverAmazon Route 53 Hosted Zone は AWS サービスの前提となるネットワーク知識に関しても分かりやすく説明されているので、オススメです。

西村「ドメイン名やネームサーバーから詳しく説明されているので、 AWS のサービスの理解も捗りそうですね。私からも紹介させてください。AWS では無料のデジタルトレーニングが提供されています。AWS Network Connectivity Options は英語になりますが、VPC エンドポイント、VPC ピアリング、AWS Transit Gateway、AWS PrivateLink などの AWS のネットワーク接続オプションについて詳しく紹介されていますので、ネットワーク周りのサービスで迷子になったら是非チェックしてみてください。また、ネットワークに興味がある人は AWS Certified Advanced Networking - Specialty 試験の認定資格にも興味をお持ちだと思うのですが、デジタルトレーニングでは本試験の対策動画の Exam Readiness: AWS Certified Advanced Networking - Specialty (Digital)もあります。英語になりますが内容盛りだくさんでオススメです。」

Exam Readiness: AWS Certified Advanced Networking - Specialty (Digital) は複数のモジュールに分かれていて、お好きなタイミングで受講することができます。認定試験のポイントをつかむために是非受講ください。

菊池「あとはイベントの資料ですね。ネットワークのサービスは複数ありますので適材適所でサービスを選択する方法を知るには、イベントのセッション資料を見ると整理しやすくなると思います。」

西村「何かオススメはありますか ?」

菊池「そうですね、AWS Innovate 2019 の 多くの選択肢が揃ってきた「オンプレミスとVPC間の接続方法」を整理してみる は用途別にソリューションが別れていて見やすいと思います。あとは、AWS Summit Online 2020 の パケットの気持ちになって辿る Amazon VPC のルーティング はオススメです。パケットの動きを追うことで VPC の概念や通信の流れ方をより深く理解できますね。」

パケットの動きを追うことで VPC の設定ポイントやルーティングの動作を理解することができます。クラウドネットワーキングの感覚をつけるための第一歩となる資料かと。

西村「(パケットに寄り添いがちな人、ここにもいた。) なるほど、ありがとうございます。他にはありますか ?」

菊池「そうですね、Deep Dive 的な資料だと、AWS Summit Tokyo 2019 の ネットワークデザインパターン Deep Dive とか、
AWS Summit Online 2020 の Transit Gateway,PrivateLink VPC アーキテクチャー deep dive とか良いかと思います。中級レベルの方にもオススメです。」

西村「ありがとうございます。あとは AWS のネットワークで知っておくべき 10 のこと も良いですよね。 AWS のネットワークに関して最低限知っておくべきレベルの内容からネットワーク玄人への入り口につながる内容まで幅広いトピックを取り扱っています。AWS のネットワークの各サービスの比較やポイント・ユースケースを説明されているのでスッと頭に入ってきますね。」

AWS のネットワークで知っておくべき 10 のこと は初学者向けの内容から玄人への入り口に至る内容まで幅広く取り扱っていて、複数のトピックでメリハリの効いた構成になっています。

西村「ここまでは座学の勉強方法に関してお伺いしてきましたが、手を動かすハンズオンに関してはオススメとかはありますか ?」

菊池「そうですね。やはり初心者向けハンズオンシリーズの AWS Hands-on for Beginners が定番かなと思います。段階的に進めることが重要で、オススメの順番があります。最初に スケーラブルウェブサイト構築編 を実施して、ネットワーク以外にもサーバーやデータベースも触ってクラウド全体のイメージを掴みましょう。次に Network 編 #1 AWS 上にセキュアなプライベートネットワーク空間を作成する を実施して、VPC 内の通信だけでなく VPC から VPC 外に接続する方法まで学びましょう。最後に Network 編#2 Amazon VPC 間および Amazon VPC とオンプレミスのプライベートネットワーク接続 を実施して、VPC と VPC、VPC とオンプレをつなぐ方法を学びましょう。」

AWS Hands-on for Beginners の中でも Network編 #1 AWS 上にセキュアなプライベートネットワーク空間を作成する は VPC にフォーカスしたハンズオンになっています。

西村「なるほど、VPC にポイントを絞ってジックリ学べるのが良いですね。この次のステップとして行えるハンズオンとかはありますか ?」

菊池「そうですね、Transit Gateway のハンズオンは AWS Summit Online 2020 の 管理者が違うシステム間での柔軟なルーティング (AWS Transit Gateway) で試すことができます。 あとは Route53 と Transit Gateway の両方を触るハンズオンを AWS Summit Online 2020 の 名前解決はひとつの VPC にまとめよう(R53 resolver&Transit Gateway) で記載していますので、是非チェックしてみてください。」

AWS Summit Online 2020 の 名前解決はひとつの VPC にまとめよう (R53 resolver&Transit Gateway)では、シンプルな名前解決の環境を構築するまでの過程をステップバイステップで実践できます。

西村「Transit Gateway は座学だけではイメージしづらいので、手順を見ながら手を動かせるのは良いですね。」

菊池「はい、触ることで座学の知識も整理されていくと思います。」

西村「本日はどうもありがとうございました。勉強方法だけでなく、ネットワークに関するスキル習得の必要性まで教えていただき非常に面白かったです。」

菊池「ありがとうございました。」


ネットワークに関する勉強方法のリスト

最後に、ここまでのインタビューで出てきた勉強方法を以下にリスト化してみました。初級者だけでなく中上級者向けのハンズオンも含めて載せていますので、「これは面白そうだな」という勉強方法があれば、是非ブックマークしてみてください。

ネットワークの基礎に関するオススメの勉強方法

AWS のネットワークサービスに関するオススメの勉強方法 (座学)

AWS のネットワークサービスに関するオススメの勉強方法 (ハンズオン)


まとめ

今回のインタビューを通じて、私自身普段のトレーニングでネットワークに関してお話しする際のメッセージングが明確になり、大変勉強になりました。

「ネットワークエンジニアに求められるスキルはパケットの気持ちになること」と菊池さんが真顔で言い出した時は無事にインタビューが着地するのかヒヤヒヤしましたが、ネットワークを学ぶことのメリットだけでなく具体的な学びの方法まで色々と教えていただき本当に面白いインタビューとなりました。私もパケットの気持ちになって日々ネットワークの勉強を続けていきたいと思います。

この記事が少しでも “How to be a Developer” な皆様のお役に立てれば幸いです。
また別の記事でお会いしましょう ! それでは !


builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます

筆者プロフィール

西村 航 (@kuwablo)
アマゾン ウェブ サービス ジャパン合同会社
トレーニングサービス本部 テクニカルトレーナー/マネージャー

多くの人に AWS を学ぶ楽しさを伝えたいと思い、テクニカルトレーナーになりました。また、マネージャーとしてチームメンバーのマネジメント業務も行っています。
サウナとキャンプと買い物が好きで、最近購入したオススメはキーボードの「HHKB」と スモークレス焼肉グリルの「やきまる」です。

話者について

菊池 之裕 (@yukihirokikuchi)
アマゾン ウェブ サービス ジャパン合同会社
シニア ネットワークスペシャリスト ソリューションアーキテクト

ネットワークに関連したお客さまの技術的な導入支援や課題解決などの業務を担当。オンプレミスから AWS への移行や、ハイブリッドネットワークの構築のご相談、AWS オンリーのネットワークのご相談を多く担当しています。最近自宅に光で 10G を引きました。

AWS のベストプラクティスを毎月無料でお試しいただけます

さらに最新記事・デベロッパー向けイベントを検索

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する