1. インフラエンジニアが知っておくべき基本のこと

    「インフラエンジニアの教科書」という本を読んだので網羅的にまとめます。
    超、基本的なこと(ほぼ用語の解説)ですので初心者以外はスルーでいいです。

    個人的には仮想化、クラウド、ストレージの項目は為になったと思います。


    ・サーバスペックの決め方
    ・実際の環境を試験的に構築し、測定結果から判断
    基幹系と呼ばれるシステムの中核を担うシステムや重要なシステムの場合
    ・仮決めしたサーバスペックを本番投入し、実際のハードウェアリソース利用状況を測定した上でサーバやサーバのパーツを増減
    実際にリリースしてみないとアクセス量が判明しない(事前に予想できない)場合
    ・消去法でスペックを絞り込む
    ある程度サービスの性質が特定されている場合

    ・スケールアウト、スケールアップ
    スケールアウト
    サーバ台数を増やすことでキャパシティを増やす
    例.不可分散が容易なWebサーバは安い機器を並べて、性能が足りなくなったら台数を増やす
    スケールアップ
    メモリ増設などパーツを追加、交換するか上位機器に入れ替えることでサーバ性能を増やす
    例.不可分散が難しいデータベースサーバは1セットだけ用意して、足りなくなったら高価な機器に入れ替えていく

    ・CPU
    頭脳。演算能力が高ければ高いほど高性能
    用語
    ・ソケット数
    CPUの個数
    ・コア数
    主要計算部分。複数のコアがあればマルチコア
    ・スレッド数
    1つのコアで処理できる数
    ・動作周波数
    1秒間に刻むクロックの数。高ければ高いほど処理は速いが、電力効率が悪くなり発熱も増える
    ・キャッシュ
    CPUとメインメモリの間にキャッシュメモリという高速なメモリを用意し、頻繁にアクセスするデータを置いておくことで処理を速くする

    ・メモリ
    短期記憶領域。一時的なデータを記憶する。電源を切ると全てのデータが消える。

    ・仮想化
    1台のサーバに複数のOSを稼働させる
    特性
    ・物理サーバ
    ディスク使用容量が大きい用途に向く
    データベースサーバ、アプリケーションサーバなど
    ・仮想サーバ
    ディスク使用容量が小さい用途に向く
    Webサーバ、開発サーバ、メモリDBなど
    メリット
    コストダウンが可能
    ハードウェアリソース増減が容易
    物理サーバはハードウェアが老朽化した際交換が必要だが、ゲストOSは他の物理サーバに仮想化環境用意し簡単に移行ができる
    デメリット
    他のゲストOSが大量のハードウェアリソースを使うと動作が不安定になる
    使われなくなったゲストOSが撤去されず残りがちになる

    ・クラウド
    インターネット経由で提供されるコンピュータ資源を利用
    ・SaaS (Softwere as a Service)
    アプリケーションをサービスとして提供
    ・PaaS (Platform as a Service)
    アプリケーション実行環境をサービスとして提供
    ・IaaS (Infrastructur as a Service)
    システムインフラをサービスとして提供
    特徴
    自社で物理サーバを持たずに使えるため、物理サーバを管理するエンジニアが不要
    利用申請後、短期間でOSがインストールされた状態ですぐに使える
    物理的制約を意識せず、利用したい分だけサーバ増強が可能
    使った分だけ費用が発生
    資産を持たずに済むので、減価償却処理が不要
    AWS (Amazon Web Services)
    IaaSの世界で最も影響力があり、シェアNo.1
    ・Amazon Elastic Compute Cloud (Amazon EC2)
    仮想サーバを提供。1時間単位の従量課金制
    ・Amazon Simple Storage Service (Amazon S3)
    仮想ストレージを提供。月単位の従量課金制
    ・クラウドの弱点
    通常は用いられないような大量のハードウェアリソースを求めるようなスケールアップには弱い
    -> データベース用途のサーバだけは物理サーバを提供することで解消するクラウドベンダーもある
    物理サーバの管理をクラウドベンダーが担うため、物理サーバに障害が発生した場合、クラウドベンダーからの復旧完了通知を待つしかない
    -> 別の物理サーバでインスタンスを起動することで対処できる
    クラウドベンダーの手違いでデータが消えるリスクがある
    -> 利用側でもバックアップを取る必要がある
    ・クラウドに向かない用途
    機密情報を置く
    他社のサーバに機密情報を置くことや、送受信の際インターネット経由なので自社で管理できない範囲での流出リスクが高まる
    大容量のファイル転送
    インターネット経由なので社内サーバに比べて転送速度は遅い
    大規模システム
    ある程度の大規模システムは、自社で機器を持つ方が安い
    ・会計処理でのメリット
    毎月に支払う一定額分がすべて費用処理化できるため、資金的余裕がない場合に資金繰りが楽になる
    ・etc
    オンラインゲームなどリリースしてみないとどの程度アクセスがあるかわからない場合、リリース後にインスタンス数を増減させて適正規模に調整するような運用が可能となる。
    クラウドベンダーの多くは契約後一定期間は無料で使えるようになっているので、無料期間中にリリースしてユーザ動向をみて適正なインスタンス数にするというのは非常に効率的

    ・ネットワーク
    ・ルータ
    受け取ったパケットを適切な経路に転送するネットワーク機器
    ・LAN (Local Area Network)
    ・WAN (Wide Area Network)
    LAN内からルータを通してWANに飛び出し、またルータを通って別のLANに入る
    ・IPv4とIPv6
    IPv4
    一般的に普及している 8bit × 4 の IPアドレス。例.172.16.4.21
    既に枯渇しているため日本では新規払い出しは停止している。
    IPv6
    16 × 8 の128ビット構成のIPアドレス。例.1951:ac65:aaaa:bbbb:cccc:::1
    0は:で省略可能
    IPv4が枯渇したが、使われていない死蔵IPの活用やIPv6の運用ノウハウが不足していることなどから今のところはIPv4を中心に動いている。
    今後IPv6が急速に普及する可能性があるため動向を注意深く見守る必要有り。
    ・スイッチ
    最も重要な役割は大量の通信を速く、取りこぼしなく転送すること。
    ・速さ
    1秒間でどの程度のパケットを処理できるか。単位 -> PPS (Packet Per Second)
    ・容量
    1秒間でどの程度のバイト数を処理できるか。単位 -> BPS (Bit Per Second)
    ・L2/L3スイッチ
    ・L2
    業務用のスイッチングHUB。
    フレーム(L2ではパケットではなくフレーム)が入ってくると、宛先MACアドレスをみて適切なポートに転送する。
    ・L3
    ルータ機能付きのL2スイッチ。
    ネットワーク上を流れるパケットが入ってくると、宛先IPアドレスをみて適切なポートに転送(ルーティング)する。
    ・L4/L7スイッチ
    ロードバランサー(負荷分散機能)付きのL3スイッチ。
    サーバのIPアドレスとTCP/UDPポートの組み合わせ、特定URLを一定間隔で監視し、想定している応答が返ってこない場合、負荷分散先から外す。

    ・ストレージ
    データを記憶する装置。
    ・ローカルストレージ
    サーバ内にディスクを搭載して用いる記憶領域
    設置場所がコンパクトに収まるが、外部ストレージと比べて搭載できるディスクの本数や拡張性が少なくなる
    ・外部ストレージ
    サーバ外に用意するストレージ機器、もしくはストレージ領域
    DAS (Direct Attached Strage)
    サーバに直結するストレージ。
    ローカルストレージだけでは必要容量が足りない場合にディスク容量を増やすことができる。
    最近では、ハードディスクの大容量化やラックマウント型サーバに搭載できるディスク数の増加に伴い、ローカルストレージを選定する場面が増えている。 -> ランニングコストの節約
    NAS (Network Attached Strage)
    ネットワーク経由で複数のサーバからアクセス可能なストレージ。
    複数のサーバでデータを共有する場合や、複数のサーバで発生するバックアップやログファイルを1カ所にまとめる用途に使われる。
    SAN (Strage Area Network)
    ブロックレベルのデータストレージ専用ネットワーク。?
    高速、高品質な環境を求める場合に使われる。
    外部ストレージ導入の動機
    記憶領域を大きく取りたい
    ディスクI/O性能の向上
    ストレージの統合、集中管理
    サーバごとにデータが分散されていると管理が難しくなる。複数のストレージが存在すると、ストレージごとに少しずつ余剰な記憶領域が発生する。 -> 運用コストを下げ、記憶領域を無駄なく有効に活用
    複数サーバ間でのデータ共有
    複数サーバ間で、同一データやソースコードを読み書きできるようにしたい場合
    ・ストレージの高度な機能
    ・シンプロビジョニング
    機能
    物理ストレージ容量よりも多くの論理ボリュームを割り当てることができる機能
    意味
    論理ボリュームを割り当てる場合容量不足による障害が起きないように実際に使う容量よりも大きめの容量を割り当てるが、たくさんの論理ボリュームを作ると各々の論理ボリュームで余裕を持って確保された容量分が積もり積もって分無駄な投資が生じる。 -> 割り当てた容量分の物理ストレージを丸々用意するのではなく、実際に必要な物理ストレージのみ用意することが可能
    仮想サーバ環境のようにゲストOSごとに論理ボリュームを作成するような環境では特に有効
    ・自動階層化
    異なる性能のディスクを組み合わせながら、利用頻度の高いデータは高価で高速なデバイスに、利用頻度の低いデータは安価で低速なデバイスに自動的に保存する機能
    ・デデュープ (De-duplication)
    ストレージのバックアップを取る際、先に保存されているデータは無視し保存領域を節約する機能。
    重複除外機能とも呼ばれる。
    ・スナップショット
    ある瞬間のファイルシステムの静止点を瞬間的に保持する機能。
    一般的に、ファイルの更新が行われるたびに更新履歴とともに更新前のファイルをスナップショット用ストレージ領域に記憶していく。
    全てのファイルをコピーするわけではなく、更新履歴情報を管理することでファイルシステムの状況を復元することが可能となる。

    ・購買と商談
    知り合いからいいベンダーを紹介してもらうかネット等で調べ、来訪してもらう。
    ・来訪時の注意
    目的をはっきりさせておくことが重要。時間の無駄になってしまう。
    最低限以下のことを把握する。
    ・自分たちに必要なものは何か
    ・価格の相場はいくらぐらいか
    ・買うもののトップシェアベンダー
    ・発注から納品までの期間
    何がわからなくて何を知りたいのかをあらかじめ伝えておく。
    ・選定
    手離れが良いものは価格の安いベンダーを探せばよい。
    サポートが重要な製品では多少高くても信頼できるベンダーを選ぶ。
    ・相見積もり
    競合製品が存在する場合、面倒でも相見積もりをとって購買価格決定のイニシアティブを自分たちが握るようにする。
    ・導入テスト
    場所等の物理的な確認や、必要とする性能がでるかのパフォーマンス測定による確認、他のサーバやシステムとソフトウェア的に連携できるかの接続性確認など。
    ベンダーから検証機を借りて自社内で行う場合と、ベンダーの検証センターに行って行う場合がある。
    ・etc
    サーバは基本的にカスタマイズして納品されるため新品がお店に売っていることはほぼない。
    成長期の企業では費用節約よりは、ビジネスの成長スピードを止めないことが最優先のためインフラ拡張を渋ってはだめ。

    「インフラエンジニアの教科書」佐野 裕 (著)

    Posted by Shunsuke Hayashi on 2013年12月27日
    Categories server