SHOEISHA iD

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

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

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

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

オープンソースのクラウド基盤「OpenStack」で試すクラウドオーケストレーション~環境構築からスタックの作成まで

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第15回

スタックの作成

 いよいよHeatを使ってスタックを作成します。メニューから[プロジェクト]-[オーケストレーション]-[スタック]に移動し、「スタックの起動」を選択します。テンプレートの選択画面とスタックの起動画面が表示されるので、以下のようにパラメータを入力します。

テンプレートの選択
  • テンプレートURL:https://raw.githubusercontent.com/tech-sketch/heat_sample_template/master/WordPress_2_instances.yaml
スタックの起動
  • スタック名:WordPress(任意)
  • ユーザー "admin" のパスワード:adminユーザのパスワード
  • public_net:作成した外部ネットワークのID
    • ネットワークのIDは[プロジェクト]-[ネットワーク]-[ネットワーク]に移動し、作成したネットワークを選択すると確認することができます。
  • key_name:登録したキーペアの名前

 その他のパラメータは基本的にデフォルトのままで構いません。

 スタックの起動画面で「起動」を選択すると、スタックの作成が開始されます。スタックの作成状況は、作成したスタックの詳細画面や[プロジェクト]-[ネットワーク]-[ネットワークトポロジー]で確認できます。今回の環境では5分程で作成が完了しました。

 スタックの作成完了後、ネットワークトポロジーを確認すると、スタック構成図のとおりにシステムが構築されていることを確認できます。

 コマンドラインからスタックを作成する場合は、以下を実行します。

(テンプレートのURLを指定する場合)
source keystonerc_admin
heat stack-create wordpress --template-url https://raw.githubusercontent.com/tech-sketch/heat_sample_template/master/WordPress_2_instances.yaml --parameters "key_name=user-key;public_net=<network_id>"

(テンプレートをダウンロードして利用する場合)
wget https://raw.githubusercontent.com/tech-sketch/heat_sample_template/master/WordPress_2_instances.yaml
heat stack-create wordpress --template-file WordPress_2_instances.yaml --parameters "key_name=user-key;public_net=<network_id>"

WordPressへのアクセス

 これでOpenStack上にWordPressを自動で構築することができました。構築したWordPressにアクセスして動作を確認してみます。

 [プロジェクト]-[オーケストレーション]-[スタック]に移動し、作成したスタックを選択するとスタックのトポロジや概要を確認することができます。概要タブを選択し、出力に記載されているURLをクリックすると、構築したWordPressにアクセスすることができます。サイトのタイトルやユーザ名などを適宜設定しインストールすると、WordPressにログインすることができます。

スタックの削除

 最後に、作成したスタックを削除してみます。[プロジェクト]-[オーケストレーション]-[スタック]に移動し「スタックの削除」を選択すると、スタックを構成するインスタンスやネットワークをまとめて削除することができます。テンプレートにリソースの依存関係が設定されていないと、インスタンスが残っているネットワークを削除しようとするなど、エラーが発生する場合があります。その場合は、エラーの原因となっているリソースを削除した後、再度スタックの削除を実行します。テンプレートに定義していないインスタンスやFloating IPをネットワークに関連付けるなどした場合も、先にそれらを削除しておく必要があります。

 コマンドラインからスタックを削除する場合は、以下を実行します。

source keystonerc_admin
heat stack-delete wordpress

まとめ

 今回は、PackStackを使ってOpenStack環境を構築し、Heatを使ってOpenStack上にWordPressを自動で立ち上げました。今回作成したスタックはシンプルな構成でしたが、リソースの自動構築やWeb/APサーバとDBサーバの連携など、クラウドオーケストレーションのメリットを感じることができたのではないでしょうか。

 より複雑なスタックを構築するためにはリソース作成の順序制御やChefなどを利用した構築後の自動設定が必要ですが、HeatやAWS CloudFomationだけでなくChefやPuppetのサンプルテンプレートも多数公開されているのでうまく利用してみてください。

 OpenStackは、インストールツールや豊富なドキュメントによって、比較的簡単に使うことができるようになってきました。今後、より効率的に、効果的にOpenStackを活用していくために、クラウドオーケストレーションの活用を検討してみてはいかがでしょうか。

 次回は、WebRTC(PeerJS)を用いたブラウザ上で動作する遠隔作業支援システムの構築方法について紹介します。

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

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧

もっと読む

この記事の著者

冨永 善視(TIS株式会社)(トミナガ ヨシミ)

TIS株式会社 戦略技術センター所属。デザイン指向クラウドオーケストレーションソフトウェア「CloudConductor」の開発およびクラウド関連技術の調査・検証に従事。新人の頃からOpenStack環境の構築を担当し、IaaS管理者として経験を積む。最近ではRedHatのエキスパート認定―Infr...

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/7897 2014/07/24 14:00

イベント

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

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

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

メールバックナンバー