クラウドインフラのしくみ – 「クラウド時代だから必要なITインフラ基礎知識」(1)

こんにちは、さくらインターネットの大喜多です。

今回より「クラウド時代だから必要なITインフラ基礎知識」と題しまして、2017年の今日におけるITインフラの基礎知識を12回にわたりお伝えしてまいります。どうぞよろしくお願い致します。

第1回 クラウドインフラのしくみ
第2回 クラウドを支える仮想化
第3回 Linuxコマンドを用いたボトルネック調査
第4回 インターネットを支える技術
第5回 ITインフラ監視入門~Zabbixインストール編~
第6回 ITインフラ監視入門~Zabbix活用編~
第7回 いまどきのインフラ設計のキモ
第8回 Design for FailureなWebシステムの構築

第1回となる今回は、クラウドインフラの特徴やクラウドインフラがどのように実現されているのか、やさしめに解説してまいります。

本連載はこのような方におすすめです

ITシステムに関わるエンジニア全般(アプリケーションエンジニア・インフラエンジニア)
主にITインフラを中心とした記事構成となります。ITエンジニアのボーダーレス化が進む現在においては、本連載の内容はインフラエンジニアのみならずアプリケーションエンジニアにとっても有益な情報となります。

本連載のゴール

  • ITインフラの仕組みを理解し、適切な活用ができるようになる
  • ITインフラの1階層上、ミドルウェアについて基礎的かつ実用性のある知識を身につける
  • 上記2つの目標の達成により、ITシステム開発/運用の一助となる

クラウドインフラの中身

クラウドインフラは、以下の図のようにサーバ・ネットワーク・ストレージを組み合わせて構築されています。ただしこの構造や物理インフラを普段ユーザが意識する必要はほとんどありません。仮想化技術とそれをソフトウェアによって制御することにより、VMの作成・ネットワーク設定・OS等のインストール・サーバのクローンなどがWebブラウザ上から行うことができるようになっています。また、APIを活用することで、プログラムによりインフラ構築を自動化することもできるようになっています。

OpenStackで理解するクラウドのしくみ

ここではオープンソースのクラウドプラットフォームであるOpenStackを例に、クラウド(主にIaaSと呼ばれる部分)がどのように実現されているかを解説していきます。OpenStackでは、役割毎にコンポーネントが分かれ、それらが疎結合することによって成り立っているモジュラーアーキテクチャをとっています。各コンポーネントには名称が付与されています。

OpenStackのコンポーネント

コンピュート (Nova)

NovaはOpenStackの中でも最も中心となるコンポーネントです。基本的な役割はVMのプロビジョニングです。

ネットワーキング (Neutron)

NeutronはOpenStack内のネットワーク管理機能を提供するコンポーネントです。ユーザーはNeutronを介して、仮想的なネットワークを作成して、VMにネットワークインターフェイスを取り付けることができます。

ブロックストレージ (Cinder)

CinderはVMに対してブロックストレージを提供するコンポーネントです。ブロックストレージは物理サーバにおける内蔵HDD(SSD)に相当します。OSのインストール先やデータの格納先に用いられます。

アイデンティティサービス (Keystone)

KeystoneはOpenStackコンポーネントの中において認証と権限の管理を行います。

イメージサービス (Glance)

Glanceは仮想ディスクイメージの管理を行うコンポーネントです。VMイメージを保存し、読み出す機能を提供します。

オブジェクトストレージ (Swift)

Swiftはスケーラブルなオブジェクトストレージ機能を提供するコンポーネントです。OpenStackにおいては、VMイメージもGlanceによってSwift上に格納されます。

ダッシュボード (Horizon)

これらOpenStackの各コンポーネントに対する操作を行うための、Webベースのコントロールパネルを提供するのがHorizonです。

OpenStackにてVMを作成する際に、各コンポーネントがどのように関与しているのかを図解したものが以下となります。

このように各コンポーネントが連携して動作することにより、ユーザーは物理インフラを意識することなく仮想サーバを作成することができるようになっているのです。

次回は、クラウドで利用されている仮想化技術について解説致します。