ネットワークエンジニアには、職人の趣があります。現場で叩き上げたスキルで飯を食う、そんなイメージです。
たくさんの種類のネットワーク機器に触れるネットワークエンジニアは、ITエンジニアの中でも特にハードウエアに関わる機会の多い職種です。そこがまた、職人感を強めます。
ところが、そんなネットワークエンジニアの世界にも変化が訪れています。クラウドの波です。
ハードウエア頼みだったネットワークの構築が、仮想空間上でできるようになったのです。
そうなると、叩き上げのスキルは 無駄になってしまうのでしょうか?フリーランスのネットワークエンジニアなど、淘汰されてしまうのでしょうか?
この記事では、ネットワークエンジニアという職業について、仕事の内容やフリーランスとしての案件を紹介し、これからの時代に生き残っていく方法を考えます。
ネットワークエンジニアとは
ネットワークエンジニアとは、企業などの組織内にコンピューター・ネットワークを構築し、それを維持・管理する仕事です。組織内の情報共有の根幹を支える重要な仕事で、トラブルがあったらいつでも駆けつける頼もしい存在です。
いわばコンピューターとコンピューターを「繋ぐ」のがネットワークエンジニアの仕事である一方、繋いで終わりというわけではありません。その後の監視や保守までが仕事の範囲です。
「繋ぎ方」もどんどん進歩します。数年もすれば、新たなネットワーク機器にアップグレードするべきときがやってくるでしょう。ネットワークを新たに構築し直すのです。
また、今ではクラウドを使うのが当たり前になりました。ここでも、ネットワークエンジニアの活躍が期待されます。仮想空間の中で、コンピューターどうしを繋ぐのです。
ネットワークの種類
ネットワークの種類を分ける方法には色々あります。例えばイントラネットとインターネット、LANとWANといったものです。どちらも、大ざっぱに言えば「狭いネットワーク」と「広いネットワーク」ということです。
ここでは、比較的新しい「オンプレミス」と「クラウド」という分け方について考えてみます。
オンプレミス
オンプレミスというのは、会社や官庁などの組織内にサーバーなどの機器を置くネットワーク運用のことを言います。ここでの「組織内」というのは、物理的に、その組織の建物内ということです。
「サーバー-クライアントモデル」に従い、1台のサーバーに対して複数のクライアントコンピューターが接続する形です。ここでいうクライアントとは、組織のそれぞれのメンバーに割り当てられているパソコンのことです。
サーバーには「Webサーバー」「メールサーバー」「ファイルサーバー」などがあります。基本的には1つのサーバーコンピューターに1つの役割が割り当てられますが、1つのコンピューターに複数の役割を負わせることも可能です。組織が大きくなれば、サーバーの数も増えることが考えられます。
全国に複数の拠点がある企業などだと、それぞれの拠点でLANを組み、それらをWANで広域に結ぶということが行われます。
ネットワークが組織内で閉じていれば、インターネットを介して侵入されることはないので、情報漏洩のリスクを抑えることができます。反面、サーバーの管理は自分たちで、あるいは外部に委託するなどして行う必要があります。障害への対応も自分たちで手配しなければなりません。
現実には、組織内で閉じたネットワーク運用というのはかなり不便なので、インターネットに接続することにはなるでしょう。その際には、ファイアーウォールを導入するなどして、外部からのアクセスを遮断する必要があります。
クラウド
組織の外、インターネット上のどこかにデータを保存したりして情報共有をすることも当たり前に行われるようになりました。これを「クラウドコンピューティング」といいます。
外部のコンピューターにあるアプリを使うのもまた、クラウドコンピューティングです。例えばクラウドの会計ソフトというものがたくさん出てきています。手元のコンピューターにソフトをインストールする必要がないので、導入の手間が軽減されます。
上のオンプレミスのところで述べたような組織内のサーバーを、クラウド上に仮想的に作るということも行われるようになっています。ネットワークが仮想空間上に作れてしまうのです。
クラウド化が進んでいる背景には、インターネットの通信速度が非常に速くなったことがあります。データのアップロードやダウンロードにかかる時間がほとんど気にならなくなったため、外部にデータを置いても支障がないのです。
クラウドのいいところは、管理が楽であることです。障害対応やデータのバックアップなどは、クラウドサービス業者がやってくれます。
クラウドそのものが攻撃を受けたりしてしまう心配は、ゼロではありません。そのため、その業者がどのようなセキュリティーの方策をとっているのか、導入前に調べておく必要があります。
ネットワークエンジニアの仕事の種類
ネットワークエンジニアの仕事は、何段階かに分かれています。それぞれの段階を、別々の人が担当することが多くなっています。ネットワークの規模が大きくなれば、それぞれの段階にたくさんの人が関わることになります。チームを組んで働くのです。
それぞれのエンジニアは、経験やスキルによってどの段階を担当するかが大体決まります。普通は、運用・保守などの下流工程から始まって、キャリアを積むにしたがって設計・構築などの上流工程を受け持つようになるという道をたどります。
ここでは、大ざっぱに「設計」「構築」「運用」「保守」に分けてご紹介します。これらは一度きりのものではなく、何年かごとのサイクルで繰り返されます。
設計
設計とは、ネットワークの構成を決める段階です。現場からのヒアリングに基づいてどんなネットワークにするか「要件定義」し、それに従ってどんな機器を購入するのかを決め、それぞれの機器の設定についても決めていきます。予算とも相談しながら意見の調整をし、ベストな方法を考えます。
ネットワークエンジニアのキャリアパスの中では、他の仕事を一通り経験した後、たどり着くところです。
構築
構築は、実際にコンピューターどうしを繋いでいく作業です。機器を設定し、ケーブルで接続し、ちゃんと繋がっているかテストします。
稼働中のネットワークのリプレース案件などの場合は、業務に支障が出ないように、綿密に計画を立てて行います。ネットワークが止まっても大丈夫な休日に作業を行うことが普通です。
テストをしてうまくいったならば、本稼働へと移行します。もしテストに失敗し、うまく接続できないとなれば、繋がるようがんばらなければなりません。それでも直らず、業務時間中にネットワークが止まってしまいかねないならば、涙をのんで元に戻すということもあります。これはかなり最悪の事態ではあります。
運用
無事ネットワークが繋がったら、管理業務に移っていきます。ネットワークが安定的に運用できるよう、配慮します。
現場はずっと同じ状態にあるわけではなく、流動的です。新しくサーバーを立てたり、人の増減などに伴ってコンピューターの数が増減したりすれば、ネットワークの設定を見直し、必要があれば変更します。場合によっては機器を追加します。大きな変更が必要なときは、設計自体をやり直すこともあります。
保守
ネットワークに障害が起きたら、即座に対応します。一刻も早い復旧が任務です。機器が故障していたら、交換します。また、障害が起きないように、古い機器は交換するなどの手を打っておきます。大規模なネットワークになると、24時間体制で障害がないか見張る「監視チーム」がいることもあります。
ネットワークエンジニアになりたての人は、監視チームの一員になるところから始めることが多いようです。なかなか大変な仕事ではあるものの、ネットワークを守る大切な仕事です。
フリーランスのネットワークエンジニア案件例
もはや中小規模の事業所にもネットワークがあるのが普通ですから、ネットワークエンジニアの需要も非常に高くなっています。当然、フリーランスへの仕事の依頼もたくさんあります。他のIT系の人材と同じく、常に人手不足であるのが現状です。
ここでは、クラウドソーシングやエージェントサイトで見かける、典型的な案件を概観してみます。
会社や官庁内のネットワークの構築
新規にネットワークを構築するという案件は数多くあります。新しく事業所などを開設するというケースや、新社屋や新庁舎に移転するといったケースが考えられます。
大規模なネットワークになると、設計や構築などに多数のエンジニアが関わることもあります。そういったチームを率いるプロジェクトマネジャーもよく募集されています。
ネットワークの運用・保守業務
すでにあるネットワークの運用や保守も、案件数が多くなっています。平穏時の管理業務から、障害時の復旧業務までを担当するような案件例があります。
障害対応はなかなかにキツい仕事で、呼び出されれば夜中であろうと何であろうと現場に急行することを求められることもあります。いわばネットワークのお医者さんのようなイメージでしょうか。
ネットワークの刷新
古くなってきた社内インフラを一新したい、ついてはネットワークの設計から構築までを請け負えるエンジニアを募集する、というような案件もよく見受けられます。
ネットワークは一度構築したら終わりではなく、何年か周期で見直すものですから、こういった需要も発生するのです。例えば機器の保守期限が切れ、壊れても修理できなくなるタイミングなどが考えられます。
サーバーの構築・保守・運用
サーバーの構築や保守は、どちらかといえばインフラエンジニアとかサーバーエンジニアと呼ばれる職種の人達がやることが多いものです。けれども、ネットワークエンジニアの募集案件の中に、ネットワーク構築業務の一環としてサーバー構築が含まれることもあります。
フリーランスに仕事を依頼するクライアントの立場に立ってみると、サーバーとネットワークで別々の人を呼ぶのは手間やコストがかかる。そのため、1人でなんでもやってくれる人が欲しいということになってきます。
サーバー周りの技術を習得すれば、ネットワークエンジニアとしての幅が広がります。1段階も2段階もレベルアップすることができます。
クラウド
企業では、クラウドの導入が盛んです。これは、ネットワークエンジニアの仕事に影響を与えています。
クラウドに移行すると、社内に物理的なサーバーを立てなくてよくなるなど、コスト面のメリットがあります。ネットワークの監視体制もいらなくなるか、それほど仰々しくやる必要がなくなるかもしれません。
サーバーをクラウドで仮想化するため、オンプレミスのネットワークは単純化され、機器の設定や置き換えの仕事が減ります。
要するに、従来のネットワークエンジニアの仕事は減ってしまうわけです。
代わりに出てくるのが、仮想空間上にネットワークを構築する仕事です。これが、ネットワークエンジニアの新たな仕事になってきます。社内ネットワークのクラウド化を推進するので、クラウドに精通したネットワークエンジニアを求むという感じです。
フリーランスのネットワークエンジニアが持っておくべきスキル
ネットワークエンジニアとしてのスキルの多くは、現場で得られるものです。その組織に合った最適なネットワークの構築も、障害対応も、机上の論理だけでできるようになるわけではなく、現場での経験が物を言います。
とはいえ、机上の勉強がまるで役に立たないわけではありません。むしろ大いに役に立ちます。逆に十分に学ばないまま現場に立っても、遠回りになってしまうでしょう。
クラウド化が進んでいるとはいえ、オンプレミスのネットワークを使っているところがまだまだ多いのが実情です。従来型のネットワークエンジニアの需要がなくなることは当分の間は考えられません。
そこで、しっかりとしたネットワークやハードウエアの知識を持っておくことが、フリーランスのネットワークエンジニアとしてやっていくためにはこれまで通り必要です。
しかし、今後ますますクラウド化が加速した場合に備えて、クラウド方面の知識も身につけていきたいところです。
一番大事なのは、ハード面にしろソフト面にしろ、技術や知識を吸収し続ける、学び続ける姿勢です。
ネットワークの知識
ネットワークエンジニアなので、当然のこととしてネットワークの知識は十分に持っている必要があります。
TCP/IPといった通信プロトコルに関しては、概略だけでなく詳しい仕様まで理解しておきたいものです。
そのほか、LAN、WAN、DNS、DMZなど、無限にあるとも思えるネットワーク関連の技術用語を丹念に理解し、覚えていく必要があります。
また、ADSLなどの古い規格であっても、使っている人がまだいるならば、多少は知っておく必要があるでしょう。ネットワークの世界の進歩は急激ではありますが、10年前の知識がまったく役に立たない、というわけでは必ずしもありません。
OSの知識
ネットワークには、Linux、Windows、Macなど、様々なプラットフォームのコンピューターが混在することがあります。ネットワークエンジニアはそれら全てに触れる可能性があるわけですから、それぞれに習熟していることが望まれます。
特に各OSでのネット接続の方法については当然ながら熟知していなければなりません。トラブルへの対処法も知っておく必要があります。
サーバーOSとして多く使われているLinux系のOSについては、十分に慣れておいたほうがいいでしょう。コマンドを覚えて、いろいろな仕事ができるようになりたいところです。
ハードウエアの知識
ネットワークエンジニアにとって、ハードの知識は特に重要です。
ネットワーク構築には、様々な機器を使います。サーバーやクライアントのコンピューターはもちろんのこと、LANスイッチ、ケーブル、ファイアウォール、ルーター、無線LANアクセスポイント等々です。
それぞれの使い方や設定方法を把握することはもちろん、どんな機種があるのか、メーカーごとの違い、価格、最新機種情報などをチェックして、設計やリプレースの提案をするときに役立てましょう。
ネットワークエンジニアはIT系のエンジニアの中でも特にハードウエアを扱うことが多い職種ですから、当然そちらの知識が大事になってきます。
セキュリティー
セキュリティーも、ネットワークエンジニアにとって必須の知識です。
セキュリティーは、どの組織も神経をとがらせるところですので、ネットワーク構築の際にも細心の注意を払わなければなりません。設定のミスで情報が漏れてしまった、ということになれば、巨額の損害賠償を請求されることさえ考えられます。
専門性が要求される分野であり、なかなか手に負えない部分もあるかもしれません。しかし、ネットワークにおいてセキュリティーは一番大事なところなので、知識を深める努力は続けましょう。
家や建物のセキュリティーでいったら、戸締まりさえしておけばいいのか、警備会社と契約すべきなのか、警備員を24時間常駐させなければならないのかなど、様々なケースが考えられます。ネットワークエンジニアならば、少なくとも戸締まりくらいはできないと話にならないでしょう。
クラウドの知識
かつてのネットワークエンジニアは、物理的なネットワークを構築するのが仕事でした。しかしこれからは、クラウドを利用したネットワークの構築もできないと時代に取り残されていってしまうかも知れません。
もちろん、直ちに全ての組織内ネットワークがクラウド化されるわけではありませんが、やはり徐々にクラウド化する組織が増えていくことが予想されます。
そうした時代の要請に応えるために、今のうちにクラウドを学んでおきましょう。まず、SaaS、PaaS、IaaSといった、クラウドサービスの種類について知りましょう。
それから3大クラウドサービスと言われる「Amazon Web Service(AWS)」「Microsft Azure(Azure)」「Google Cloud Platform(GCP)」については詳しく知っておいて損はありません。
これらのクラウドサービスを使うときには、クラウドサーバーの管理をするためにスクリプトを書くことになります。すなわち、プログラミングをするのです。
ネットワークエンジニアの中には、「実はプログラミングは苦手」という人もいるようです。オンプレミスのネットワークだけを扱えばよかった時代には、それでもなんとかなりました。しかしクラウドの時代には、それでは心もとないと言わざるをえません。
というわけで、これからはネットワークエンジニアにもプログラミングのスキルが必須と言ってよいでしょう。そうでなくとも誰もがプログラミングを習う時代、このあたりで一念発起して勉強してみるのはいかがでしょうか。
まとめ
ネットワークエンジニアは、幅広い知識が要求される職種です。ハードウエアに触れる仕事なので、機械好きのITエンジニア志望の方は目指してみるのも面白いでしょう。ただ、これからはクラウドによる仮想化が進んでいくことが予想されるので、そちら方面の知識も吸収して、将来に備えましょう。