本文へジャンプします。

超簡単!自動インフラ構築!~Cloud Automation(β)~

はじめまして。ニフティの新米クラウドエンジニア大川です。

みなさんは普段、インフラの構築を行っているなかで、以下のような経験をお持ちではありませんか?

start

「サービスの開発を早く始めたい!」

「より早くブログを開設して情報を届けたい!」

そんな思いがあるのにも関わらず、上に書いたようなジレンマを抱えているのではないでしょうか?

そんな中、ニフティクラウドでは6月4日にインフラ構築を自動化するCloud Automation(β)をリリースしました。

このCloud Automation(β)を利用すれば、上で述べたインフラ構築のジレンマを解決することができます!

本記事では、Cloud Automation(β)の概要と、基本的な使い方について説明していきます!

Cloud Automation(β)でインフラ構築が変わる!

Cloud Automation(β)では、ニフティクラウドのコントロールパネル上から、インフラの構成が書かれたテンプレートを実行するだけでインフラ構築が可能です。
サーバ作成、ネットワークの設定など実際の作業は、Cloud Automation(β)が自動で実行してくれます。
有名なオープンソースのブログ/CMSプラットフォームであるWordPressを、Webサーバとデータベースサーバを分けた形で構築する場合、
これまでのインフラ構築とCloud Automation(β)でどのくらい変わるのかを比較してみました。

flow02

手作業だと手順が多い上に、ApacheやMySQLの設定はコマンド入力で進めていくので、時間がかかるものです。
それがCloud Automation(β)だと、たったの3ステップ!!(※WordPressのインストールは共通の作業なのでカウントしていません)
しかも、すべての作業はニフティクラウドのコントロールパネル上で行われる、全体で10分もかからない簡単な作業ばかりです。
インフラ構築の時間を大きく短縮することができれば、より早くブログやホームページの開設が可能になります。

また、一度実行したテンプレートは、使い回すことが可能です。
別のテーマでブログやホームページを開設することになったとしても、実行したものと同じテンプレートですぐにインフラ構築が可能なので
作業が増えることはありません。

Cloud Automation(β)で、インフラ構築の自動化による時間短縮と作業のテンプレート化が可能になると、Webサービスの開発はどう変わるのでしょうか。
時間を短縮できれば、サービスのコア機能の開発期間を増やして価値を高められますし、
作業をテンプレート化しているので、別のWebサービス開発プロジェクトでも、似たような構成はすぐに構築が可能となります。

このように、Cloud Automation(β)による構築の「自動化」と「テンプレート化」が、これまでのインフラ構築をスマートに変えていくのです!

Cloud Automation(β)の基本的な使い方

ここからは、Cloud Automation(β)の使い方を説明していきます。
前の章でも、全てが簡単な作業と述べましたが、ニフティクラウドのコントロールパネルから、インフラの構築が可能となっています。

テンプレートを選ぶ

Cloud Automation(β)が実行するテンプレートは、JSON形式で記述されています。
JSON形式の記述ができる方がヘルプを読めば、テンプレートを一から書いていくことも不可能ではありませんが、Cloud Automation(β)ではよく利用されている基本構成やデータベースの冗長構成、
WordPressなどのアプリケーションを、テンプレートを選択するだけで構築ができるデフォルトテンプレートを用意しています。

以下はその一覧です。

  • 基本構成
    • 複数台構成1:サーバー2台を作成し、ファイアウォールの設定を行う
    • 複数台構成2:ロードバランサーとサーバ2台を作成し、振り分け設定とファイアウォールの設定を行う
    • ディスク追加:サーバー1台とディスクを追加した構成を構築し、ファイアウォールの設定を行う
  • データベース
    • MySQL冗長構成:MySQL5.5で、耐障害性などを考慮した冗長構成の構築と設定を行う
    • MySQLシングル構成:MySQL5.5のサーバー1台作成し、設定を行う
    • PostgreSQL冗長構成:PostgreSQL9.1で、耐障害性などを考慮した冗長構成の構築と設定を行う
    • PostgreSQLシングル構成:PostgreSQL9.1のサーバーを1台作成し、設定を行う
  • アプリケーション
    • WordPress冗長構成:WebサーバーとMySQLサーバーを分けた構成で、WordPressのインストール準備を行う
    • WordPressシングル構成:1台のサーバーを作成して、WordPressのインストール準備を行う
    • MODX冗長構成:WebサーバーとMySQLサーバーを分けた構成で、MODXのインストール準備を行う
    • MODXシングル構成:1台のサーバーを作成して、MODXのインストール準備を行う

ここからは、WordPressのWebサーバー1台+MySQLサーバー1台構成を構築する例をもとに説明していきます。
wizard2
(デフォルトテンプレートを選択)

パラメーター入力

テンプレートを選択したら、作成するサーバやMySQLの設定を入力します。
WordPressの冗長構成を構築する場合は、WebサーバーとMySQLサーバーで同一のファイアウォール名を指定できないので注意してください。
また、この時に既存のSSHキーの名前を指定するので、あらかじめSSHキーを作成する必要があります。
あとは、料金や設定を確認してテンプレートを実行するだけです。

wizard_3_1
(パラメーター設定画面)

テンプレート実行

テンプレート実行後は、メイン画面に戻って実行経過や結果を見ることができます。

execution

テンプレート実行中にエラーが発生した場合にも、このメイン画面で確認することが可能です。
下の画像のようにエラーが発生した場合には、テンプレートを再実行することで、前回実行しなかった部分だけの構築がリスタートします。
つまり、サーバー作成後の設定部分でエラーが発生した場合、テンプレートを再実行した時にはサーバー作成がスキップされるということです。
error2
(パラメーターに英数字以外が入力されてエラーになっていることが確認できます)

テンプレートのステータスが「実行成功」になると、サーバが2台構築され、ファイアウォールも設定されます。
success_3

(テンプレート実行後)

WebサーバーにアクセスするとWordPressのインストールをすぐに始められます。
wp_install

(WordPressのインストール画面が開きました!)

実際にサーバーにログインしてみても、WebサーバーとMySQLが動作していることが分かります。

[root@localhost ~]# ps ax | grep 'httpd'
 3158 ?        Ss     0:00 /usr/sbin/httpd
 3162 ?        S      0:00 /usr/sbin/httpd
 3163 ?        S      0:00 /usr/sbin/httpd
 3164 ?        S      0:00 /usr/sbin/httpd
 3165 ?        S      0:00 /usr/sbin/httpd
 3166 ?        S      0:00 /usr/sbin/httpd
 3167 ?        S      0:00 /usr/sbin/httpd
 3168 ?        S      0:00 /usr/sbin/httpd
 3169 ?        S      0:00 /usr/sbin/httpd
 3170 ?        S      0:00 /usr/sbin/httpd
 3171 ?        S      0:00 /usr/sbin/httpd
 3172 ?        S      0:00 /usr/sbin/httpd
 3173 ?        S      0:00 /usr/sbin/httpd
 3174 ?        S      0:00 /usr/sbin/httpd
 3175 ?        S      0:00 /usr/sbin/httpd
 3176 ?        S      0:00 /usr/sbin/httpd
 3177 ?        S      0:00 /usr/sbin/httpd
 3239 ?        S      0:00 /usr/sbin/httpd
 3240 ?        S      0:00 /usr/sbin/httpd
 3241 ?        S      0:00 /usr/sbin/httpd
 3242 ?        S      0:00 /usr/sbin/httpd
 3243 ?        S      0:00 /usr/sbin/httpd
 3244 ?        S      0:00 /usr/sbin/httpd
 3245 ?        S      0:00 /usr/sbin/httpd
 3366 pts/0    S+     0:00 grep httpd

[root@localhost ~]# ps ax | grep 'mysqld'
 2821 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
 3708 ?        Sl     0:01 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/localhost.localdomain.err --open-files-limit=1024 --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock --port=3306
 4306 pts/0    S+     0:00 grep mysqld

WordPressのデフォルトテンプレートを利用してCloudAutomation(β)の基本的な使い方を説明しました。
デフォルトテンプレートを選択する以外にも、コントロールパネルからテンプレートを直接編集することもできます。
例えば、Webサーバーの数を増やした構成も、デフォルトテンプレートをカスタマイズして実行するだけです。
ぜひ、ご自身のサービス用途に合わせたインフラ構成をCloudAutomation(β)で自動化してみてください!
custom

(JSONを表示する画面で、テンプレートの直接編集が可能です)

さいごに

今回は、CloudAutomation(β)の基本的な使い方を解説しました。第2弾の解説では、インフラの構築と運用を
自動化するためのフレームワークであるChef-soloを利用した仕組みと、それを活用したCloudAutomation(β)の
一歩進んだ利用方法を、開発者であり社内屈指のChefマスターでもある弊社竹内がご紹介する予定です。

CloudAutomation(β)はインフラ構築自動化ツールとして提供しております。現在、Chefの仕組みを利用した
運用自動化ツールを提供すべく、鋭意開発を進めているところです。お客様の貴重なご意見、ご要望をサービスに
活かし、お役に立てるようなツールを提供していきたいと考えています。

今後ともニフティクラウドをよろしくお願いします!

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています