OpenStackの使い方
第三回となる今回は、OpenStackの使い方についてです。
以下の手順で説明します。
– フレーバーの作成
– イメージの登録
– セキュリティグループの作成
– キーペアの登録
– インスタンスの作成と起動
– フローティングIPアドレスの割り当て
– インスタンスへの接続
フレーバーの作成
フレーバーとは
フレーバーは、インスタンス(OpenStack クラウドの中で実行中の仮想マシン)の CPU、メモリ、ストレージ容量を定義することが出来ます。
簡単に言うと、フレーバーはサーバー用に利用可能なハードウェア設定となります。
デフォルトでの準備されているフレーバーは以下のとおりです。
フレーバー
仮想 CPU
ディスク (GB 単位)
メモリー (MB 単位)
m1.tiny
1
1
512
m1.small
1
20
2048
m1.medium
2
40
4096
m1.large
4
80
8192
m1.xlarge
8
160
16384
フレーバーの新規作成
そのまま利用することも可能ですが、今回は説明も兼ねて新規のフレーバーを追加します。
フレーバーの管理はadminユーザで行います。
管理 → システムパネル → フレーバー と進み、最後に フレーバーの作成 をクリックします。
続いて下記の通りに入力し、最後に フレーバーの作成をクリックしてください。
– 名前:demo
– ID:auto (ランダムなUUID4が割り当てられます)
– 仮想CPU:1
– メモリー MB:512
– ルートディスク GB:20
– 一時ディスク GB:0
– スワップディスク MB:0
これで demo というフレーバーが作成されました。
イメージの登録
イメージとは
OpenStack のイメージは「仮想マシンテンプレート」と考えることができます。
イメージはISOイメージのような標準的なインストールメディアや
QCOW2のような仮想マシンイメージとして使用できるものが登録可能で、
基本的にインスタンスを起動するために使用されるブート可能なファイルシステムを含みます。
イメージの新規登録
デフォルトで、cirros(クラウド向けのコンパクトなLinuxディストリビューション) が登録されていますが、こちらも説明を兼ねて新規のイメージを追加します。
イメージの管理もadminユーザで行います。
管理 → システムパネル → イメージ と進み、最後に イメージの作成 をクリックします。
続いて下記の通りに入力し、最後に イメージの作成をクリックしてください。今回はubuntuの公式サイトより、仮想マシンのイメージを入手します。
– 名前:ubuntu
– 説明:空白でOK
– イメージのソース:イメージの場所
– イメージの場所:http://uec-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
– 形式:QCOW2-QEMU エミュレーター
– アーキテクチャー:空白でOK
– 最小ディスク (GB):空白でOK
– 最小メモリー (MB):空白でOK
– パブリック:チェックを入れる
– 保護:チェックを入れない
これで 新たに ubuntu というイメージが作成されました。
状態のステータスがActiveに変わればサーバへのアップロード(ダウンロード)が完了し、利用出来る準備が出来ています。なお、後ほどこのイメージを利用してインスタンスを起動します。
また、ローカル上にあるイメージファイルをアップロードするには、先程のイメージの作成画面にある イメージのソース の部分で
イメージファイル を選択すると参照の項目に変わりますので、そこからイメージファイルの選択が出来るようになります。
イメージの登録方法については以上となります。
セキュリティグループの作成
セキュリティグループとは
セキュリティグループは、インスタンスへアクセスが可能なトラフィックの種別を制限するために使用するネットワークのアクセスルールを名前を付けてまとめたものです。
インスタンスを起動して、1 つまたは複数のセキュリティグループをインスタンスに割り当てることができます。
尚、デフォルトでは、ルールと合致しない受信トラフィックは、拒否されます。
セキュリティグループの新規作成
今回作成する仮想マシンに適用するセキュリティグループを作成します。
これ以降の作業はdemoユーザで行います。
作業の目的は、最低限必要となるICMPとSSHを許可するグループ”base”の作成です。
demoユーザでログインし、
プロジェクト → コンピュート → アクセスとセキュリティ と進み、セキュリティグループのタブにある セキュリティグループの作成クリックします。
続いて下記の通りに入力し、最後に セキュリティグループの作成 をクリックしてください。
– 名前:base
– 説明:base group
これで base というセキュリティグループが作成されました。
続いてbaseセキュリティグループに許可ルールを追加します。
作成したbaseセキュリティグループのアクションの項目にあるルールの管理 をクリックします。
現在設定されているルールが一覧で表示されますので、次にルールの追加をクリックします。
ICMPルールの追加
ルールの項目で カスタム ICMP ルール を選択して追加をクリックします。他の項目はデフォルトでOKです。
SSHルールの追加
次は、SSH を選択して追加をクリックします。こちらも他の項目はデフォルトでOKです。
これで 新規に作成したbase というセキュリティグループにICMPとSSHアクセスに対する許可が追加されました。
今回は、最低限必要となるICMPとSSHの許可でしたが、必要によりHTTPやFTPを許可させると良いでしょう。
キーペアの登録
キーペアの役割
キーペアの登録を行うことで、SSH接続することが出来るようになります。
事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込みを行います。
キーペアの新規作成
stackユーザでOpenStackサーバにSSHでログインし、ssh-keygen コマンドで
SSH キーペアを生成します。
$ ssh -keygen -t rsa -f cloud . key
Generating public /private rsa key pair .
Enter passphrase ( empty for no passphrase ) :
Enter same passphrase again :
パスフレーズを聞かれますので任意の文字で設定します。
下記の2ファイルが作成されますので、cloud.key.pub の方に記述されている内容を
ローカル上に保存しておきます。(次に行うキーペアのインポートで使用します。)
cloud.key.pub:公開鍵
cloud.key:秘密にしておく鍵
キーペアのインポート
続いて、OpenStackのダッシュボードからキーペアのインポートを行います。
demoユーザでログインし、
プロジェクト → コンピュート → アクセスとセキュリティ と進み、キーペアのタブにある キーペアのインポート をクリックします。
続いて下記の内容を入力し、最後に キーペアのインポート をクリックしてください。
– キーペア名:admin
– 公開鍵:先程ローカルに保存 cloud.key.pub の内容
キーペアのインポートにより、admin というキーペアが登録されました。
インスタンスの作成と起動
いよいよインスタンスの作成と起動を行います。
これまでの手順で作成済みのフレーバー demo と 登録済みのイメージ ubuntu を使用します。
インスタンスの新規作成
demoユーザでログインし、
プロジェクト → コンピュート → インスタンス と進み、インスタンスの起動 をクリックします。
続いて下記の内容を入力し、最後に 起動 をクリックしてください。
タブ名:詳細(仮想マシンのスペックを設定)
– アベイラビリティゾーン:nova
– インスタンス名:ubuntu
– フレーバー:demo
– インスタンス数:1
– インスタンスのブートソース:イメージから起動
– イメージ名:ubuntu
タブ名:アクセスとセキュリティ(仮想マシンの公開鍵/セキュリティを設定)
– キーペア:admin
– セキュリティグループ
base:チェックを入れる
default:チェックを入れる
タブ名:ネットワーク(仮想マシンに接続するネットワークを設定)
– 選択済みネットワーク にprivate を入れた状態にする
最後に 起動 をクリックします。
以上の手順で 仮想マシン ubuntu が起動します。
フローティングIPアドレスの割り当て
フローティングIPアドレスとは
インスタンスを起動すると、プライベート IP アドレスが割り当てられインスタンスを明示的に終了するまで、
この IP アドレスは変わりません。
インターネットなどのクラウド外のネットワークと通信するために使用されるパブリックアドレスは、
フローティングIPアドレスの割り当てを行うことで利用可能となります。
フローティングIPアドレスの割り当て
先程操作を行ったインスタンスの画面で、アクションの項目にある FloatingIPの割り当て をクリックします。
FloatingIPの割り当ての管理画面が開きますので、IPアドレスの項目にある +(プラス) をクリックします。
プールを、public を選択した状態で IPの確保 をクリックします。
IPアドレス(192.168.0.4)が確保されて、割り当てが出来る状態になりましたので、割り当て をクリックします。
ダッシュボードでインスタンス ubuntu に FloatingIPアドレス(192.168.0.4)が確保されたことが確認できるはずです。
尚、今回はVirtualBoxを使ったテスト環境の構築のため、ローカルのIPを割り当てていますが、
この部分をグローバルIPアドレスにすることで、ネットワークの環境次第では外部への公開が可能となります。
インスタンスへの接続
最後にインスタンスへの接続について説明します。
インスタンスへのVNC接続はダッシュボード 上から出来ますが、SSH接続は下記の方法で行います。
stack ユーザでログインし、キーペアの作成 で作成した秘密鍵を指定してログインします。
$ sudo ssh -i cloud . key ubuntu @ 192.168.0.4
Enter passphrase for key 'cloud.key' :
キーペア作成時に入力したパスフレーズを入力することでSSH によるログインが出来ます。
SSHによるインスタンスへのログインが出来た様子がこちらです。
OpenStackの使い方の説明は以上となります。いかがでしたでしょうか?
今回説明した一連の作業が出来れば、OpenStackの基本的な使い方を理解できたはずです。
第4回となる次回はまとめを行います。
それでは。