SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み

Novaの動作と仕組み~複数のノード・仮想化方式でも効率的にインスタンス管理

マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み 第2回


  • X ポスト
  • このエントリーをはてなブックマークに追加

 前回は、機能・アーキテクチャの両面でOpenStackの中核と呼ぶべきサービス「Keystone」を紹介しました。Keystoneはエンドポイント情報の共有や認証認可といったOpenStackの中核的機能を担っているほか、サービスの増減やバージョンアップを容易するアーキテクチャをOpenStackに提供しています。今回は、2つ目のOpenStackのコアサービスとして「Nova」を取り上げます。Novaは仮想サーバーの作成と管理を司るサービスです。Keystoneと並んで、OpenStackの中核を担うサービスでもあります。

  • X ポスト
  • このエントリーをはてなブックマークに追加

おさらい:OpenStackの構造

OpenStackの構造は前回紹介しましたが、ここで再度簡単に説明します。

OpenStackはクラウドコンピューティングサービス基盤を構築するためのソフトウェア群です。 1つ1つのソフトウェアをサービスと呼びます。 OpenStackでクラウドコンピューティングサービス基盤を構築する際には、サービスのうち、必要なものだけを組み合わせて構築します。

また、サービスの中でも主要なものを、特にコアサービスと呼びます。 今回取り上げるNovaもコアサービスの1つです。コアサービスにはNovaのほか、Neutron、Swift、Glance、Cinderと前回取り上げたKeystoneまで合計6つあります。

OpenStackのコアサービス(赤い四角のもの)
OpenStackのコアサービス(赤い四角のもの)

OpenStackのノード

OpenStackで作るクラウドコンピューティングサービスは、複数のノードから構成されます。ノードにはいろんな種類があります。主なものは次表のとおりです。

コントローラノード クラウドコンピューティングサービスを統括するノード。プライベートクラウドを利用する際、このノードに対してエンドユーザーはリクエストを送ることになる
コンピュートノード 仮想サーバーが動作するノード
ネットワークノード プライベートクラウドのネットワークを管理するノード
ストレージノード 仮想サーバーのための追加ディスクを提供するノード
オブジェクトストレージノード バックアップなどを行うためのファイル保管用ノード

1台のサーバー機の上に複数のノードを構築することも可能ですが、多くの場合、1台のサーバー機に構築するのは1つのノードだけとします。 また、同じ種類のノードのサーバー機を複数台設置することもよくあります。特に、コンピュータノードにしたサーバー機は複数台設置するケースがほとんどです。

Novaとは

では、今回のメインテーマであるNovaの説明を始めましょう。 Novaは、OpenStackのコンピュートノードに仮想サーバーを作成し管理するサービスです。 Novaが作成した仮想サーバーのことをインスタンスと呼びます。

実際にNovaが行うことは次のとおりです。

  • 既存のインスタンスの操作
  • 新しいインスタンスの作成
  • コンピュートノードの管理

Novaの構造

Keystoneは1つのサーバー機にインストールするだけで動作しました。 一方、Novaは複数のコンポーネントで構成されます。 各コンポーネントを適切なサーバー機にインストールすることによって、Novaは動作します。

Novaを構成する主なコンポーネントとその機能は次表のとおりです。どのコンポーネントがどの種類のノードにインストールされるかにも注目してください。

コンポーネント 機能 配置されるノード
nova-compute 各インスタンスを直接扱うコンポーネント コンピュートノード
nova-api エンドユーザーからのリクエストを受け付けるためのコンポーネント。ここがエンドポイントとなるほか、認可もここで実施する コントローラノード
nova-scheduler インスタンスを作成するコンピュートノードを決定するコンポーネント コントローラノード
nova-conductor コンピュートノードに配置されたnova-computeの情報をデータベースに集約し、他のコンポーネントへ提供するコンポーネント コントローラノード

これらのコンポーネントは次図のように配置されます。

Novaのコンポーネント群の配置
Novaのコンポーネント群の配置

次ページから、先ほど挙げたNovaが行う3つのことの機能を順に説明していきます。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
既存のインスタンスの操作

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
マイクロサービスアーキテクチャが支えるOpenStackの動作と仕組み連載記事一覧

もっと読む

この記事の著者

大嶋 俊祐(株式会社ワークスアプリケーションズ)(オオシマ シュンスケ)

株式会社ワークスアプリケーションズ所属。 社内では技術研修を担当しながら、OpenStackを使ってプライベートクラウドを作っています。 自分が運営する研修を自分が作ったプライベートクラウドを使って運営するのがマイブーム。 あだ名はひよこ。TRPGが趣味なのでどなたかお誘いください。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9848 2021/03/25 21:21

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング