5.4. Image サービスの設定
- Image サービスの認証のための Identity サービスの設定 (データベースエントリーの作成、接続文字列の設定、設定ファイルの更新)
- ディスクイメージストレージバックエンドの設定 (本ガイドでは Object Storage サービスを使用)
- Image サービスへのアクセスのためのファイアウォール設定
- TLS/SSL の設定
- Image サービスデータベースへのデータ投入
5.4.1. Image サービスのデータベース接続の設定 リンクのコピーリンクがクリップボードにコピーされました!
/etc/glance/glance-api.conf
および /etc/glance/glance-registry.conf
のファイルで定義されます。サービスを起動する前に、有効なデータベースサーバーをポイントするように更新しておく必要があります。
root
ユーザーとしてログインして実行する必要があります。
手順5.2 Image サービスの SQL データベース接続の設定
glance-api.conf
ファイルでsql_connection
の設定キーの値を設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- USER は、Image サービスのデータベースのユーザー名 (通常は
glance
) に置き換えてください。 - PASS は選択したデータベースユーザーのパスワードに置き換えます。
- IP は、データベースサービスをホストするシステムの IP アドレスまたはホスト名に置き換えます。
- DB は、Image サービスのデータベースの名前 (通常は
glance
) に置き換えてください。
glance-registry.conf
ファイルでsql_connection
の設定キーの値を設定します。openstack-config --set /etc/glance/glance-registry.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
# openstack-config --set /etc/glance/glance-registry.conf \ DEFAULT sql_connection mysql://USER:PASS@IP/DB
Copy to Clipboard Copied! Toggle word wrap Toggle overflow USER、PASS、IP、DB は、上記のステップで使用した値と同じ値に置き換えます。
重要
5.4.2. Image サービス用のアイデンティティーレコードの作成 リンクのコピーリンクがクリップボードにコピーされました!
services
テナントが作成済みであることを前提としています。詳しい説明は、以下のリンクを参照してください。
keystonerc_admin
ファイルをコピーして keystone コマンドラインユーティリティーをインストールした任意のマシンで実行してください。
手順5.3 Image サービス用のアイデンティティーレコードの作成
- Keystone に管理ユーザーとしてアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance
ユーザーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow PASSWORD は、Image サービスが Identity サービスとの認証を行う際に使用するセキュアなパスワードに置き換えます。services
テナントのコンテキスト内で、glance
ユーザーとadmin
ロールを関連付けます。[(keystone_admin)]# keystone user-role-add --user glance --role admin --tenant services
[(keystone_admin)]# keystone user-role-add --user glance --role admin --tenant services
Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance
の Image サービスのエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance
エンドポイントエントリーを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP は、Image サービスをホストするサーバーの IP アドレスまたはホスト名に置き換えます。
5.4.3. Image サービスの認証の設定 リンクのコピーリンクがクリップボードにコピーされました!
root
ユーザーとしてログインして実行する必要があります。
手順5.4 Image サービスが Identity サービスを使用して認証を行うための設定
glance-api
サービスを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance-registry
サービスを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- IP は、Identity サーバーの IP アドレスまたはホスト名に置き換えます。
- services は、Image サービス用に作成されたテナントの名前に置き換えます (上記の例では、この値を
services
に設定)。 - glance は、Image サービス用に作成されたサービスユーザーの名前に置き換えます (上記の例では、この値を
glance
に設定)。 - PASSWORD は、サービスユーザーに関連付けられたパスワードに置き換えます。
5.4.4. Object Storage サービスをイメージの保管に使用する方法 リンクのコピーリンクがクリップボードにコピーされました!
file
) を使用しますが、アップロードしたディスクイメージを保管するには、次にあげるいずれかのストレージバックエンドを使用することができます。
file
: イメージサーバーのローカルファイルシステム (/var/lib/glance/images/
ディレクトリー)swift
: OpenStack Object Storage サービス
注記
openstack-config
コマンドを使用します。ただし、/etc/glance/glance-api.conf
ファイルを手動で更新することもできます。このファイルを手動で更新する場合は、default_store
パラメーターが正しいバックエンドに設定されていることを確認し (例: 'default_store=rbd
')、バックエンドのセクションのパラメーターを更新します ('RBD Store Options
' のセクション)。
手順5.5 Image サービスが Object Storage サービスを使用するように設定する手順
default_store
設定キーをswift
に設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT default_store swift
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT default_store swift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow swift_store_auth_address
設定キーを Identity サービスのパブリックエンドポイントに設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_auth_address http://IP:5000/v2.0/
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_auth_address http://IP:5000/v2.0/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Object Storage サービスでイメージを保管するコンテナーを追加します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_create_container_on_put True
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_create_container_on_put True
Copy to Clipboard Copied! Toggle word wrap Toggle overflow swift_store_user
設定キーは、認証に使用するテナントとユーザーが含まれるように、TENANT:USER: の形式で設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_user services:swift
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_user services:swift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 本ガイドの手順に従って Object Storage をデプロイする場合には (上記のコマンド例に記載されているように)、上記の値をそれぞれ
services
テナントとswift
ユーザーに置き換えてください。 - 本ガイドの手順には従わずに Object Storage をデプロイする場合には、上記の値はその環境の適切な Object Storage テナントとユーザーに置き換える必要があります。
swift_store_key
設定キーを Object Storage サービスのデプロイ時にswift
ユーザー用に指定したパスワードに設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_key PASSWORD
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT swift_store_key PASSWORD
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.5. Image サービスのトラフィックを許可するためのファイアウォール設定 リンクのコピーリンクがクリップボードにコピーされました!
9292
経由でネットワークにアクセスできるようにします。以下の手順に記載するステップはすべて、Image サービスをホストするサーバーに root
ユーザーとしてログインして実行してください。
手順5.6 Image サービスのトラフィックを許可するためのファイアウォール設定
- テキストエディターで
/etc/glance/glance-api.conf
ファイルを開き、以下のパラメーターの前に付いているコメント文字を削除します。bind_host = 0.0.0.0 bind_port = 9292
bind_host = 0.0.0.0 bind_port = 9292
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - テキストエディターで
/etc/sysconfig/iptables
ファイルを開きます。 - ポート
9292
で TCP トラフィックを許可する INPUT ルールを追加します。新規ルールは、トラフィックを REJECT する INPUT ルールよりも前に記載する必要があります。-A INPUT -p tcp -m multiport --dports 9292 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 9292 -j ACCEPT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/sysconfig/iptables
ファイルへの変更を保存します。iptables
サービスを再起動して、変更を有効にします。systemctl restart iptables.service
# systemctl restart iptables.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.6. Image サービスのための RabbitMQ メッセージブローカーの設定 リンクのコピーリンクがクリップボードにコピーされました!
root
ユーザーとしてログインして実行する必要があります。
手順5.7 Image サービス (glance) が RabbitMQ メッセージブローカーを使用するための設定
- RabbitMQ を通知機能として設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notification_driver messaging
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT notification_driver messaging
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ のホスト名を設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_host RABBITMQ_HOST
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_host RABBITMQ_HOST
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RABBITMQ_HOST は、メッセージブローカーの IP アドレスまたはホスト名に置き換えます。 - メッセージブローカーのポートを
5672
に設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_port 5672
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_port 5672
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - RabbitMQ の設定時に Image サービス用に作成した RabbitMQ ユーザー名とパスワードを設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_userid glance openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_password GLANCE_PASS
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_userid glance # openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_password GLANCE_PASS
Copy to Clipboard Copied! Toggle word wrap Toggle overflow glance
および GLANCE_PASS は、Image サービス用に作成した RabbitMQ ユーザー名とパスワードに置き換えます。 - RabbitMQ の起動時に、
glance
ユーザーに全リソースに対するパーミッションが付与されます。このアクセスは、特別に仮想ホスト/
を介して行われます。Image サービスがこの仮想ホストに接続されるように設定します。openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_virtual_host /
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT rabbit_virtual_host /
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.7. Image サービスが SSL を使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
glance-api.conf
ファイルで、以下のオプションを使用して SSL を設定します。
設定オプション | 説明 |
---|---|
cert_file
|
API サーバーをセキュアに起動する際に使用する証明書ファイルへのパス
|
key_file
|
API サーバーをセキュアに起動する際に使用する秘密鍵ファイルへのパス
|
ca_file
|
クライアントの接続を検証するのに使用する CA 証明書ファイルへのパス
|
5.4.8. Image サービスのデータベースへのデータ投入 リンクのコピーリンクがクリップボードにコピーされました!
手順5.8 Image サービスのデータベースへのデータ投入
- Image サービスをホストするシステムにログインします。
glance
ユーザーに切り替えます。su glance -s /bin/sh
# su glance -s /bin/sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/glance/glance-api.conf
および/etc/glance/glance-registry.conf
で特定されているデータベースを初期化し、データを投入します。glance-manage db_sync
$ glance-manage db_sync
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.9. ローカルファイルシステムを介したイメージのロードの有効化 リンクのコピーリンクがクリップボードにコピーされました!
注記
手順5.9 Image サービスと Compute サービスがローカルファイルシステムでイメージを送受信するための設定
openstack-nova-compute
に要求される Image のファイルシステムメタデータを公開するための JSON ドキュメントを作成します。- Image サービスが JSON ドキュメントを使用するように設定します。
openstack-nova-compute
が Image サービスによって提供されるファイルシステムメタデータを使用するように設定します。
5.4.9.1. Image サービスがローカルファイルシステムを介してイメージを提供するための設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-compute
サービスに公開する必要があります。この操作は以下の手順に従って実行します。
手順5.10 Compute サービスが Compute サービスに対してローカルファイルシステムメタデータを公開するための設定
- Image サービスが使用するファイルシステムのマウントポイントを特定します。
df
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 51475068 10905752 37947876 23% / devtmpfs 2005504 0 2005504 0% /dev tmpfs 2013248 668 2012580 1% /dev/shm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow たとえば、Image サービスが/dev/sda3
ファイルシステムを使用する場合には、対応するマウントポイントは/
です。 - 以下のコマンドで、マウントポイントの一意識別子を作成します。
uuidgen
# uuidgen ad5517ae-533b-409f-b472-d82f91f41773
Copy to Clipboard Copied! Toggle word wrap Toggle overflow uuidgen
の出力の内容をメモしておきます。この情報は、次のステップで使用します。 .json
の拡張子でファイルを作成します。- テキストエディターでファイルを開き、以下の情報を追加します。
{ "id": "UID", "mountpoint": "MOUNTPT" }
{ "id": "UID", "mountpoint": "MOUNTPT" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- UID は、前のステップで作成した一意識別子に置き換えます。
- MOUNTPT は、Image サービスのファイルシステムのマウントポイント (最初のステップで特定したマウントポイント) に置き換えます。
- Image サービスが JSON ファイルを使用するように設定します。
openstack-config --set /etc/glance/glance-api.conf \ DEFAULT show_multiple_locations True openstack-config --set /etc/glance/glance-api.conf \ DEFAULT filesystem_store_metadata_file JSON_PATH
# openstack-config --set /etc/glance/glance-api.conf \ DEFAULT show_multiple_locations True # openstack-config --set /etc/glance/glance-api.conf \ DEFAULT filesystem_store_metadata_file JSON_PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JSON_PATH は、JSON ファイルへの完全なパスに置き換えます。重要
適切なポリシー設定を行わずに設定した場合には、Image サービスの管理者以外のユーザーでもアクティブなイメージデータを置き換えることができてしまいます (他のユーザーへの通知なしに現在のイメージが切り替えられる可能性があります)。設定情報に関する OSSN 通知 (推奨のアクション) は https://wiki.openstack.org/wiki/OSSN/OSSN-0065 を参照してください。 - Image サービスを再起動します (すでに実行されていない場合)。
systemctl restart openstack-glance-registry.service systemctl restart openstack-glance-api.service
# systemctl restart openstack-glance-registry.service # systemctl restart openstack-glance-api.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4.9.2. Compute サービスがローカルファイルシステムメタデータを使用するための設定 リンクのコピーリンクがクリップボードにコピーされました!
openstack-nova-compute
がローカルファイルシステムからイメージをロードできるようになります。
手順5.11 Compute サービスが Image サービスによって提供されるローカルファイルシステムメタデータを使用するための設定
file://
スキームを使ったダイレクト URL の使用を有効にするようにopenstack-nova-compute
を設定します。openstack-config --set /etc/nova/nova.conf \ DEFAULT allowed_direct_url_schemes file
# openstack-config --set /etc/nova/nova.conf \ DEFAULT allowed_direct_url_schemes file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Image サービスのファイルシステム用のエントリーを作成します。
openstack-config --set /etc/nova/nova.conf \ image_file_url filesystems FSENTRY
# openstack-config --set /etc/nova/nova.conf \ image_file_url filesystems FSENTRY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow FSENTRY は Image サービスのファイルシステムに割り当てる名前に置き換えます。 - Image サービスがローカルファイルシステムメタデータを公開するために使用する
.json
ファイルを開きます。次のステップでは、このファイルに記載されている情報を使用します。 - Image サービスによって公開されるファイルシステムメタデータにエントリーを関連付けます。
openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY id UID openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY mountpoint MOUNTPT
# openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY id UID # openstack-config --set /etc/nova/nova.conf \ image_file_url:FSENTRY mountpoint MOUNTPT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の値を置き換えてください。- UID は、Image サービスが使用する一意識別子に置き換えます。Image サービスによって使用される
.json
ファイルでは、UID は"id":
の値です。 - MOUNTPT は Image サービスのファイルシステムが使用するマウントポイントに置き換えます。Image サービスが使用する
.json
ファイルでは、MOUNTPT は"mountpoint":
の値です。