こんにちは、インフラエンジニアのryuです。
インフラの勉強を始めたものの、参考書を読むだけで終わっていませんか。読んでいるときは分かった気になるのに、いざ聞かれると答えられない。そんなもどかしさを感じている方は多いのではないでしょうか。
じつはこれ、あなたの理解力のせいではありません。インフラは、手を動かさないと身につきにくい分野なのです。
そこで今回は、自宅で無料で作れる「学習ラボ」の作り方を紹介します。特別な機材もお金もいりません。今使っているパソコン1台あれば、十分に始められます。
結論から言うと、仮想マシンやシミュレーター、Dockerといった無料ツールを組み合わせるだけで、手を動かして学べる環境はすぐに作れます。順番に見ていきましょう。
なぜ「手を動かす」学習が必要なのか¶
まずは、なぜ手を動かすことがそれほど大切なのか、その理由からおさえておきましょう。
理由が腹落ちすると、面倒に感じる環境づくりも「やる意味がある」と思えてきます。
読むだけの知識はすぐ抜ける¶
いきなりですが、昨日読んだ本の内容を、どれくらい覚えているでしょうか。
正直、ほとんど忘れているのではないかと思います。人の記憶とは、そういうものです。
とくにインフラの世界は、コマンドや設定など、細かい手順の積み重ねでできています。文字で読んだだけの手順は、驚くほど早く頭から抜けていきます。
ところが、自分で実際にコマンドを打ってみると、話は変わります。打ち間違えてエラーが出て、直して、動いた。この一連の体験は、なかなか忘れません。
つまり、手を動かすとは、記憶に残りやすい形で学ぶということなのです。
失敗できる環境が上達を早める¶
もうひとつ、手を動かす学習には大きな利点があります。それは、失敗から学べることです。
インフラの上達で欠かせないのが、失敗の経験です。設定を間違えて通信が止まる、コマンドを打ち間違えてファイルが消える。こうした失敗を通して、仕組みの理解は一気に深まります。
とはいえ、会社の本番環境で失敗するわけにはいきません。だからこそ、壊しても誰にも迷惑がかからない自分専用の環境が必要になります。
自宅ラボは、いわば実験室です。何度失敗しても、作り直せばいいだけ。この安心感が、思い切った挑戦を後押ししてくれます。
失敗しても大丈夫な場所を持つこと。これが、インフラ学習を続けるうえで一番の近道です。
自宅ラボって何?お金はかかるの?¶
ここで、そもそも自宅ラボとは何かを整理しておきましょう。
自宅ラボとは、自分のパソコンの中に作る、練習用のインフラ環境のことです。物理的なサーバーを買う必要はありません。
「ラボ」と聞くと、高価な機材がずらりと並んだ部屋を想像するかもしれません。でも、今の時代はソフトウェアだけで十分な学習環境が作れます。
しかも、これから紹介するツールはすべて無料です。お金の心配をせずに始められるのは、うれしいポイントですよね。
必要なのは、ある程度のメモリを積んだパソコンと、学びたいという気持ちだけです。特別なスペックがなくても、まずは始めてみることが大切です。
なぜラボが効くのかというと、本番さながらの操作を、リスクなしで何度でも試せるからです。現場で使う道具やコマンドに、お金をかけずに慣れていけます。
就職や転職の面接でも、「自宅で環境を作って試しました」と話せると強い武器になります。手を動かした経験は、言葉に説得力を与えてくれます。
無料でそろえる3つの学習環境¶
では、具体的に何を用意すればよいのでしょうか。学びたい分野ごとに、代表的なツールを表にまとめました。
| 学ぶ分野 | 使うツール | 学べること |
|---|---|---|
| Linux | 仮想マシン(VirtualBox など) | コマンド操作・サーバー管理 |
| ネットワーク | Packet Tracer などのシミュレーター | ルーティング・機器の設定 |
| コンテナ | Docker | アプリの動かし方・環境構築 |
ひとつずつ、どんな環境なのかを見ていきます。全部を一度にそろえる必要はありません。興味のあるものから始めれば十分です。
Linuxを触る環境¶
インフラ学習の土台になるのがLinuxです。まずはここから始めるのがおすすめです。
自分のパソコンにLinuxを入れるのは少し勇気がいりますが、仮想マシンを使えば安全です。仮想マシンとは、パソコンの中にもう一台の仮想的なパソコンを作る仕組みのことです。
VirtualBoxのような無料ソフトを使えば、Windowsやmacの中にLinuxを一台立てられます。気に入らなければ、まるごと消してやり直せます。
環境が用意できたら、まずは基本のコマンドから触ってみましょう。たとえば、こんな確認から始めると感覚がつかめます。
# 今いる場所を確認して、ファイル一覧を見てみる
pwd
ls -l
# システムの情報をのぞいてみる
uname -a
最初は呪文のように見えるかもしれません。でも、打っているうちに少しずつ意味が分かってきます。よく使うコマンドはよく使うLinuxコマンド10選にまとめているので、手元に置きながら試してみてください。
ネットワークを試す環境¶
次に試したいのが、ネットワークです。ルーターやスイッチが手元になくても、シミュレーターがあれば大丈夫です。
Packet Tracerのような無料のシミュレーターを使えば、画面の中にネットワーク機器を並べて、実際につないで設定できます。
ルーターを2台つないで通信させてみるだけでも、データがどう流れるのかが体で分かってきます。教科書で読んだルーティングの話が、目の前で動く感動はなかなかのものです。
配線を変えたり、設定を1か所いじったりするたびに、通信のつながり方が変わります。この試行錯誤を通して、ネットワークの仕組みが少しずつ手になじんでいきます。
ネットワークの学習を何から始めるか迷ったら、ネットワークの勉強は何から始める?も参考にしてみてください。
コンテナ・クラウド風の環境¶
もう少し進んだら、Dockerにも触れてみましょう。今の現場では欠かせない技術です。
Dockerとは、アプリを動かす環境を箱のようにまとめて、どこでも同じように動かせるようにする仕組みです。難しそうに聞こえますが、体験してみると意外とシンプルです。
コマンド1つで、Webサーバーやデータベースを一瞬で立ち上げられます。使い終わったら、これもきれいに片づけられます。
具体的な始め方は、Dockerを使った環境構築で紹介しています。Linuxの操作に慣れてきたら、ぜひ挑戦してみてください。
つまずかないための学習の順番¶
環境がそろったら、次に気になるのは学ぶ順番ですよね。
やみくもに手を出すと、途中で迷子になりがちです。おすすめは、土台から順に積み上げていくことです。
まずはLinuxのコマンドから¶
一番はじめに固めたいのは、やはりLinuxです。多くのサーバーはLinuxで動いており、その操作はすべての基礎になります。
コマンドに慣れてきたら、ネットワークの基礎へ進みます。そして、クラウドやコンテナへと広げていく。この順番なら、前に学んだことが次の土台になり、無理なく理解が深まります。
全体像をつかみたい方は、Linuxの学習ロードマップをのぞいてみてください。どの順に進めばよいかが整理されています。
大事なのは、あれこれ手を出しすぎないことです。まずは一本、太い軸を作る。それが遠回りに見えて、一番の近道になります。
ラボができたら試したい、はじめの一歩¶
環境が整ったら、さっそく何か作ってみましょう。おすすめの「はじめの一歩」をいくつか紹介します。
ひとつ目は、Webサーバーを立てて、自分のブラウザで表示してみることです。 apacheやnginxを入れて、「It works」の画面が出たときの達成感は、なかなかのものです。
自分の操作が、画面という目に見える形になる。この体験が、インフラの面白さに気づくきっかけになります。
ふたつ目は、2台のLinuxを立てて、片方からもう片方へ通信してみることです。pingが通った瞬間、ネットワークがつながったことを実感できます。
みっつ目は、わざと設定を間違えてみることです。通信を止めてみて、なぜ止まったのかを考える。この「壊して直す」練習が、トラブルに強いエンジニアを育てます。
どれも、うまくいかなくて当たり前です。エラーメッセージを読み、調べ、直す。この繰り返しそのものが、現場でいちばん求められる力なのです。
ラボを続けるコツ¶
最後に、せっかく作ったラボを続けるためのコツをお伝えします。
環境を作って満足してしまい、いつの間にか触らなくなる。これは、とてもよくある落とし穴です。
おすすめは、毎日少しでも触る習慣を作ることです。1日10分でもかまいません。長い時間をたまにやるより、短くても毎日続けるほうが力になります。
もうひとつのコツは、やったことを記録することです。試したコマンドや、つまずいた点をメモに残しておく。あとで見返すと、自分の成長が見えてやる気につながります。
学習は、量より継続です。小さな一歩を、毎日積み重ねていきましょう。
うまくいかない日があっても、気にしなくて大丈夫です。エラーと格闘した時間こそ、いちばん力がつく瞬間なのですから。
自宅ラボのよくある疑問¶
ここまで読んで、いくつか気になることが出てきたかもしれません。初心者の方からよく聞かれる疑問に、まとめて答えておきます。
古いパソコンでも大丈夫?¶
まず多いのが、自分のパソコンで動くのか、という不安です。
結論から言うと、仮想マシンを1台動かす程度なら、少し前のパソコンでも十分に動きます。目安として、メモリが8GBほどあれば快適に学べます。
もしパソコンが非力でも、あきらめる必要はありません。ブラウザだけで動く学習環境を使えば、パソコンの性能をほとんど気にせずに手を動かせます。
大切なのは、完璧な機材をそろえることではなく、まず始めてみることです。手元にあるもので、できる範囲から取りかかりましょう。
どれくらいで慣れる?¶
次に多いのが、どれくらいで使えるようになるか、という質問です。
これは人によりますが、毎日少しずつ触れば、2〜3週間もすればコマンドに抵抗がなくなってきます。
最初の数日は、正直つらいかもしれません。見慣れない画面に、意味の分からない英語。誰もが同じ道を通ります。
でも、ある日ふと「あれ、これ前にもやったな」と感じる瞬間が来ます。そこまで来れば、あとは加速していくだけです。まずは1週間、続けてみてください。
何から手をつければいいか分からない¶
環境は作ったものの、次に何をすればいいか分からない。これもよくある悩みです。
そんなときは、目標を1つだけ決めるのがおすすめです。たとえば「Webサーバーを立てて、自分のパソコンから表示してみる」といった具体的なゴールです。
ゴールがあると、そこへ向かって調べながら進めます。手を動かすうちに、必要な知識が自然と身についていきます。
漠然と勉強しようとすると、かえって迷ってしまいます。小さな「作ってみたい」を、学びの入り口にしてみてください。
まとめ¶
今回は、自宅で無料で作れるインフラ学習ラボについて解説しました。
インフラは、手を動かさないと身につきにくい分野でしたね。だからこそ、仮想マシンやシミュレーター、Dockerを使って、失敗できる自分専用の環境を持つことが大切でした。
学ぶ順番は、Linuxを土台に、ネットワーク、コンテナへと広げていくのがおすすめです。そして何より、毎日少しずつ続けることが上達への近道です。
とはいえ、環境づくりでつまずいて、そこで力尽きてしまう方もいます。もっと手軽に、すぐ手を動かして学び始めたいという方には、InfraAcademyのようなブラウザで動く学習環境も選択肢になります。Linuxターミナルやネットワーク、AWSのシミュレーターを、準備なしで触りながら学べます。
はじめは、うまくいかないことばかりかもしれません。それでも、一つ動かせるようになるたびに、世界が少しずつ広がっていきます。
本を読むだけの勉強から、一歩踏み出してみてください。自分の手で動かした経験は、必ずあなたの自信に変わっていきますよ。
参考記事¶
- Oracle VM VirtualBox 公式サイト(無料の仮想化ソフト): https://www.virtualbox.org/
- Cisco Networking Academy「Packet Tracer」(無料のネットワークシミュレーター): https://www.netacad.com/courses/packet-tracer
- Docker 公式ドキュメント: https://docs.docker.com/