Nedia What's up!

ネディアのエンジニアによるIT技術やサービスの紹介・検証などをお届け!

第3回 クラウド環境構築ソフトウェア 「OpenStack」」 (3/4)

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ユーザで行います。
管理 → システムパネル → フレーバー と進み、最後に フレーバーの作成 をクリックします。

フレーバーの作成1-1_ab

続いて下記の通りに入力し、最後に フレーバーの作成をクリックしてください。

フレーバーの作成2_a

– 名前:demo
– ID:auto (ランダムなUUID4が割り当てられます)
– 仮想CPU:1
– メモリー MB:512
– ルートディスク GB:20
– 一時ディスク GB:0
– スワップディスク MB:0

これで demo というフレーバーが作成されました。

フレーバーの作成3_a

イメージの登録

イメージとは

OpenStack のイメージは「仮想マシンテンプレート」と考えることができます。
イメージはISOイメージのような標準的なインストールメディアや
QCOW2のような仮想マシンイメージとして使用できるものが登録可能で、
基本的にインスタンスを起動するために使用されるブート可能なファイルシステムを含みます。

イメージの新規登録

デフォルトで、cirros(クラウド向けのコンパクトなLinuxディストリビューション) が登録されていますが、こちらも説明を兼ねて新規のイメージを追加します。

イメージの管理もadminユーザで行います。
管理 → システムパネル → イメージ と進み、最後に イメージの作成 をクリックします。

イメージの登録1_a

続いて下記の通りに入力し、最後に イメージの作成をクリックしてください。今回はubuntuの公式サイトより、仮想マシンのイメージを入手します。

イメージの登録2_a

– 名前:ubuntu
– 説明:空白でOK
– イメージのソース:イメージの場所
– イメージの場所:http://uec-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
– 形式:QCOW2-QEMU エミュレーター
– アーキテクチャー:空白でOK
– 最小ディスク (GB):空白でOK
– 最小メモリー (MB):空白でOK
– パブリック:チェックを入れる
– 保護:チェックを入れない

これで 新たに ubuntu というイメージが作成されました。

イメージの登録3_a

状態のステータスがActiveに変わればサーバへのアップロード(ダウンロード)が完了し、利用出来る準備が出来ています。なお、後ほどこのイメージを利用してインスタンスを起動します。

また、ローカル上にあるイメージファイルをアップロードするには、先程のイメージの作成画面にある イメージのソース の部分で
イメージファイル を選択すると参照の項目に変わりますので、そこからイメージファイルの選択が出来るようになります。

イメージの登録方法については以上となります。

セキュリティグループの作成

セキュリティグループとは

セキュリティグループは、インスタンスへアクセスが可能なトラフィックの種別を制限するために使用するネットワークのアクセスルールを名前を付けてまとめたものです。
インスタンスを起動して、1 つまたは複数のセキュリティグループをインスタンスに割り当てることができます。
尚、デフォルトでは、ルールと合致しない受信トラフィックは、拒否されます。

セキュリティグループの新規作成

今回作成する仮想マシンに適用するセキュリティグループを作成します。
これ以降の作業はdemoユーザで行います。

作業の目的は、最低限必要となるICMPとSSHを許可するグループ”base”の作成です。

demoユーザでログインし、
プロジェクト → コンピュート → アクセスとセキュリティ と進み、セキュリティグループのタブにある セキュリティグループの作成クリックします。

セキュリティグループ1_a

続いて下記の通りに入力し、最後に セキュリティグループの作成 をクリックしてください。

セキュリティグループ2_a

– 名前:base
– 説明:base group

これで base というセキュリティグループが作成されました。

セキュリティグループ3_a

続いてbaseセキュリティグループに許可ルールを追加します。

作成したbaseセキュリティグループのアクションの項目にあるルールの管理 をクリックします。

セキュリティグループ3_b

現在設定されているルールが一覧で表示されますので、次にルールの追加をクリックします。

セキュリティグループ4_a

ICMPルールの追加

ルールの項目で カスタム ICMP ルール を選択して追加をクリックします。他の項目はデフォルトでOKです。

セキュリティグループ5_icmp_a

SSHルールの追加

次は、SSH を選択して追加をクリックします。こちらも他の項目はデフォルトでOKです。

セキュリティグループ6_ssh_a

これで 新規に作成したbase というセキュリティグループにICMPとSSHアクセスに対する許可が追加されました。

セキュリティグループ7_a

今回は、最低限必要となるICMPとSSHの許可でしたが、必要によりHTTPやFTPを許可させると良いでしょう。

キーペアの登録

キーペアの役割

キーペアの登録を行うことで、SSH接続することが出来るようになります。
事前に公開鍵を登録しておき、仮想マシンインスタンス起動時にゲストOSに埋め込みを行います。

キーペアの新規作成

stackユーザでOpenStackサーバにSSHでログインし、ssh-keygen コマンドで
SSH キーペアを生成します。

下記の2ファイルが作成されますので、cloud.key.pub の方に記述されている内容を
ローカル上に保存しておきます。(次に行うキーペアのインポートで使用します。)

cloud.key.pub:公開鍵
cloud.key:秘密にしておく鍵

キーペアのインポート

続いて、OpenStackのダッシュボードからキーペアのインポートを行います。

demoユーザでログインし、
プロジェクト → コンピュート → アクセスとセキュリティ と進み、キーペアのタブにある キーペアのインポート をクリックします。

キーペア1_a

続いて下記の内容を入力し、最後に キーペアのインポート をクリックしてください。

キーペア2_a

– キーペア名:admin
– 公開鍵:先程ローカルに保存 cloud.key.pub の内容

キーペアのインポートにより、admin というキーペアが登録されました。

キーペア3_a

インスタンスの作成と起動

いよいよインスタンスの作成と起動を行います。
これまでの手順で作成済みのフレーバー demo と 登録済みのイメージ ubuntu を使用します。

インスタンスの新規作成

demoユーザでログインし、
プロジェクト → コンピュート → インスタンス と進み、インスタンスの起動 をクリックします。

インスタンス1_a

続いて下記の内容を入力し、最後に 起動 をクリックしてください。

タブ名:詳細(仮想マシンのスペックを設定)

インスタンス2_a

– アベイラビリティゾーン:nova
– インスタンス名:ubuntu
– フレーバー:demo
– インスタンス数:1
– インスタンスのブートソース:イメージから起動
– イメージ名:ubuntu

タブ名:アクセスとセキュリティ(仮想マシンの公開鍵/セキュリティを設定)

インスタンス3_a

– キーペア:admin
– セキュリティグループ
 base:チェックを入れる
default:チェックを入れる

タブ名:ネットワーク(仮想マシンに接続するネットワークを設定)

インスタンス4_a

– 選択済みネットワーク にprivate を入れた状態にする

最後に 起動 をクリックします。

以上の手順で 仮想マシン ubuntu が起動します。

インスタンス5_a

フローティングIPアドレスの割り当て

フローティングIPアドレスとは

インスタンスを起動すると、プライベート IP アドレスが割り当てられインスタンスを明示的に終了するまで、
この IP アドレスは変わりません。
インターネットなどのクラウド外のネットワークと通信するために使用されるパブリックアドレスは、
フローティングIPアドレスの割り当てを行うことで利用可能となります。

フローティングIPアドレスの割り当て

先程操作を行ったインスタンスの画面で、アクションの項目にある FloatingIPの割り当て をクリックします。

フローティングIP1_a

FloatingIPの割り当ての管理画面が開きますので、IPアドレスの項目にある +(プラス) をクリックします。

フローティングIP2_a

プールを、public を選択した状態で IPの確保 をクリックします。

フローティングIP3_a

IPアドレス(192.168.0.4)が確保されて、割り当てが出来る状態になりましたので、割り当て をクリックします。

フローティングIP4_a

ダッシュボードでインスタンス ubuntu に FloatingIPアドレス(192.168.0.4)が確保されたことが確認できるはずです。

フローティングIP5_a

尚、今回はVirtualBoxを使ったテスト環境の構築のため、ローカルのIPを割り当てていますが、
この部分をグローバルIPアドレスにすることで、ネットワークの環境次第では外部への公開が可能となります。

インスタンスへの接続

最後にインスタンスへの接続について説明します。
インスタンスへのVNC接続はダッシュボード 上から出来ますが、SSH接続は下記の方法で行います。

SSHによるインスタンスへのログインが出来た様子がこちらです。

インスタンスへの接続1_a

OpenStackの使い方の説明は以上となります。いかがでしたでしょうか?
今回説明した一連の作業が出来れば、OpenStackの基本的な使い方を理解できたはずです。

第4回となる次回はまとめを行います。
それでは。