akiyoko blog

akiyoko の IT技術系ブログです

Ansible なら LAMPサーバを○分で用意できるよという話

この投稿は Ansible Advent Calendar 2013 の17日目の記事です。

真面目なネタは昨日の投稿で全部出し切ってしまったので、今日は趣向を変えて。


16日目の記事「Ansible でさくらのVPS の環境構築を自動化 ~ハマりポイントとともに~」では、さくらのVPSを使って LAMPサーバを構築するまでの手順をほぼ自動化しました。

これを使えば、もしかすると10分くらいで LAMPサーバが起動できるんじゃないの?という興味が湧いたので、実際に時間を測ってみることにしました。


測るのは、「さくらのVPS」の申し込みから、LAMPの構築まで。
突然「LAMPサーバを立ててよ」と言われてからの作業をまるっと全部対象にしています。Ansible を使って手順を半自動化しているので、実質これが最速記録になるかと。





見てろよ、AWS!! 倍返しだ!

手順

  1. Webサイトから、さくらのVPSの申し込みをする
  2. さくらインターネットから「お申込受付完了のお知らせ」メールが来る
  3. さくらインターネットから「仮登録完了のお知らせ」メールが来る
  4. VPSコントロールパネルで仮想サーバを起動する
  5. (起動完了までに)akiyoko-ansible を clone して、hosts の IPアドレスを書き換える
  6. (起動が完了したら)playbook を流す

最速伝説スタート

http://vps.sakura.ad.jp
このページの「お申し込み」ボタンから、3、2、1、スタート!!
(右下のストップウォッチに注目!)
f:id:akiyoko:20131217010820p:plain

会員IDを入力し、次のページで「さくらのVPS 1G」の「東京リージョン」を選択。
f:id:akiyoko:20131217010935p:plain

クレジットカードの情報を入れて、申込み完了!
これまでおよそ2分。好調な出だしです。
f:id:akiyoko:20131217011035p:plain

すぐに「お申込受付完了のお知らせ」メールが来ます。グッド!
f:id:akiyoko:20131217011108p:plain


うーん。
「仮登録完了のお知らせ」メールが来ない。。


15分後、ようやく「仮登録完了のお知らせ」メールが来ました。
f:id:akiyoko:20131217011208p:plain

「仮登録完了のお知らせ」メールに記載されている IPアドレスとパスワードで、 VPSコントロールパネルにログインします。
f:id:akiyoko:20131217011304p:plain

仮想サーバを「起動」します。
f:id:akiyoko:20131217011328p:plain


サーバの準備が整うまでの間に、ansible-sakura を GitHub から clone しておきます。

$ git clone https://github.com/akiyoko/ansible-sakura.git

f:id:akiyoko:20131217011452p:plain

Ansible でさくらのVPS の環境構築を自動化 ~ハマりポイントとともに~」の手順どおりに、hosts の IPアドレスを書き換えます。
f:id:akiyoko:20131217011509p:plain


いよいよ playbook の実行です。
・・が、サーバの準備が整っていない場合は、このようにサーバが応答してくれません。

$ ansible-playbook -k -c paramiko -i hosts sakura_root.yml -vv
SSH password:

PLAY [setting SakuraServer VPS by root] ***************************************

GATHERING FACTS ***************************************************************
fatal: [153.xx.xx.xx] => {'msg': 'FAILED: timed out', 'failed': True}

TASK: [change SSH port] *******************************************************
FATAL: no hosts matched or all hosts have already failed -- aborting


PLAY RECAP ********************************************************************
           to retry, use: --limit @/Users/akiyoko/sakura_root.retry

153.xx.xx.xx              : ok=0    changed=0    unreachable=1    failed=0


待つことおよそ 20分。。
ようやくSSH接続ができるようになりました。よっしゃ、ラストスパート!!
f:id:akiyoko:20131217012411p:plain

途中、~/.ssh/config の書き換えミスをしてしまうという痛恨のタイムロスがあったものの、ほぼ最速でセットアップ完了!!
f:id:akiyoko:20131218010843p:plain

結果は、
48分12秒!!

ドヤア


・・・てか、全然10分で終わりませんでした。。
「さくらのクラウド」を使えばもっと早い?? それを言い出したら、AWSの方がいいでしょうよ!!(逆ギレ)


そういえば、
http://vps.sakura.ad.jp/migration.html
で知ったんですが、さくらのVPSって「さくらのクラウド」にマイグレーションできるんですね。へー。


まとめ

  • Webサイトから、さくらのVPSの申し込みをする
  • さくらインターネットから「お申込受付完了のお知らせ」メールが来る

 ↓(約15分)

  • さくらインターネットから「仮登録完了のお知らせ」メールが来る
  • VPSコントロールパネルで仮想サーバを起動する
  • (起動完了までに)akiyoko-ansible を clone して、hosts の IPアドレスを書き換える

 ↓(約20分)

  • (起動が完了したら)playbook を流す

 ↓(約8分)

  • 完了(記録:48分12秒)


Ansible とさくらのVPS なら、LAMPサーバを50分以内に用意することができます。立ち上げっぱなしで、月額980円。

(柔軟性の問題がクラウドへのマイグレーションで解決するのであれば、一番のネックはOSの選択肢の狭さになるかもしれません。)

最後に

昨日、Ansible Advent Calendar の16日目の投稿 をし終わってから、自分の後の17日目がポッカリ空いているのに気付き、慌てて 2打席目を登録したものの、完全にネタ切れだったので非常に苦しかったです。。

明日は、tksmdさんの18日目の記事です。
よろしくお願いします。