Liunxでサーバーを構築しよう
サーバー構築とは、インターネットを通じて特定のサービスを提供するために必要な「サーバー」を構築することですが、そのサーバーを立てるにはどうしたら良いでしょうか?実は立てた後のことまで考えるのが大切です。【連載コラム:Linuxでサーバーを構築してみよう(1)】
Linuxが普及した理由の一つに、サーバー用途で使いやすかったことが挙げられます。Webサーバーなど、現在のITシステムで必要となるサーバーの多くがLinuxで動作しています。この連載では、これからLinuxでのサーバー構築を習得したい人を対象に、サーバー構築の重要なポイントを解説していきます。
目次
サーバー構築に当たってまず心得るべきこと
ある日、サーバー構築の依頼を受けたとしたら、あなたはどうしますか?
サーバーを構築する際には、事前に決めなくてはいけないことがたくさんあります。
やるべきことを考える前に、やってはいけないことを一言で言うと、「何とかなるだろう」という希望的観測の下で無計画に作業を進めてしまうことです。
もし、何の下調べもなく適当なサーバーのマシンを購入し、入れることのできるソフトウェアを全部詰め込んで、インターネットに接続した状態で設定はWebなどを調べながら行う。そんなやり方をすると、大変な目に遭います。インターネットには危険が思った以上に多数潜んでいます。状況にもよりますが、インターネットに接続してから1秒で攻撃が飛んでくるということすらあります。
セキュリティの観点以外にも、「サーバー管理の手間」や「生産性」ということを考えても、サーバーの構築を行き当たりばったりにやるべきではありません。また、急いではいけません。サーバー構築の作業は、十分な計画と十分な準備の下で行う必要があります。
最初から脅すような話になってしまいましたが、まずサーバー構築の基礎をしっかりと習得することが肝心です。この連載で、押さえておくべきポイントを解説していきます。
セキュリティはなぜ重要なのか
セキュリティのことを考えるのはたしかに大変ですが、セキュリティをおろそかしてはいけません。何故でしょうか。
サーバーには大量のデータが存在します。このデータの中には、個人情報や機密情報などが含まれる可能性もあります。これから自分が構築しようとしているものは、攻撃者にとっては宝の山となりえるものなのです。
一方、「盗まれるデータを一切置かない」という方針であっても、高を括ってはいけません。攻撃者が直接ターゲットを攻撃するのではなく、セキュリティが甘いサーバーなどを乗っ取り、そこから本命のターゲットを攻撃する「踏み台攻撃」という手法に悪用される危険があります。海外には、踏み台攻撃の踏み台となったサーバーの管理者にも責任があるとして、訴訟の対象にするというところも珍しくありません。また、訴訟までいかなくても、信用問題となることはほぼ間違いありません。「あの企業はいい加減な企業だ」という印象を持たれてしまうと、多大な損害を被ることになります。
サーバーを構築する以上はそのサーバーに対して責任を持つことになります。そのことをまず肝に銘じてください。
サーバーの管理
サーバーは構築して終わりではありません。むしろ、構築し終わった後にどのように管理を行うのかあらかじめ考えておく必要があります。サーバーを構築したら、管理はそのサーバーの使用が終了するまで休むことなく行う必要があります。利用しているソフトウェアなどに脆弱性が発見されることは日常茶飯事ですし、ハードウェア障害など想定外のトラブルが起こることもあります。もし稼働を開始したサーバーが停止するという事態になってしまったら、多大な迷惑をかける可能性もあります。
サーバーは、24時間休むことなく動作しつづけます。このように考えると、サーバー管理はサーバー構築よりも手間のかかる作業だと言えます。サーバーは管理しつづけなくてはいけないものだということを考慮した上で構築作業に入ることになります。
サーバーを構築する前に、あらかじめ考えておくべき項目は多岐にわたります。
サーバーの機能
まず、サーバーにどのような機能を持たせるのか?です。たとえばWebサーバー、DNSサーバー、メールサーバーのどの機能を持たせるのかを考えます。サーバーの機能は、多くなればなるほど管理の手間が増し、またセキュリティのリスクも増えます。そのため、サーバーに持たせる機能はできるだけ必要最小限の機能に絞る必要があるのです。
どこにサーバーを設置するのか
そして、設置場所はどうするのか?たとえば自社内に置くのか、あるいはデータセンターに置くのか、はたまたVPSやクラウドを利用するのかということも考える必要があります。このことを考えるためには、たとえば自社内に置くとどういったメリットとデメリットがあるのかを知ることが必要です。
サーバーのスペック
さらに、サーバーの規模はどう設定するのかも考える必要があります。サーバーのスペックはどの程度必要なのか、ネットワークの通信量はどうなのかといったことを見積もる必要があります。
テスト環境と本番環境
また、サーバーを構築するために、最終的に動作させるサーバー(本番環境などと呼ぶ)以外に「テスト環境」を作ることが一般的になっています。テスト環境をどう作るのかも考えておく必要があります。
サーバー構築スケジュール
以上のことを踏まえて、サーバー構築のスケジュールも決める必要があります(無限に時間があるのであれば別ですが・・・)。
このように、どのようなサーバーを構築するにせよ、考えなくてはならないことを列挙するだけでもかなりの量になります。これらのことは1つ1つが完全に独立しているわけではないので、たとえば設置場所を決めたとしても、サーバーの規模を見積もった結果、設置場所を検討し直す必要が出るなどということが生じる可能性もあります。
次回はWebサーバー構築の流れを確認
次回以降の記事では、サーバーを構築・運用する際に、具体的にどのようなことを考え、どのようなことを行うのか?を、Webサーバーを構築することをモデルケースとして想定して、少し具体的に見ていきます。
- 筆者紹介
川原 龍人 氏
1975年生まれ。 著書に「BIND9によるDNSサーバ構築」、「シェルスクリプト ポケットリファレンス Bash編(技術評論社)」など。 予備校講師としても活躍中。Linuxとのつきあいは20年を超える。
バックナンバー
第14回:バックアップ
第13回:異常発生時の対応
第12回:サーバー構築という仕事
第11回:ユーザー教育の重要性
第10回:テスト環境を構築する
第9回:ログローテーションとは
第8回:ログの取得と管理
第7回:アクセス制限
第6回:OpenSSHの活用
第5回:ユーザーアカウントとアクセス制限
第4回:テスト環境を構築する
第1回:Linuxでサーバーを構築しよう