検索
連載

CloudStackを構成するコンポーネントを探るCloudStackによるプライベートクラウド構築術(2)(2/2 ページ)

CloudStackは、オープンソースベースのIaaSクラウド構築・運用ソフトウェア。使いやすく、機能が充実していることなどから、大規模なデータセンター事業者や組織での導入が相次いでいる。本連載では、このソフトウェアをプライベートクラウド構築に活用する方法を紹介する

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

CloudStackの論理コンポーネント

 次に CloudStackの論理的な構成を図2に示します。

 CloudStackを構成する仮想的なコンポーネントは以下のとおりです。

  • 仮想サーバ(インスタンス)
  • 仮想ルータ(Virtual Router)
  • Console Proxy
  • Secondary Storage VM

 それぞれのコンポーネントについて、以下に説明します。

図2 CloudStackの論理的な構成
図2 CloudStackの論理的な構成

仮想サーバ(インスタンス)

 仮想サーバ(インスタンス)は、Computing Node上で、ユーザーのリクエストによって作成される仮想的なサーバです。一般的なクラウドサービス・ソフトウェアではAmazon Web Servicesにならって仮想サーバをインスタンスと呼びます。仮想ネットワークモード(Virtual Networking Mode)では、仮想サーバはGuest Networkに接続されます。

仮想ルータ(Virtual Router)

 仮想ルータ(Virtual Router)は、CloudStack内でルータ機能を提供する仮想サーバです。前述のとおり、 仮想ネットワークモード(Virtual Networking Mode)では、仮想サーバは Guest Networkに接続されます。

 Guest Networkは CloudStackが管理するローカルネットワークであるため、仮想サーバがインターネットへアクセスする際にはNAT機能を有したルータが必要となります。

 Virtual Routerはこの外部ネットワークと Guest Networkを繋ぐルータ機能を提供します。CloudStackのポートフォワーディングやロードバランサ、Guest NetworkへのDHCPの提供は、このVirtual Routerにて行われます。

Console Proxy

 Console Proxyは、仮想サーバのコンソール画面をユーザーに提供する機能を持つ仮想サーバです。仮想サーバのコンソール画面はVNCによって提供されますが、CloudStackでは、Computing Node 間の接続を外部ネットワークとは別のネットワークで構築することも可能なため、仮想サーバを動作させるComputing Nodeが外部ネットワークに接続されているとは限りません。

 そのため、CloudStackで管理されている範囲のPublic IP アドレスを割り当てたConsole Proxyを経由し、Computing Nodeにアクセスすることで、CloudStackの内部構成に関係なく、ユーザーへのコンソール画面の提供を可能にしています。

Secondary Storage VM

 Secondary Storage VMは、Secondary Storageの処理を行う仮想サーバで、前述のとおりSecondary Storageをマウントし、ユーザーからの要求に応じてテンプレートイメージのコピーやISOイメージのダウンロード、スナップショットの保存を行います。

■ 仮想ネットワークの種類

 CloudStackでは、以下の3つのネットワークモードが提供されています。

  1. Advancedモード Virtual Networking
  2. Advancedモード Direct Networking (Direct tagged)
  3. Basicモード Direct Networking (Direct Untagged)

 Advancedモードでは、VLANにより Guestネットワークがユーザーごとに隔離されます。一方、Basicモードでは、VLANは利用されずユーザーごとの隔離はされません。このためBasicモードは単一組織で運用するプライベートクラウドに適しています。

 Virtual NetworkingとDirect Networkingの構成を以下に説明します。Advancedモードでは、Virtual NetworkingとDirect Networkingが利用可能で、 Basicモードでは Direct Networkモードのみ利用可能です。

図3 Direct NetworkingとVirtual Networking
図3 Direct NetworkingとVirtual Networking

Virtual Networking

 仮想サーバは Virtual Routerを経由して外部ネットワークと通信を行います。この時、外部ネットワークとの通信に用いる IPアドレスをCloudStackでは「Public IPアドレス」と呼び、Virtual Routerに設定されます。Public IPアドレスのネットワークを「Public Network」 と呼びます。

 一方、Virtual Routerと仮想サーバ間のネットワークは「Guest Network」と呼び、各仮想サーバは「Guest IP」アドレスが設定されます。Virtual Networkingでは、CloudStackのポートフォワーディングやロードバランサ機能が利用できます。これらの機能を利用することにより、 Guest Networkに接続している仮想サーバは外部ネットワークへのサービス提供を行うことができます。

Direct Networking

 Direct Networkingでは、仮想サーバは直接外部ネットワークに接続します。Virtual Routerが存在しないため、 Virtual Networkingで利用できたポートフォワーディングやロードバランサなどの機能は使用できませんが、セキュリティ対策として、SecurityGroup機能を利用することができます。仮想サーバは外部ネットワークと直接通信できるため、そのままの状態でも 外部ネットワークへのサービス提供を行うことができます。

 次の表では、それぞれのネットワークモデルで利用できる機能を示します。

Basic Advanced- Virtual Advanced- Direct
VLANによるネットワーク分離 No Yes Yes
タグなしVLAN Yes No No
セキュリティグループ Yes No No
仮想ルータの利用 No Yes No
VPN機能 No Yes No
ロードバランサ機能 No Yes No
DHCP/DNS機能 Yes Yes Yes
1:1 NAT機能 Coming Soon Yes No
Public IPアドレス設定が必要 No Yes No
利用量データの計測 No Yes No
表1 各ネットワークモデルで利用できる機能

 同じクラウド環境で、これら3つのネットワークモードを同時に利用することもできます。 ネットワークモードは後述するZoneの設定時に、Advancedモード、または、Basicモードのどちらかを選択し設定します。

 コンピューティングノードやストレージはZone、Pod、Cluster、 Computing Node(Host)という階層的なアーキテクチャを持っています。

Zone

 Zoneはデータセンターに相当し、複数のPodと1つのSecondary Storageで構成されます。Zoneの設定では、Pod内のComputing Node数やCluster数、ストレージ数の設計がポイントになります。

Pod

 Podはラックに相当します。Podは複数のClusterから構成されます。基本的には1つのPodに対して1つのClusterを配置しますが、複数のClusterを設定することも可能です。

Cluster

 Clusterは、同じハイパーバイザのタイプを持つComputing Nodeと1つ以上のPrimary Storageで構成されます。基本的には同じCluster内にあるノードは仮想サーバのライブマイグレーションが可能です。

Computing Node (Host)

 Computing Node(Host)はCloudStackにおける最小の物理単位で、ハイパーバイザがインストールされた1台のサーバに相当します。

図4 Zone、Pod、Cluster、Computing Node の構成
図4 Zone、Pod、Cluster、Computing Node の構成

 また、アカウントもマルチテナントに対応し、階層的に登録できるようになっています。

Domain(ドメイン)

 DomainはAccountのグループで、Domain毎に管理権限を持つ「Domain Admin」を定義することができます。Domain単位でAccountのグループ化と管理権限の移譲、リソースの利用料の制限設定を行うことができますので、テナント毎にドメインを提供することでマルチテナントやリセラー向けのサービスを提供することも可能です。Account(アカウント)

 AccountはCloudStack環境のリソース利用の基本単位で、Acccountごとにリソースの要求・割り当てが行われます。Account単位でもリソースの利用料の制限設定を行うことができます。Accountには一般のAccountと Domain Admin、System AdminのAccountがあります。一般Accountは自分に割当てられた仮想サーバや リソースの管理のみ可能です。System AdminはCloudStack環境の全ての操作と設定、全体のリソースの利用状況の確認ができます。Domain Admin は、所属するDomain内での仮想サーバやリソースの操作、Domainのリソース利用状況の確認を行うことができます。

User(ユーザー)

 CloudStackのログインの単位で、1つのAccountには、最低でも1つのUserが必要です。同じAccountに複数のUserを作成することもできますので、ログインできるUserを増やしたり、API経由で操作するUserを別にすることができます。

 次回は、CloudStackのインストール方法について解説します。

著者紹介

一般社団法人クラウド利用促進機構(CUPA) 理事
 荒井 康宏

クリエーションライン株式会社 シニアエンジニア
 飯塚 雅之



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る