◆はじめに
前回の記事でインフラエンジニアとは?を投稿しました!!
今回はその中で紹介した[サーバーエンジニア]について、目指すうえで重要なことをゆるーく書いていきたいと思います(」・ω・)」
早速ですが、サーバーエンジニアとして重要なことは、ざっとですが
・基礎的な技術力
・セキュリティ知識
・クラウド技術への対応能力
・障害発生時の迅速な対応力
この辺がポイントになります。
◆基礎的な技術力
まずはシンプルな技術力ですが、もちろんあればあるほど良いですね。(当たり前(;´・ω・))
その中でもOSと言われる領域は少なくとも覚えておくと良いです。
Linuxはコマンドもいっぱい出てくるので[linux コマンド一覧]とかで検索してみると良いですね。
もちろん他にもサーバーの設計知識なども重要です。
ここではOSに観点をあてて紹介します。
1.Linux
Linux(リナックス)とは、Linus Torvalds氏が1991年に開発した、オープンソースのオペレーティングシステム(OS)です。参考
サーバーエンジニアやってると一番使われてるのがLinuxです。
そんなLinuxには色々な種類がありますので、良く使われるOSを紹介します。
1.1 Red Hat Linux
Red Hat Linux(レッドハット・リナックス)は、RedHat社が提供していたLinuxディストリビューションです。
このOSが一番と言っていいほど、使われてるイメージが強いです。コマンドも覚えやすくて個人的には使いやすいですね('ω')
1.2 Fedora
Fedora(フェドラ)は、RedHat社がスポンサーとして支援している無料のLinuxディストリビューションです。RedHat社が提供しているRed Hat Enterprise Linuxは商用の有料ディストリビューションですが、Fedoraは無料で利用可能です。
検証する際に利用されてることが多いですね。
1.3 Ubuntu
Ubuntu(ウブントゥ)は、Debianをベースに開発された、Linuxディストリビューションです。Debianをベースとしているため、できるだけ自由なソフトウェアを使用するという方針を持っています。
誰にでも使いやすいことを目指して開発された、無料のOSとのこと参考
1.4 AIX
IBM社が開発した「UNIXベースのオペレーティングシステム」であるAIX(Advanced Interactive eXecutive)。
IBMのPOWER、System p、System i、System pシリーズのサーバーで動作するよう設計されています。
他のLinuxOSと比べるとちょっとコマンドに癖があり慣れるのに時間かかるイメージですね💧
2.Windows Server
Windows Server(ウィンドウズ サーバ)は、マイクロソフトが提供するサーバー用途に特化したオペレーティングシステム(OS)です。
クライアントPC向けのWindows OS(Windows10とかWindows11)とは異なり、サーバー用途に特化して設計されており、企業や組織のネットワーク基盤を支える重要な役割を担っています。参考
Mac使ってる人は何とも言えないかもですが、WindowsのPC使ったことある人はLinuxに比べてさわりやすいですね。
3.ネットワークの知識
細かいことはネットワークエンジニアが対応している企業が多いですが、サーバーエンジニアも多少は理解しておくべき知識になります。
サーバーの正常な稼働に必要なネットワーク技術と、トラブルシューティングのために最低限の知識が必要です。
4.ミドルウェアの知識
Webサーバーやデータベースなどのミドルウェアを適切にインストールし、サーバー用途に応じた設計を行うための知識が求められます。
当たり前ですが、使用するミドルウェアによって簡単なものもあれば難しいものもあります。。。。。
基本的にマニュアルを参照しながら、設計書を書いたり構築手順書を作ります。
更改案件と呼ばれる現在使用しているミドルウェアのバージョンアップだとベースは出来てるので多少は楽になります。
◆セキュリティ知識
セキュリティエンジニアが主に対応してますが、サーバーエンジニアも必要な知識ですね。
運用目線だとセキュリティパッチの適用などが重要になります。
サーバーエンジニアには、ファイアウォールや不正侵入防御システム(IPS/IDS)の知識、OSやネットワークに関するセキュリティ設定、仮想化・クラウド環境でのセキュリティ対策、脆弱性診断、そしてサイバー攻撃の手法や法律(個人情報保護法など)などがあります。セキュリティエンジニアについて
◆クラウド技術への対応能力
主に「AWS」「Azure」「Google Cloud」などの主要クラウドサービスに関する知識や、仮想化技術、ネットワークの基礎、サーバーの知識、セキュリティの知識、コンテナ技術、そしてシステムの監視・運用スキルなどが求められます。
ここ最近では、やはりクラウド環境への知識を望まれることが多くなってきてます!
AWSなんかはサーバー構築するのがパッと出来るメリットが大きいため検証環境や開発環境だけクラウド環境にしてる企業も多くあります。
◆障害発生時の迅速な対応力
障害発生を素早く検知し、状況を把握・分析して原因を特定し、バックアップや設定変更などで速やかに復旧させることです。
監視ツールなどを活用し、障害発生を速やかに検知し、影響範囲や内容を把握することがもっとも重要なこととなります。
オペレーターの場合は、上長へエスカレーションしつつlogなどを確認することが出来ると良いですね。
かなりチームワークが必要となりますので、必ず当日の役割(Aさんは上長報告、Bさんは原因調査など)を決めておきましょう。
◆まとめ
ざっとですが、サーバーエンジニアをやっていくうえで必要なことをまとめてみました。
サーバーエンジニアとして仕事をしていくためには、従来のLinuxやWindows Serverだけでなく、クラウドサーバーの知識・スキルも必要です。クラウドサーバーに関しては学習環境が整っているので、優先的に学習するのも良いですね。
スキルと経験を積み重ねていけばキャリアパスの選択肢も広いため、将来性も期待できる職種です!!!
大変さややりがいも考慮した上でチャレンジしてみたいと思ったら、ぜひサーバーエンジニアを目指してみてくださいね( ᐢ. ̫ .ᐢ )