仕事インフラエンジニア大きく二つに分けられます。それが「サーバエンジニア」と「ネットワークエンジニア」です。インフラ全体を構成するには切っては離せない関係なので、相互に理解しておいた方が良い知識があります。インフラエンジニアとしてサーバとネットワークは一緒にされがちですが知識はもちろん違います。私はどちらかとサーバエンジニアの立場ですが、ネットワーク機器も操作します。ネットワークの設定がきちんとしていないと、そもそもサーバ上のシステムの利用が出来なかったりトラブルの原因になります。いった意味合いだとネットワークがきちんとしていないとサーバは本来の力が出せません。サーバだけがあってもアクセスが出来なければ意味がないですよね。サーバ上で稼働するアプリケーションも同様です。そこで今回は、サーバエンジニアでも理解しておくべきネットワークの基礎知識を紹介したいと思います。IPアドレスやVLANなど設計上当然のごとく理解すべき内容は省きたいと思います。そもそも設計レベルであればアドレス管理くらいは出来る人の方が多いでしょう。それでは書いていきたいと思います。Helperhelperは何の設定かと言えば、「DHCP」サーバのアドレスをリレーするための設定です。DHCPの仕組み上、ネットワークに繋がった端末はブロードキャストしてDHCPサーバを探して、IPのリクエストを受け取ります。ブロードキャストして応答が得られるのは同セグメントです。具体的に書くと「192.168.1.0/24」[192.168.2.0/24]の二つのネットワークが存在した時に、第3オクテットが異なるネットワークにPCがあり、DHCPサーバが別のネットワークに要る場合は、ブロードキャストをしてもDiscoverは届きません。helperを設定しないとDiscoverをリレー出来ずにクライアントはIPを取得できません。DHCPサーバに関しては、サーバエンジニアだからといって皆触れる機会があるわけではないのですが、DHCPの仕組みだけを理解していても、実際業務で携わる時はネットワークを考える必要があります。このhelperアドレスの指定をしない事で正常に動作しないケースは、非常にベーシックですが起こり得るのでこういった仕組みがある事は理解しておいてよいでしょう。List)サーバ側でもACLと呼ぶ機能があったりしますが、ネットワークのACLの方が重要です。ACL自体は、許可するパケットと拒否するパケットを記述するための機能で、概念的な部分はファイアウォールなどと同じなので理解はしやすいと思います。ACLで見落としがちなのがACLの順番も重要な所です。記述の順番によっては、Permit(許可)しているはずのパケットが、それより前に記述されている設定によって通信できない事があります。サーバ側のファイアウォールであれば、順番などはありません。ネットワーク機器のACLに記述があると言っても順番によっては正しく動作しません。単純なホワイトリスト式やブラックリスト式ではないので、サーバエンジニアもネットワーク接続が上手く行かない時の原因を考える際は、ACLの理解があればネットワーク担当者とスムーズに連携できるでしょう。セッション維持これは主にロードバランサ(LB)を利用するケースです。Webサーバなどミドルウェアを扱う上では非常に重要です。LBで最も基本的で重要な機能が負荷分散とセッション維持です。セッション維持はトラブルの原因になりやすい機能の一つで、特にECサイトなどではログイン時間とサーバの紐づけには精度を求められる部分です。サーバ側もシステム設計上、TCPコネクションがどの程度接続される想定で設計するかにもつながります。コネクションプールとセッション維持も切っては切れない関係ですが、セッション維持の時間を誤るとサーバの負荷が高まります。LBの仕組みを知らずに負荷分散システムを担当すると色々困る事も出てくるかもしれません。負荷分散方式やセッション維持について最低限、理解しておく方がトラブルが発生した時にスムーズに対応が出来るでしょう。スポンサーリンクサーバエンジニアには関係ないネットワーク知識ルーティングプロトコルネットワークの知識を問われると、ルーティングは欠かせないのですがサーバエンジニアにとっては無用の知識です。理由はルーティングは完全にネットワークの世界の話だからです。Helper、ACL、セッション維持はサーバがシステムとして機能するのに絶対的に必要で、サーバも隣接した関係にあるからです。ルーティングに関してはRIPであろうとOSPFであろうとEIGRPだろうと何のルーティングプロトコルを使っていてもサーバから見えるネットワークは一緒です。興味本位で覚えておく分には良い知識です。サーバには直接関係が無いのであえて覚える必要はないと思います。ServerでもLinuxでも標準で機能が備わっています。サーバサイドのファイルアウォールもネットワークサイドのファイアウォールも基本的には機能が同じです。違うのはUIや設定の仕方のようなインターフェイスだけです。ネットワーク機器で覚える必要はないと思います。VPNこれもサーバの挙動には直接影響しないので、サーバエンジニアが触れる領域ではないですね。VPN自体は知っている人も多いでしょう。VPNはサーバ間をつなぐための設定で、言ってしまえばルーティングと似たようなものです。サーバはネットワークを気にせずに接続できるようになるのであえて覚える必要はないと思います。Key」など種類がありますが、サーバには関係がありません。実際にVPNの設定を行った経験から、VPNは完全にネットワークだけの知識と言えます。スポンサーリンク最後にここまで、サーバエンジニアが知っておくと良いネットワークの知識について書いてきました。私は今ではサーバもネットワークもオペレーションしますが、そのうえで知っておくべきは紹介した3つだと思いました。Helperは覚えておくべき設定です。ACLも記述一つで多く挙動を変えてしまう事もあるので、要注意ですし異なるネットワークのサーバ間で通信するためにも必須の設定です。最後のセッション維持に関しては、かなり重要なシステムを扱う場合は必要な知識です。その反面、後半書いたような知っていてもあまり役に立たない知識もあります。インフラエンジニアとして、サーバとネットワークを両立して対応できるようになりたい人は覚えても良いでしょう。スポンサーリンクフォローする合わせて読んでみる良ければ他の記事もどうぞ!関連記事エンジニアは正社員が一番ブラックな働き方になる理由4つ全ての正社員エンジニアに言えることではないですが、日本の社会では「正社員」こそがブラックの原因になっていることもあります。...記事を読む勤務間インターバル規制はあって無いような無意味なもの。勤務間インターバル制度についてご存知でしょうか。「働き方改革」が進む中で、このような制度を導入する企業も増えています...記事を読む派遣のデメリットをメリットに変えるために意識する事3つ世間では不安定と思われる派遣社員ですが、そのデメリットを逆にメリットにしていく意識や取り組みについて書いていきます。不安定だからこそオフィシャルに許可される副業や会社に対する意識、将来に向けた時間の使い方などを考えていってもらえればと思います。記事を読むデータベースエンジニアに独学でなるための勉強についてIT業界で仕事をしている技術者でデータベースエンジニアに興味がある人もいるでしょう。データベースエンジニアにキ...記事を読む専門分野の中にもさらに分野があるデータベースエンジニア!データベースエンジニアと言えば、データベースの設計や構築・運用といった他の分野と同じようなイメージがあると思います。データベースとは様々な使い方があります。その分野について書いていきます。SEは非常識な対応をすると信頼が一気に失墜する。Edition)のインストール。Server2019へソフトを入れるわたしProfile平成生まれのゆとり世代。地方から都会に憧れて出てきた典型的な田舎者。フリーランスすべて経験しています。フルスタック気味なエンジニアのIT業界ブログ。