BETA

初心者くん仮想マシンでいろいろ試みる

投稿日:2020-09-14
最終更新:2020-09-14

Windows ServerとVirtual BoxでWEBサーバとDNSサーバを構築しました

「サーバとはこういうものだ」と前回つらつら記しましたが結局は自分でアレコレ触ってこそ身につくものだということでWindows server2012R2とVirtual Boxを用意して仮想マシンをつくってみました。構築したサーバは以下です。

  • WEBサーバその1
  • WEBサーバその2
  • DNSサーバ
  • Sorryサーバ

構築したサーバを書き出してみると「あれ?レベルアップしたんじゃね?」と多少は思います。では、構築したサーバさんたちについて振り返っていこうと思います。

WEBサーバでちょっとしたWEBコンテンツを閲覧できるようにしました

 手始めにWEBサーバさんを構築しちょっとしたWEBコンテンツを見られるようにしました(スクリーンショットくらい撮っておけばよかった)。WEBサーバのIPアドレスをブラウザの検索バーに入力してみると問題なく画面に表示されました。大した内容ではありませんが何となく嬉しい気持ちになります。しかし、ここまでで結構手間取ってしまいました。Windows Serverとvirtualboxで仮想マシンを作るところまでは良いのですが問題は構築してからがややこしい。「役割と機能の追加ウィザード?」 「Webサーバー(IIS)のIISってなんだ?」 「どこの項目選んでいけばいいんだ?」と四苦八苦しながらの設定が終わり、ようやくちょっとしたWEBコンテンツが閲覧できるようになりました。世の中のWEBコンテンツ製作者の方々もきっと頭を抱えながら作業しているのでしょう。

DNSサーバでURLの検索が可能に!

 前回DNSサーバについてちょろっとだけ(1行くらいしかない内容)記しました。WEBコンテンツを公開したのは良いのですがIPアドレスなんて数字の羅列は覚えたい人はいないのでDNSサーバの設定でアレコレすることでURLでの検索が可能になりました。やはりここでもWEBサーバの設定同様に「前方参照ゾーンってなんだ?」 「Aレコード?」と次々現れる知らない言葉のオンパレードに戸惑いながら作業を進めました。

  • 名前からIPアドレスの解決→正引きと呼ぶ。正引きをするために必要な情報を格納するデータベースを前方参照ゾーンという。
  • Aレコード→IPアドレスとホスト名(wwwとかweb)の対応表

なんと初心者くんのWEBコンテンツが大人気に!という場合のスケールアップ

 初心者くんの製作したWEBコンテンツがTwitterやらインスタやらで話題になりアクセス数が増大したとしましょう。そんな場合、WEBサーバ1台では処理が追い付かずクライアント側で上手い具合に表示されない可能性やタイムアウトが発生する可能性があります。そんな時には「どうやらスケールアップがよいらしい」ということを知ったので早速来たるアクセス数の増大に備え仮想マシンの性能を引き上げたいとします。この場合の設定変更は結構らくちんでした。virtualboxのほうで設定を弄ることができるのでメモリを2倍にしたりできます。スケールアップのメリットとしては「台数が増えないので管理については変わらない」というメリットがある反面、「1台の性能には限界がある」といった面もあるようです。この後に記すスケールアウトとは似て非なる考え方で環境に応じて選択するのが良いようです。

なんとなんと初心者くんのWEBコンテンツが日本中で大人気に!という場合のスケールアウト

 初心者くんの製作したWEBコンテンツはSNSで人気になりアクセス数が増えましたがスケールアップすることでクライアント側が不自由を感じないようアクセスできるようになりました。しかし予想以上の反響が更に人気を呼び、またまたアクセスに時間がかかったり、タイムアウトしてしまう事態に陥ってしまいました。このような場合スケールアップという手もありますがスケールアウトという手段もあるようです。スケールアップはサーバのメモリを増強するとかCPUの性能を上げるような「コンピュータのスペックを上げて解決してしまえ」というものでした。スケールアウトは「サーバ1台でダメならもう1台増やしちゃえばいいじゃん?」と複数台のサーバで負荷を分散する方法です。

感想

 上記の話はあくまでも具体例なので私のWEBコンテンツが爆発的人気で~ということはないです。データベースサーバでスケールアウトする場合は複数台に同じ情報を突っ込まないと意味がないためスケールアップが採用されることが多いようです。「どっちが優れてる?」というわけではなく状況に応じた使い分けが必要と覚えておきたいです。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

初心者です。

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう