第4章 仮想マシンインスタンス
OpenStack Compute は、仮想マシンをオンデマンドで提供する中核的なコンポーネントです。Compute は、認証には Identity サービス、イメージ (インスタンスの起動に使用する) には Image サービス、ユーザー/管理者用のインターフェースには Dashboard サービスと対話します。
Red Hat OpenStack Platform により、クラウド内の仮想マシンインスタンスを容易に管理することができます。Compute サービスはインスタンスの作成、スケジューリング、管理を行い、この機能をその他の OpenStackコンポーネントに公開します。本章では、これらの手順に加えて、キーペア、セキュリティーグループ、ホストアグリゲート、フレーバーなどのコンポーネントを追加する手順について説明します。OpenStack では、インスタンス という用語は、仮想マシンインスタンスの意味で使用されます。
4.1. インスタンスの管理
インスタンスを作成する前には、その他の特定の OpenStack コンポーネント (例: ネットワーク、キーペア、イメージ、ブートソースとなるボリュームなど) をそのインスタンスが利用できる状態にしておく必要があります。
本項では、これらのコンポーネントを追加して、インスタンスを作成/管理する手順について説明します。インスタンスの管理には、更新、ログイン、使用状況の確認、リサイズ、削除などの操作が含まれます。
4.1.1. コンポーネントの追加
以下の各項の手順に従って、ネットワーク、キーペアを作成し、イメージまたはボリュームソースをアップロードします。これらのコンポーネントは、インスタンスの作成に使用され、デフォルトでは提供されません。また、新規セキュリティーグループ作成して、ユーザーが SSH アクセスできるようにする必要があります。
- Dashboard で プロジェクト を選択します。
- ネットワーク & gt; ネットワーク を選択し、新規インスタンスを接続することができるプライベートネットワークが存在していることを確認してください(ネットワークの作成方法については、『ネットワーク ガイド』の「ネットワークの 作成 」セクションを参照してください)。
- コンピュート > アクセスとセキュリティー > キーペア を選択して、キーペアが存在していることを確認します (キーペアの作成方法については、「キーペアの作成」を参照)。
ブートソースに使用可能なイメージまたはボリュームのいずれかがあることを確認してください。
- コンピュート > アクセスとセキュリティー > セキュリティーグループ を選択し、セキュリティーグループルールが作成済みであることを確認します(セキュリティーグループの作成については、『 ユーザーおよびアイデンティティー管理ガイド』の「 プロジェクトのセキュリティー管理 」を参照してください)。
4.1.2. インスタンスの起動
Dashboard から 1 つまたは複数のインスタンスを起動します。
デフォルトでは、インスタンスの起動にはインスタンスの起動フォームが使用されます。ただし、必要なステップを簡単に実行することのできるインスタンスの起動ウィザードを有効にすることも可能です。詳細は、「付録B インスタンスの起動ウィザードの有効化」を参照してください。
- Dashboard で プロジェクト > コンピュート > インスタンス を選択します。
- インスタンスの起動 をクリックします。
- 各フィールド (「*」の付いたフィールドは必須です) に設定値を入力し、起動 をクリックします。
指定したオプションに基づいて、1 つまたは複数のインスタンスが作成され、起動されます。
4.1.2.1. インスタンスの起動オプション
以下の表には、インスタンスの起動フォームを使用して新規インスタンスを起動する際に利用可能なオプションをまとめています。インスタンスの起動ウィザードでも同じオプションが利用できます。
タブ | フィールド | 説明 |
---|---|---|
プロジェクトおよびユーザー | プロジェクト | ドロップダウンリストからプロジェクトを選択します。 |
ユーザー | ドロップダウンリストからユーザーを選択します。 | |
詳細 | アベイラビリティーゾーン | ゾーンとは、インスタンスが配置されるクラウドリソースの論理グループです。不明な場合にはデフォルトのゾーンを使用してください (詳しくは「ホストアグリゲートの管理」を参照)。 |
インスタンス名 | インスタンスを識別するための名前 | |
フレーバー | フレーバーは、インスタンスに提供されるリソースを決定します (例: メモリー)。デフォルトのフレーバーの割り当ておよび新規フレーバー作成に関する情報は、「フレーバーの管理」を参照してください。 | |
インスタンス数 | ここに記載のパラメーターで作成するインスタンスの数。「1」が事前に設定されています。 | |
インスタンスのブートソース | 選択した項目に応じて異なる新規フィールドが表示され、ソースを選択することができます。
| |
アクセスとセキュリティー | キーペア | 指定したキーペアがインスタンスに挿入され、SSH を使用したインスタンスへのリモートアクセスに使用されます (直接のログイン情報や静的キーペアが提供されない場合)。通常は 1 プロジェクトあたり 1 つのキーペアが作成されます。 |
セキュリティーグループ | セキュリティーグループには、インスタンスのネットワークトラフィックの種別と方向をフィルタリングするファイアウォールルールが含まれています(グループの設定についての詳しい説明は、『 ユーザーおよびアイデンティティー 管理ガイド』の「プロジェクトのセキュリティー 管理」を参照してください)。 | |
ネットワーク | 選択済みネットワーク | ネットワークは、少なくとも 1 つ選択する必要があります。インスタンスは通常プライベートネットワークに割り当てられ、その後に Floating IP アドレスが割り当てられて外部アクセスが可能になります。 |
作成後 | カスタマイズスクリプトの入力方法 | インスタンスのブート後に実行されるコマンドセットまたはスクリプトファイルを指定することができます (例: インスタンスのホスト名やユーザーパスワードの設定など)。直接入力 を選択した場合には、スクリプトデータフィールドにコマンドを書き込みます。それ以外の場合には、スクリプトファイルを指定してください。 注記 #cloud-config で開始するスクリプトは、cloud-config 構文を使用するものとして解釈されます (この構文についての情報は、http://cloudinit.readthedocs.org/en/latest/topics/examples.html を参照してください)。 |
高度な設定 | ディスクパーティション | デフォルトでは、インスタンスは単一のパーティションとして作成されて、必要に応じて動的にリサイズされます。ただし、パーティションを手動で設定する方法を選択することも可能です。 |
コンフィグドライブ | このオプションを選択した場合には、OpenStack はメタデータを読み取り専用の設定ドライブに書き込みます。このドライブはインスタンスのブート時に (Compute のメタデータサービスの代わりに) インスタンスに接続されます。インスタンスがブートした後には、このドライブをマウントしてコンテンツを表示することができます (これにより、ユーザーがファイルをインスタンスに提供することが可能となります)。 |
4.1.4. インスタンスのリサイズ
インスタンスのリサイズ (メモリーまたは CPU 数) を行うには、適切な容量のあるインスタンスで新規フレーバーを選択する必要があります。サイズを大きくする場合には、ホストに十分な容量があることをあらかじめ確認することを忘れないようにしてください。
- 各ホストに SSH 鍵認証を設定してホスト間の通信が可能な状態にし、Compute が SSH を使用してディスクを他のホストに移動できるようにします (例: 複数のコンピュートノードが同じ SSH 鍵を共有することが可能です)。
元のホストでリサイズを有効にするには、Compute 環境ファイルの
allow_resize_to_same_host
パラメーターを「True」に設定します。注記allow_resize_to_same_host
パラメーターによって、同じホスト上のインスタンスはリサイズされません。このパラメーターが全コンピュートノードで「True」に指定されている場合でも、スケジューラーは同じホスト上のインスタンスのリサイズを強制しません。これは、想定されている動作です。- Dashboard で プロジェクト > コンピュート > インスタンス を選択します。
- インスタンスの アクション コラムの矢印をクリックして、インスタンスのリサイズ を選択します。
- 新しいフレーバー フィールドで新規フレーバーを選択します。
起動時にインスタンスのパーティション分割を手動で行うには、以下の手順で設定します (これにより、ビルドタイムが短縮されます)。
- 高度な設定 を選択します。
- ディスクパーティション フィールドで、手動 を選択します。
- リサイズ をクリックします。
4.1.5. インスタンスへの接続
本項では、Dashboard またはコマンドラインインターフェースを使用して、インスタンスのコンソールにアクセスする複数の方法について説明します。また、インスタンスのシリアルポートに直接接続して、ネットワーク接続が失敗しても、デバッグすることが可能です。
4.1.5.1. Dashboard を使用したインスタンスのコンソールへのアクセス
コンソールを使用すると、Dashboard 内でインスタンスに直接アクセスすることができます。
- Dashboard で コンピュート > インスタンス を選択します。
- インスタンスの ドロップダウンメニュー をクリックして、コンソール を選択します。
- イメージのユーザー名とパスワードを使用してログインします (例: CirrOS イメージでは「cirros」と「cubswin:)」を使用します)。
4.1.5.2. VNC コンソールへの直接接続
nova get-vnc-console
コマンドで返された URL を使用すると、インスタンスの VNC コンソールに直接アクセスすることができます。
- ブラウザー
ブラウザーの URL を取得するには、以下のコマンドを実行します。
$ nova get-vnc-console INSTANCE_ID novnc
- Java クライアント
Java クライアントの URL を取得するには、以下のコマンドを実行します。
$ nova get-vnc-console INSTANCE_ID xvpvnc
「nova-xvpvncviewer」は、Java クライアントの最も簡単な例を提供します。クライアントをダウンロードするには、以下のコマンドを実行します。
# git clone https://github.com/cloudbuilders/nova-xvpvncviewer # cd nova-xvpvncviewer/viewer # make
インスタンスの Java クライアント URL を使用してビューアーを実行します。
# java -jar VncViewer.jar URL
このツールは、お客様の便宜のためのみに提供されており、Red Hat では正式にサポートされていません。
4.1.6. インスタンスの使用状況の表示
以下のような使用状況統計が提供されます。
プロジェクト別
プロジェクト別の使用状況を確認するには、プロジェクト > コンピュート > 概要 を選択します。全プロジェクトインスタンスの使用状況の概要が即時に表示されます。
使用状況を照会する期間を指定して 送信 ボタンをクリックすると、特定の期間の統計を表示することもできます。
ハイパーバイザー別
管理者としてログインしている場合には、全プロジェクトの情報を表示することができます。管理 > システム をクリックしてからタブを 1 つ選択します。たとえば、リソース使用状況 タブでは、特定の期間のレポートを確認することができます。また、ハイパーバイザー をクリックすると、現在の仮想 CPU、メモリー、ディスクの統計を確認することができます。
注記仮想 CPU 使用量
の値 (y 中 x 使用中
) には、全仮想マシンの仮想 CPU の合計数 (x) とハイパーバイザーのコアの合計数 (y) が反映されます。
4.1.7. インスタンスの削除
- Dashboard で プロジェクト > コンピュート > インスタンス を選択して、対象のインスタンスにチェックを付けます。
- インスタンスの削除 をクリックします。
インスタンスを削除しても、接続されていたボリュームは削除されません。この操作は別途実行する必要があります(『 ストレージガイド』の「ボリュームの 削除 」を参照)。
4.1.8. 複数インスタンスの同時管理
同時に複数のインスタンスを起動する必要がある場合には (例: コンピュートまたはコントローラーのメンテナンスでダウンしている場合など)、プロジェクト > コンピュート > インスタンス から簡単に起動できます。
- 起動するインスタンスの最初のコラムにあるチェックボックスをクリックします。全インスタンスを選択するには、表の最初の行のチェックボックスをクリックします。
- 表の上にある その他のアクション をクリックして インスタンスの起動 を選択します。
同様に、適切なアクションを選択して、複数のインスタンスを終了またはソフトリブートすることができます。