インターネットを利用したWebサービスや業務効率化のためのITツール、または既存のシステムの改善のために入れ替えるなどの際に、システム全体を大凡イメージすることが出来ます。
サーバーを構築するにはシステムの構築から考える必要があります。システム化を検討してからシステムの構成が出来上がり、その後でサーバーの検討を始める手順で進行していきます。従ってシステムの企画者や利用するクライアントが「このようなシステムを作りたい」と頭に描いたものを具現化していく中で、どのようなサーバーが必要なのか具体的な検討段階に入っていきます。Webアプリケーションシステムを例に説明をすると、サービスに基づいて利用するイメージが見えてきて、さらに利用するユーザの人数やサイトの数などシステム規模に関する具体的な数値を把握します。数値が見えていくと大凡どのようなシステムにするか説明をすることができるでしょう。各種の数値を加えて検討し、これまで見てきたサイトと合わせて進めることで、求められているシステムは具体的な形となってきます。
サーバーとパソコン(PC)と違いは、共有か専有の違いです。サーバーは多くのクライアントにリクエストを受けてレスポンスを返す共有の役割にあるのに対し、パソコンは個々人が所有している専有のデバイスであることの違いがあります。このように同じコンピュータでも利用の仕方によっては共有・専有と大別できます。
サーバーのスペックとは各物理的な構造のコンピュータ部品の性能のことでハードウェアの領域のことです。タワー型サーバー(サーバーの形状について(サーバーラックとは?))を例に説明しますと、パソコンと構造はほとんど同じでケースの中身は、マザーボードという一枚の基板が収められており、マザーボード上で電気信号をやり取りをするようにできています。データ処理において中心的な役割を果たすCPU、メモリ、ストレージ(HDDやSSD)などをマザーボードに装着したり、外部からケーブルで繋げられています。主に中心的な役割を果たす部品の性能が上がれば費用も高額になるため、パソコンの性能を上げるときと基本的な考え方は変わりません。その他にも拡張スロットにNICやSASカード、RAIDカードなどを差し込むことで、コンピュータのインターフェイスを拡張でき機能を増やすことができます。ラックマウント型、ブレード型は構造は異なりますが、同じ役割のある各部品がマザーボードに装着され、それぞれのサーバーごとに稼働しています。
名称 | 役割 | 人間のデスクワーク に例えると |
|
---|---|---|---|
CPU | 制御装置 | 各部におけるデータの流れや入出力などを制御する | 頭脳 |
演算装置 | プログラムで指示されている順序で四則演算と論理演算を行い、データを加工する | ||
メモリ |
CPUが直接アクセスでき、作業中のデータを一時的に保持する。 高速で読み書きができるが、容量が小さい。電源が切れるとデータが消える(揮発性) |
机の上 | |
ストレージ |
作業後はデータをメモリから受け取って保存する。CPUは直接アクセスできないため、 作業に使うデータはメモリに読み出す必要がある。メモリと比較して読み書きが 遅い大容量で、電源が落ちてもデータは消えない(永続性) |
引き出しの中 |
ハードウェアの選定段階でサーバー負荷に対する考え方があります。サーバーで動作しているアプリケーションには「瞬発系」「持久系」の2種類存在します。瞬発系は入出力を重視するシステムに向いており、入力したデータに対して処理結果を迅速に返すことが多く利用されるアプリケーションシステムではCPU(制御装置、演算装置)の部分を強化する構成が有効です。対して持久系は集計や分析を重視するシステムに向いており、個別に入力されたデータの集計や分析を重視するアプリケーションシステムでは、ストレージの容量を多く確保することでデータ集計を継続的に蓄積できるようになります。メモリは両方のタイプで重要なリソースで、サーバー内の様々な処理を複数同時に行うため容量が多いことで優位性があります。瞬発系、持久系問わず、近年であれば大半のシステムに存在するサーバーはCPU、メモリ、ストレージとそれぞれ、十分に兼ね備えているハイスペックなハードウェアが多く、商用でサービスとして提供されている殆どのサーバーが安定稼働を実現できている状態です。
サーバーの自作は上記のように主要な部品を購入してパソコンのように自作で構築することができます。自宅で動かす際は小型サーバーのような部品が販売しており、知識のある人であれば自宅で組み立て、サーバーを構築、設定をし運用をすることができます。小型サーバーであれば消費電力も抑えることができ、据え置きのデスクトップパソコンのような感覚で固定をして設置することもできます。学習用や検証用などで技術者は、プライベートの趣味や研究や勉強でもサーバーと向き合って過ごしている方も存在します。
ユーザー、アプリケーション、OS、ハードウェアが相互にやりとりをして、コンピューターは機能しています。サーバーOSは、これらの間で仲介・調整の役割を果たします。
サーバーを設定するにはベースとなるサーバーOSの観点から考える必要があります。サーバーOSとはOS(オペレーティングシステム)という、人がコンピュータを扱うためのインターフェイスを提供するソフトウェアです。人間はOSがインストールされて初めてコンピュータを利用できます。私たちが普段利用するパソコンにもOSが必ずインストールされており、各利用用途に合ったアプリケーションやソフトウェアもインストールされています。サーバにも、それぞれの機能に応じたアプリケーションも必要になり、利用用途によってインストールするアプリケーションやソフトウェアの種類も異なり、無数に存在します。パソコンとサーバーに共通のOSの役割はクライアントやアプリケーションから受け取った指示通りに、ハードウェアのリソース(IT資源)をうまく使えるように制御することです。しかしサーバーOSの役割は、サーバーに求められる機能によって異なります。1つ目はサーバーは24時間365日ノンストップで稼働していること。2つ目は多数のクライアントから同時にアクセスを受けること。3つ目は悪意のある攻撃者から標的にされやすいことです。このようにサーバーの利用環境を総合してみると、極めて負荷が掛かりやすく、脅威に晒されやすいことが特徴です。サーバーOSには、より安定したシステムや効率の良いリソース管理・タスク管理、強固なセキュリティ管理などの機能が求められることになります。
WindowsサーバーとはパソコンのOSとして最も普及しているMicrosoft社のOSで、サーバーにも同様のインターフェイスで利用されているものです。GUI(グラフィカルユーザーインターフェイス)はクライアントと同じ画面で、サーバー側でも同様の操作が可能です。クライアント用のOSと同様に有料のOSであるためMicrosoft社より公式のサポートが受けられる点がメリットです。またWindowsOSで動作するソフトウェアも数多く開発されているため豊富なプロダクトを利用できる点も魅力です。しかし、コアライセンスとクライアントライセンスというものが存在し、システムの大きさに応じて、それぞれのライセンスを購入する必要があります。コアライセンスはサーバーCPUのコア数に応じて発生する費用で、クライアントライセンスは、サーバーに接続するユーザー(クライアント)数に応じて発生する費用の為、他のOSと比較をすると大規模システムでは大きなコストが発生してしまうデメリットがあります。
OSの中でタスクの実行処理やハードウェアの制御などの、中心的な機能を担う部分をカーネルと呼びます。Linuxとはアメリカ合衆国のプログラマである、リーナス・トーバルズ氏が開発した、Linuxカーネルをもとに作られたOSを示します。Linuxカーネルはオープンソースソフトウェア(OSS)として公開されており、誰でも無償で自由にソフトウェアを利用・改変・再配布できます。従って世界の様々な企業や団体が、Linuxカーネルにシェルやライブラリなどを加えたOSを開発しています。Linuxはそれらの総称であり、パッケージとしてまとめられたものをディストリビューションと呼ばれます。ディストリビューションにはOSの不可欠な機能を提供するLinuxカーネルやシェルなどに加え、特定の用途(サーバー構築、プログラム開発など)に適したソフトウェアが含まれます。LinuxはCUI(キャラクタユーザーインターフェイス)と呼ばれる黒い画面で英語の文字だけが書いてあるような画面で特有の「コマンド」を書き込んで操作をすることです。GUIも存在し対応しているアプリケーションで可能ですが、技術者は一般的にLinuxコマンドを用いてサーバーの操作をすることが特徴です。
ディストリビューション | 特徴 |
---|---|
RHEL (Red Hat Enterprise Linux) |
Red Hat社が開発している有償のディストリビューション。 セキュリティアップデートなどを公式サポートで受けられる。 |
CentOS | RHELから商用部分を取り除いた無償のディストリビューション。公式のサポートは受けられない。 |
Debain GNU/Linux | Debian Projectのコミュニティが作成している無償のディストリビューション。派生しているものが多数存在する。 |
Ubuntu | Debian GNU/Linuxから派生したディストリビューション。パソコンで利用されることも多い。 |
MacOSとはApple社が開発するOSでMacに搭載されているOSです。iPhoneもAppleですが、iOSとして別で存在しますのでパソコンやサーバーでは利用できません。MacOSはWindows同様に使いやすいGUIが搭載されております。Windowsと異なるのはシステムのベースにUnixが用いられており、Mac自体がUnixの認証を受けている点です。UnixとはLinuxの親戚のようなもの(LinuxがUnixを参考にして開発されたものなので血縁関係はない)でOSの土台の部分を示し余計な機能がなくパソコンのOS以外にも携帯電話などの組み込みシステムから、メインフレームやスーパーコンピュータなどの一部にも使われているものです。
サーバーOSではmac以外にもオープンソース系BSDやGNU/Linux(Linuxの中でUnix互換のシステムを目指したフリーソフトウェア)などが存在します。そのお陰でUnix系のOSと互換性が高く、システムの安定性も高いレベルを維持しています。MacOSはクライアント向けとサーバー向けで別製品が提供されていましたが、現在はクライアント向けのOSに追加アプリケーションをインストールする形が取られております。アプリケーションの値段も安価で、Macを利用していれば気軽にサーバーを始められる点が、他のOSにはないメリットです。
サーバーのネットワーク設定は複数のコンピュータが通信回線などによって相互に接続され、データをやり取りできる状態にするため、データの共有(転送)やサービスの提供(利用)を目的に行われます。ネットワークの種類はLAN(Local Area Network)とWAN(Wide Area Network)に大別できます。LANは社内ネットワークのようにローカルネットワークでコンピュータ機器同士が接続するための設定です。WANは遠隔地同士を結んだネットワークで主に外部とのインターネット接続などを用いた通信方法です。ともにサーバーにはIPアドレスを付与することで通信が実現できるようになるため、サーバーのネットワーク設定はIPアドレス割り当てを行います。IPアドレスにはインターネット経由で接続をするための「グローバルIPアドレス」とローカルネットワークで利用される「ローカルIPアドレス」で大別されます。詳しくは「グローバルIPアドレスとローカルIPアドレス」を御覧ください。
サーバーのドメインとは「itmanage.co.jp」のような名前のことです。Webサイトであれば公開するIPアドレスとドメインと紐付けることで、ユーザはIPアドレスを覚えること無くURLのドメインを入力することでWebサイトにアクセスすることができます。ドメインは「レジストラ」と呼ばれるドメイン管理組織によって管理されているので利用するには「申請及び登録」が必要です。一方でドメイン名は「www.itmanage.co.jp」のようなURLのことです。似ていますが意味が大きく異なりますので言葉の使い分けが必要です。ドメイン名を用いてWebサーバーにアクセスをすることを可能にしているのがDNS(ドメインネームサーバー/ドメインネームシステム)です。DNSはによってドメイン名とIPアドレスを相互変換が行われることで、ドメイン名でサービスにアクセスができます。これを名前解決と呼びます。IPv4とIPv6、グローバルIPアドレスとローカルIPアドレスなどの順番に説明していますので、詳しくは次のページをご覧ください。
サーバーダウンの主な原因は「アクセス集中」「ハードウェア障害」「サイバー攻撃」の3つです。アクセス集中は、サーバーが本来許容できる同時アクセス数の容量をオーバーした状態で多数のアクセスを受けることにより、サーバーのリソース(IT資源)が不足して過剰な負荷がかかり停止してしまう現象です。ハードウェア障害は、サーバー本体の故障や停電による電力供給が停止し、ハードウェアが停止してしまう現象です。サイバー攻撃は、悪意のある攻撃者からDDoS攻撃や不正ログインやウイルス感染などにより、故意にサーバーの機能を停止させてしまう現象です。このようにサーバーは、極めて負荷が掛かりやすく、脅威に晒されやすいことが特徴です。
ハードウェアとしてのサーバーの耐用年数は5年と法定耐用年数表で定められています。因みにネットワークオペレーションシステム(主にサーバーOS)、アプリケーションソフトでは4年です。従って、コンピュータをサーバーとして利用する際は、耐用年数を超過して利用すると故障のリスクが高まり、「ハードウェア障害」としてサーバーダウンの原因となります。サービスを提供している企業は、耐用年数を超えそうなハードウェアは時期が来ると、新しいハードウェアにリプレイス(交換)をし、ハードウェア障害が原因となるサーバーダウンを未然に防止しています。
サーバーには重要なデータが保存され、24時間365日何時でもクライアントのリクエストに対して、レスポンスできるように常時稼働しています。しかし、もしサーバーが故障してシステムが停止してしまったら、多くのユーザやクライアントの作業がストップしてしまいます。また、サーバーのデータが消えてしまったら、そのデータを必要とする様々な作業に不都合が出てしまいます。そのため、サーバーは常に稼働していることが求められますので、広義として重点をおいて考える点は「信頼性」です。即ち信頼性が高いことは障害が発生しにくいことですので、安定稼働が実現できます。また、狭義では「信頼性」「可用性」「保守性」の3つで評価をし「MTBF(平均故障間隔)」や「MTTR(平均修復時間)」の言葉をもとに「稼働率」の数値で計測することができます。
稼働率99.9%と99.99%の差は、1年間で計測すると約8時間のダウンタイム(サービスが停止・中断している時間)があることになります。
サーバー障害のHTTP503errorとは「サーバーへの同時アクセス数が上限を超えているため接続できません」の意味です。時間が経過すればアクセスできるようになりますが、このときはサーバーの許容量を超えてしまっているためWebサイトであれば閲覧することができません。対策方法はサーバーの容量の上限を上げることで解決できます。HTTP503エラーの詳細を中心としたサーバーに関係するエラーは「HTTP500系エラーとサーバ障害」のページをご覧ください。
サーバーを管理することはシステムを管理することに直結します。システム管理では統合的にシステム運用管理を実施し、その中でサーバーの運用管理の業務を担当します。システム運用管理の目的はシステムの安定稼働です。以前は障害対応に重点を置く考え方もありましたが、現在では安定稼働を目指して障害を未然に防止する考え方が主流になりつつあります。それは、ハードウェア、ソフトウェアの技術進歩から単体での信頼性が向上していることや、一方で様々なハードウェア、ソフトウェアを組み合わせた複雑なシステム構成となってしまっている為、障害が発生してから対処するようでは遅いという背景があります。
具体的に管理方法は2つに分けられます。1つは運用管理で定期的な運用監視、性能管理、変更対応、障害対応などです。2つ目はシステム保守で、性能管理、レベルアップ、機能追加、バグ対応、障害対応などです。システム保守は継続することもあれば、一定の期間で終了することもあり、見極めは障害発生の影響の度合いと安定稼働の実績です。運用管理は定期的な業務に対し、システム保守は突発的なメンテナンス対応が多いことが特徴です。
当社のようにITシステムの運用・保守・監視を事業としている会社をMSP事業者と呼びます。MSP事業者は、お客様のITシステムを、定常的に障害対策や運用業務を行い、突発的なメンテナンスなどの保守業務にも迅速に対応し、ITシステムを安定稼働を実現しています。
アイティーエムはシステムマネジメント事業を主軸とするMSP事業者です。当社が考えるMSPは「MCSSP」と呼び、新しいシステムマネジメントサービスの形態です。
MCSSP = 「MSP(Managed Service Provider)」+「CS(Cloud & Security)」
従来から存在するMSP(Managed Service Provider)事業をベースとして、昨今のIT環境にて特に注目されている「クラウド利用」と「セキュリティ対策」をより強化したサービスでお客様の安心・安全で、快適なシステム運用をご支援します。
詳しくは下の画像をクリックしサービスサイトをご覧ください。
サーバー管理は3つのポイントに絞って実施されます。1つ目はシステム安定稼働を目的とした管理で、サーバーはその中の一部に位置づけられます。理由は、システム障害発生によるビジネスインパクトが大きくなっている背景があるためです。2つ目は障害を未然に防止する考え方のもと実施されることが主流になっています。理由は、ハードウェア、ソフトウェアの単体への信頼性が向上していること、システム構成の複雑化により、障害が発生してからでは対応が遅いという背景があるためです。3つ目は、管理業務には運用と保守に大別されて実施することです。理由は、定期的な業務である運用は障害を未然に防止するための目的があるのに対し、突発的な保守は障害対応でシステムを復旧させる目的に分かれるためです。
インターネット経由で提供されている様々なサービスや携帯電話のサービスなどで障害情報を見たことがあると思います。この間はサーバーのメンテナンスでサービスが一部または全て利用できなくなる状況が発生する場合があります。これを停止メンテナンス呼び、サービスが利用できる状態でメンテナンスを実施する場合は無停止メンテナンスと呼びます。
また、メンテナンスによりサービスが利用できなくなると、障害の影響範囲を影響度によって障害の規模がどれだけ大きいものかが大凡把握できます。障害の影響範囲はシステム障害が発生したときの影響度合いを想定することで影響分析と呼ばれることもあります。一般的には影響範囲と影響度で検討します。障害の影響範囲は重要度である程度スコア化することが出来ます。下の表は影響範囲と影響度の考え方の例ですが、縦軸と横軸のスコアを加算すると障害の重要度として算出されます。
重要度 = 影響範囲 + 影響度 | 影響度 | |||||
---|---|---|---|---|---|---|
最大 | 大 | 中 | 小 | |||
4 | 3 | 2 | 1 | |||
影響範囲 | 対顧客・社外 | 5 | 9 | 8 | 7 | 6 |
全社 | 4 | 8 | 7 | 6 | 5 | |
事業所 | 3 | 7 | 6 | 5 | 4 | |
部門 | 2 | 6 | 5 | 4 | 3 | |
特定の組織・ユーザー | 1 | 5 | 4 | 3 | 2 |
企業や団体で稼働しているシステムの障害が与える影響は異なります。影響範囲が大きく影響度も比較的大きいシステムでは安定稼働に向けて万全を期す必要があることから「影響範囲」と「影響度」の管理の両者が必須です。逆に影響範囲、影響度が小さいシステムであれば運用管理のみとなります。関係者で認識できるように整理することが重要です。
表のベージュ色のセルの部分の範囲は重要度が大きいので、障害が発生しないように万全の対応を期す必要があります。障害が与える影響の範囲と影響の度合いを検討することで、稼働後の管理が見えてきます。影響範囲、影響度がともに大きいシステムであれば万一に備えた万全の管理が必須となります。
サーバー監視業務とは、システム内で動作しているサーバーが正常に稼働しているか定期的に確認することによって、システムで発生した障害やリソース不足を検知し、システム管理者に通知を行うための作業や仕組みのことです。当社ではシステムの要件に基づいた監視項目に沿って、類似した役割の監視項目をグルーピングし分類しています。
システムの運用管理は、システムを安定稼働させるための管理や障害が発生した際の復旧などがあります。システム運用監視は専用の運用監視サーバーを利用しリソース監視やヘルスチェック(死活監視)を実施します。当社でも監視サーバーを利用しシステム監視を実施するための監視システムで、多数のモニターでシステムの状況、障害発生状況などが表示され、監視業務を行っています。即ち、監視システムに存在する監視サーバーはネットワーク構成図の頂点に位置しており、対象となるシステムを統合的に管理しています。
サーバーエンジニアとは、ITシステムに存在するサーバーの構築、設定、保守、運用、監視などの業務を行う技術者のことです 。ITシステムの構築にはサーバーを中心としたシステムの設計から始まり、ハードウェアやOSの調達などを行い各種サーバーとネットワークの設定を行いサーバーを中心としたITシステムを構成します。ITシステム運用は定期的な運用監視業務を行うとともに、突発的なメンテナンス作業にも迅速に対応し、ITシステムの安定稼働を実現しています。
インフラエンジニアとはサーバーやネットワーク機器で構成されているITシステムを構築、運用、監視、保守などの業務を行う技術者のことです。サーバーエンジニアとの違いは、ネットワーク環境なども含めITシステム全体を統合的に見ることです。当社のインフラエンジニアは24時間365日体制で、お客様のシステム環境を総合的にサポートをしております。専門チーム編成により、システム障害時は迅速な対応で復旧に導き、システムの安定稼働を実現しています。