CloudStackを構成するコンポーネントを探る:CloudStackによるプライベートクラウド構築術(2)(2/2 ページ)
CloudStackは、オープンソースベースのIaaSクラウド構築・運用ソフトウェア。使いやすく、機能が充実していることなどから、大規模なデータセンター事業者や組織での導入が相次いでいる。本連載では、このソフトウェアをプライベートクラウド構築に活用する方法を紹介する
CloudStackの論理コンポーネント
次に CloudStackの論理的な構成を図2に示します。
CloudStackを構成する仮想的なコンポーネントは以下のとおりです。
- 仮想サーバ(インスタンス)
- 仮想ルータ(Virtual Router)
- Console Proxy
- Secondary Storage VM
それぞれのコンポーネントについて、以下に説明します。
仮想サーバ(インスタンス)
仮想サーバ(インスタンス)は、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つのネットワークモードが提供されています。
- Advancedモード Virtual Networking
- Advancedモード Direct Networking (Direct tagged)
- Basicモード Direct Networking (Direct Untagged)
Advancedモードでは、VLANにより Guestネットワークがユーザーごとに隔離されます。一方、Basicモードでは、VLANは利用されずユーザーごとの隔離はされません。このためBasicモードは単一組織で運用するプライベートクラウドに適しています。
Virtual NetworkingとDirect Networkingの構成を以下に説明します。Advancedモードでは、Virtual NetworkingとDirect Networkingが利用可能で、 Basicモードでは Direct Networkモードのみ利用可能です。
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台のサーバに相当します。
また、アカウントもマルチテナントに対応し、階層的に登録できるようになっています。
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) 理事
荒井 康宏
クリエーションライン株式会社 シニアエンジニア
飯塚 雅之
- CloudStackベースのサービスを活用したハイブリッド構成を検討する
- Apache CloudStackの開発プロセスを知ろう
- Apache CloudStack開発用クラウド環境の構築
- 技術を深めるには開発が一番? Apache CloudStack開発のいまを知ろう
- ChefのKnifeでCloudStackを操作する方法
- CloudStackとネットワーク機器の連携
- CloudStack 3.0の新機能
- CloudStackをAPIで操作する
- CloudStackを使いこなすための設定
- CloudStackのインストールからサーバ起動まで
- CloudStack 採用、IDCフロンティアの「NOAH」を試す
- CloudStackを構成するコンポーネントを探る
- クラウド構築で注目が集まるCloudStackとは?
Copyright © ITmedia, Inc. All Rights Reserved.