IDCF クラウドの環境を terraform で構築したい
と思っているんですが、 ちょっと悩ましい問題があるんですよね。
- Atlas + Terraform で構築したい
- GitHub で tf ファイルを管理したい
- サーバー追加時に初期セットアップもやりたい (ベースになるパッケージのインストールとかユーザー追加とか)
Atlas+Terraform+GitHub でインフラを用意することはできても、初期セットアップをどこでやるかという問題があって、
cloudstack_instance
のremote-exec
だと、まだ外部接続が不可 (ポートフォワーディングのルールはcloudstack_instance
実行後ではないとつけられないため)- それならば、と
cloudstack_port_forward
のタイミングでremote-exec
すると、ポートフォワードのルールを書き換えるたびに実行されてしまう
素直に Packer で準備したものを配布しろよっていう気もするけど、Packer もどうせなら Atlas でビルドしたい。そうすると、IDCF のテンプレートには OVA しか使えないので厳しいという新たな問題が。
cloudstack_instance
の remote-exec
実行中に次の cloudstack_port_forward
も実行してくれると嬉しいんだけど、現状だと素直に待ち続けてしまうっぽくて、繋がるのを待つ、ということもできないし、あまり綺麗な解法が思いつかないなあ。
ベースになる VM は手動で立ててしまって、そこを Bastion Host として実行するのがいいのかな〜。うーん。
Packer でビルドした後のものを ovftool で変換し続けるだけのサーバーを用意してもいいのかもしれない。
Openpear を閉じるためには
参考になりそうなリンク
36番倉庫
北海道直送 炭焼き酒場 36番倉庫 というお店が、とっても良いのです。
HHVM on Heroku で Hack!
さて、今話題の Hack ですが、気軽に試したいけど HHVM とかインストールするのめんどくせーよ!っていう方、居ますよね。
そんな時、heroku-buildpack-hhvm をつかえば、ほんの数ステップで Heroku で Hack を試してみることが出来ますよ!
簡単に Hello World を作るまでの解説をすると、
1. git リポジトリ作る
git リポジトリを最初に作る必要も無いんですが、後々手間がかからないので僕はまず作っちゃいます。
mkdir hhvm-on-heroku-hack cd hhvm-on-heroku-hack vim index.php // <?hh echo "Hello Hack!"; git init git add index.php git commit -m "Initial commit"
2. Heroku アプリを作成する
heroku-buildpack-hhvm
を buildpack に指定するだけですよ!
アプリが作成されると、git remote (heroku) に heroku の git リポジトリ URL が登録されます。
heroku create --buildpack https://github.com/hhvm/heroku-buildpack-hhvm
3. デプロイ
はい、完了。
git push heroku master
僕がこの手順で作ったページは、http://hhvm-on-heroku-hack.herokuapp.com からアクセスできるようにしておきました。あと、デプロイしているのはこんなかんじ のファイルです。
簡単でしょ?