flugel logo

エンジニアの種類③インフラエンジニア

“インフラエンジニア”という言葉を聞いたことはないでしょうか。おそらく開発系のエンジニアと並んで有名なのがサーバーなどの環境を保持するこのインフラエンジニアではないでしょうか。

インフラエンジニアとは

インフラとは「インフラストラクチャー(Infrastructure)」の略で、日本語で「基盤」を表します。ITの世界にとってのインフラは「情報システムを稼働させる基盤」のことをいい、コンピューターなどの機材、ソフトウェア、通信回線など、私たちが「インターネット検索」や「メールの送受信」を使うために必要な、すべてのシステムをインフラと定義しています。

インターネット、特にスマートフォンの普及により情報はいつ、どこででも取得が可能になり誰でも発信できるようになったため様々なITは私たちの生活から離れられなくなりました。
SNSの投稿やLINE、サイトの閲覧やメールの発信などインターネット上での情報の受け渡しをするための基盤をITインフラと呼んでいます。
このITインフラを管理や整理するのがインフラエンジニアの仕事となります。

ITインフラとは

ITのインフラは、大きく分けると下記の2つに分けることができます。
①ネットワーク、パソコン、サーバーなどのハードウェア
②そのハードウェア上で動くOS、ミドルウェアのソフトウェア

インターネット、LANなどのネットワークや、サーバー、PC、プリンタなどの各種ハードウェア、そしてOS、データベースなどのミドルウェアはITシステム全体の「土台」になる部分です。
その「土台」の上には、メールソフト、Webブラウザといった様々なアプリケーションが稼働していて、アプリケーションとインフラが相互補完・相互機能をして、はじめて快適なシステムが出来上がるのです。

インフラエンジニアの仕事内容

ネットワークの設計

ITインフラは作業が多岐にわたり構成されるため多くに人間が関わります。プロジェクトチームを組んで行うため、それらをまとめビジョンを共有する「設計書」の作成がまず初めの仕事となります。顧客の要望をヒアリングし、その課題に対しどのように解決するためのシステムを組みかを考え、機能や構造をどうするかを組み立てていきます。
もちろん工期と予算も計算に入れてプロジェクトを組み立てていかなければなりません。

ネットワークの構築

設計書を基に実際にインフラを構築していく作業になります。まずは、必要な機器を発注し、現場に設置、組み立てと配線の接続を行いソフトウエアの設定とインストールをします。構築作業には、「作業効率の高さ」や「ソフトウェアに関する知識」などが求められます。

また、サーバーへのアクセス・負荷を予測し、その負荷を1台に背負わせず分散させることによりサーバーの容量を保つことも構築には求められます。サーバーを何台立てるのか、その負荷をどのように分散するのか、同じくデータベースサーバーのデータベース使用量に応じたバッファの設定に関しても設計や構築の段階で考えなければなりません。
ユーザーからのアクセスに対して通信負荷を複数のサーバーに分散させるしくみをロードバランサーといいますが、その台数などの算出はネットワーク、サーバーの管理・監視を行う上で考慮し決定していく必要があり、管理能力が問われていきます。適切な台数のロードバランサーを設置することで障害率の低下、メンテナンス性の向上などの最適化が図れます。

パフォーマンス・チューニング

設計したネットワークのリソースを全開まで使い切るようにメモリやCPUの使用率の設定や、ネットワークのタイムアウト、ミドルウェアが使用するリソースのバッファ設定といった、ミドルウェア、OS等のより詳細な部分の設定を行います。

OS、ミドルウェア、ネットワークに対して専門的な知識が必要となりますを生かし、詳細な設定を行っていきます。サーバーのパフォーマンス向上により、サーバーの台数を減らす事で、ランニングコストの削減(費用対効果)を目指していきます。

ネットワークの管理・運用

設計したネットワークはインフラエンジニアが運用・保守を行います。障害が起こらないようなネットワークはないため、「MRTG」「Munin」「Cacti」等リソースを監視するツールや「Mackerel」「Zabbix」等の障害を監視するツールを駆使して、トラブルへの対策や対応をしていきます。ネットワークの管理・監視では、グラフからボトルネックや障害を事前に読み取る能力が求められます。

運用

ハードウェアの故障、アクセス権限の設定ミス、操作ミスなどの人為的な問題、アクセス集中へによるサーバーダウンなどインターネットは24時間稼働しており、経験者でも読みにくい状況が常に起こっています。そのため、ネットやサーバーを管理するのもインフラエンジニアとしての大きな仕事の一つとなります。障害が起きたときは原因の発見に努め、手早く復旧を原因を突き止め回復を迅速に行い、トラブル対する原因の追究と対策をしっかり行います。障害対応時間という言葉もあり、障害が起こってから復旧までの時間単位での損失額に応じて算出される指標も存在するほどインターネットのトラブルは大きな損失につながるためインフラエンジニアの腕が問われることとなります。

また、ハードウェアの故障や権限設定によるアクセス不可への対応などの障害対応や計画時の予想稼働サーバーの容量と実際の運用した時のサーバーの容量の誤差による削減か増加などの対応や一時的なイベントなどのサーバー不可への対策などのキャパシティ管理も仕事の一つとなります。

サーバー・データベース・仮想環境の構築

サーバーOSの選定、サーバーエンジニアと協力してのデータベースの選定、ミドルウェアの選定を行っていきます。基本的にはインフラエンジニアが各選定を自身で行うのですが企業により指定のサービスの選定がある場合はそちらで構造を組んでいきます。
そのためインフラエンジニアは自身の使用するOSなどのサービス以外にも様々なサービスを知っていなければなりません。

仮想環境は構築することにより一つのサーバー上に複数のOSを構築する事が可能で「VMWare」等の仮想化ソフトウェアを使用することにより、複数の仮想サーバーの一元管理が可能というメリットや他サーバーへのOSの移行が容易になる等のメリットもあり、耐障害性の向上にも繋がります。

インフラエンジニアに有利な資格

CCIE(シーシーアイイー)

CCIEはアメリカに本社がある世界最大のコンピューターネットワーク機器開発会社であるCisco Systems社が認定するベンダー資格。国際的な資格で、ネットワークエンジニアに対し重要な資格の一つとなっています。英語の試験のみで、筆記試験の他にトータル8時間におよぶ実技試験(ラボ試験)が行われ、取得後も2年毎に再認定を受けなければ資格取消となるなど厳しい資格でそれを保持していることが大きなブランドとなるような資格です。

LPIC(エルピック)

LPICとは、Linux Professional Institute(LPI)によって運営されているLinux技術者の技術者認定資格の名称です。

2018年6月末現在、全世界のLPICの受験者総数は延べ60万人以上、日本国内では延べ20万人以上が受講していて、世界の中で日本の認定者は30%程度になっています。日本国内においては知名度が高い資格のため、インフラエンジニアとして保持しておくと有利な資格と考えられています。

まとめ

アプリケーションやネットサイトなど情報がどんどん発信されている中で、それらを管理できるインフラエンジニアの需要は高まっています。また、アプリなどのゲーム開発などにもインフラエンジニアの活躍の場が広まっているなどインフラエンジニアがいることで、他のエンジニアの業務が成り立つといっても過言ではなくなってきています。

facebook twitter instagram

CONTACT


弊社サービスに関するお問い合わせ・ご相談はこちらまで

CONTACT FORM