インフラエンジニアを独力で目指すならってことでお勧めの勉強法を書いていきます。何度聞かれてもこう答えると思います。
基本情報処理試験
いきなりハードルが高いのかもしれないけど、一番基礎が詰まっていると思われる資格。ただこの資格を取ったからと言ってすぐインフラエンジニアとして仕事ができるわけではない。むしろ、仕事をしたときに何をやっているかわかるようになるという話。基礎がない人がいくら手数を増やしても、ハードウェア・ソフトウェア・クラウドなどの種類が変わった途端に素人同然になる。
インフラエンジニアの道を歩くスピードが上がる靴とでも思ったほうがいい。靴を手に入れただけだと前に進まないよね。そういうこと。
パブリッククラウドの無料枠
AWSでもいいし、Azureでもいいし、Google Cloud、いや別にIBM CloudやOracle Cloudでもいい。何しろ有名なパブリッククラウドには無料枠がある。これが依然として有効に使えるので、使わない手はない。
パソコンでは、Hyper-VやVirtual Box、VMware workstationなど、仮想環境を作って、その上にUbuntuやCent OS Steamなど無料のLinuxを動かして勉強するという手段はあるけど、ネットワークのあたりが独特になるので私はパブリッククラウドの方をお勧めしたい。
で、各パブリッククラウドベンダーも、初心者用教材をたくさん無料で公開しているし、本屋に行けば初心者向けの本がたくさんある。
仕事では、Windows Serverと同じくらいLinuxを使う機会が多いので、Linuxが使えるようになることをお勧めしたい。
Linuxが使える、と言うと結構敷居が高そうに思えるが、何のことはない。ログインしたり、ユーザーを作ったり、ディレクトリを作成したりファイルをコピーしたり、みたいな普段パソコンでやっていることをコマンドレベルでできるようになるだけでいい。
先輩たちはファイルコピーや移動、削除などでさんざん失敗してきた。
サービスの落とし上げ、再起動、リソース(CPUやメモリー、ストレージなどの利用)の確認。
いろいろ勉強すべきことはあるが、これはぜひ見に付けて欲しい。
一方、Windows Serverなら勉強せずとも・・と思う人もいるかもしれないが、こちらも奥が深い。
LinuxもWindows Serverも、これまた本がたくさんあるので、読めばいい。
インターネットの基礎を支えるサービス
インターネットは、HTTPやHTTPSばかりが注目されがちだが、DNS、NTP、SSHやリモートデスクトップ、IPSec、FTP、SMTP、SNMPなど、いろんなプロトコルがうまく使われて成り立っている。
そのベースとしてはTCP/IPプロトコルがあり、ルーティングやARP、BGPなどレイヤーの低いところで通信の信頼性を組み上げている世界が広がっている。
感覚的に、このネットワークの部分を毛嫌いするシステムエンジニアが一定数いて、まあ初めのうちは取っつきにくいけれど、知っておいた方がいいのにな、と思うことがある。
で、いきなり「マスタリングTCP/IP入門編」を手にする人は多いと思うがここで結構挫折する人もいる。
ここで基礎が必要になるので基本情報処理試験を先にやった方が良いと思うけど、私はもっとネットワークをわかりやすく説明した本を1冊から2冊読んだ方が良いんじゃないかと思っている。
こういう本は、ある程度の経験者が読むと、まどろっこしいなと評価されることがあるけど、逆に初心者はこっちから入った方がまずは読めるんじゃないかと思う。難しい本を読んで難しいなと思い、結局頭に何にも入ってないし時間を浪費するなんて無駄じゃないか。だから、不完全でもいいから、わかりやすい内容を短時間ですらすら読むことを繰り返すことをお勧めしたい。
理屈がわかったら、パブリッククラウドの無料枠でいくつかのサービスを起動させたり動かしたりをやってみたら、理屈がわかってくるだろう。
また、パブリッククラウドだとネットワークあたりは自動で設定されているケースも多いので、そこまできたらパソコンの仮想環境でOSのインストールあたりからやってみるのも良い。中級編だ。
パソコンの自作
ちょっと費用はかかるけど、一度パソコンは作ってみた方が良いと思う。
CPUとメモリーとSSDとマザーボード、電源。ケースにディスプレイ。キーボードとマウス。目的によってはグラフィックボードも必要。
クラウドやノートパソコンだけでは、感覚がつかめないはず。実物を手に入れたら、いろんなことが想像が付きやすくなる。
昔、ゾウを見たことがない人に、ゾウの説明をするのは難しいという話を聞いたことがあるけど、インフラエンジニアはそういうことがよくある。
本ならこの辺りか。
基礎→とにかくさわってみる、の順番
本ばっかり読んできた人と会ったことがあるけど、やっぱり実際に手を動かしてOSを動かしたり構築したりっていうのを省略してきた人ってのは、「やってみて」と言うと手が止まる。
手ばっかり動かしてきた人は、とんでもない設定を入れたりして、ああわかってねえなと思うことが多い。
結局両方必要なんだけど、順番が重要だ。手を動かすのが好きな人の気持ちはわかるけど、まあ習い事ってなんでもそうだと思うけど、基礎が大事だ。我流で変な癖が付いている人は、どんなに手を動かしても伸びないどころか、下手になっていくということが、インフラエンジニアの世界でもよくある。
こんな順番で攻略するといいと思う。