SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

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

Glanceの動作と仕組み~Novaのインスタンスイメージを柔軟に管理

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


イメージのメタ情報を管理するglance-registry

Novaはイメージを使ってインスタンスを作成するとき、イメージのメタ情報を参照して、インスタンスを作成するコンピュートノードを適切に選択します。また、ユーザーが利用可能なイメージの一覧を確認したい場合、やはりメタ情報から提供されているイメージの一覧を取得します。

glance-registryは、こうした場合に、イメージのメタ情報をGlance内部のデータベースから取り出したり、逆に格納したりするのが役目です。glance-registryにメタ情報の取り出しや格納を直接リクエストするのは、先に示した図のとおり、glance-apiです。

メタ情報に含まれている情報は以下のとおりです。どのイメージを利用するかを判断するのに十分な情報が提供されます。

id イメージに与えられる一意な識別記号
name イメージに与えられる名前。一覧にした際にイメージの内容を人が理解する際の助けとして利用する
checksum イメージを元に作成するハッシュ情報。取得したイメージが壊れていないことや途中ですりかえられてないことを検証するのに利用する
container_format イメージのコンテナ形式。仮想化技術ごとに利用可能な形式が定められている
disk_format イメージのディスク形式。仮想化技術ごとに利用可能な形式が定められている
file イメージが配置されている場所
min_disk このイメージを元にインスタンスを作る際に最小限必要なディスクサイズ
min_ram このイメージを元にインスタンスを作る際に最小限必要なメモリのサイズ
status イメージの状態。削除中、利用可能といった状態が記述される
self イメージの情報を操作する際にアクセスするエンドポイントのURL
schema イメージのメタデータがどのようにして記述されているのかの解説にアクセスする際のURL
owner イメージが何に所属しているのかの情報。特定のユーザーであったり、テナントであったりする
size イメージの容量
virtual_size イメージ圧縮前のイメージサイズ。Disk Formatによってはイメージは圧縮されているため必ずしもsizeとは一致しない
protected イメージが保護されているか否か。保護されているイメージは上述のownerでなければ削除できない
create_at イメージが作成された日時
description ユーザーがイメージに付加する説明文
tags ユーザーが任意で付加できる追加のメタデータ

コラムglance-apiとglance-registryとを分けて実装する意義

glance-apiはユーザーや他コンポーネントからのリクエストを受け付ける部分。一方、glance-registryはデータベースへのアクセスを司る部分です。

一見すると、単一のコンポーネントにしてしまってもよいように思えます。しかし、glance-registryはデータベースやストレージと関わりを持ちます。そのため、開発はglance-apiとは分離して行いたいところです。

また、データベースやストレージに変更があった場合、glance-registryのみ再起動だけで済みます。glance-apiを再起動する必要がありません。リクエストの受付部分、例えば認可ポリシーに変更があった場合も同様で、glance-apiのみ再起動すればよく、glance-registryを止める必要はありません。

このように、設定の細分化や開発を容易にして品質を向上させるという面においても、マイクロサービスアーキテクチャで作られているということが有効に働きます。

次のページ
異なるタイプのストレージサービスを選択・併用できる

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

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

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/10017 2021/03/25 21:22

イベント

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

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

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

メールバックナンバー