127.0.0.1)api側でちゃんとした形式でpostしろやってエラーなのでterraform側で変な送り方しちゃってるのか...も?仕方がないので作成されたdropletのipアドレス確認して直打ち既に息切れ気味でansibleのplaybook流す。いい感じに見えたがghostが起動しない。ついでにh2oも起動しない。ghostが起動しないのは、新しすぎるnodejsがインストールされてしまったためだった後でわかったんだけど、nodejs用に入れたリポジトリじゃなくて、epelのリポジトリが使われてしまったのが原因だったh2oが起動しないのは、証明書のpathに証明書が無くて起動失敗してた証明書取得はletsencryptを使っているでもletsencrypt叩くためにはWebサーバが必要でも証明書ないから設定不備でWebサーバ立たない無限ループ解としてはスタンドアロンモードで証明書を取得しておいてからh2oを立ち上げるようなプレイブックを書けば0から立ち上げられそうもうだめだ。いうわけでいったんスナップショットからdroplet立ち上げてそいつにdnsを切り替えて一時しのぎ。創造さて、これで見てくれは復旧したので新環境のセットアップを頑張る。terraformはとりあえずapplyできるようになったのでnodejsのplaybookを直した。ここまで来たらnodejsのバージョンを4.x系にあげちゃう(今まで0.10系だった)。Versionsnodejsのプレイブックを修正して無事playbook実行できた。dbのdumpを注入して、tarで固めておいたghostも復元。お次は手動でh2oの設定を書き換えて、証明書を取得する上で必要なletsencryptからの外部アクセスを受けられるようにする。ここで気づいたんだけど、dns切り替えないとletsencryptアクセス出来ないじゃん!泣きながら未完成のサーバにdnsを向けて、letsencryptコマンド叩いて証明書取得。h2oの設定元に戻して再起動。ghost.ponpokopon.meにアクセスできた!けどなんか文字化けしてる;;データベースをmysqlからmariadbに変えるときには文字化けして文字コードいじったりしたけど、全く同じ環境(なはず)からのdumpで文字化けするか!?普通!?!?呆然としながらmariadb再起動したらなんか直った。えええ???ともかくこれで全部復元された。いうのが今回main.tfをいい感じにしようという純朴な思いが産んだ悲劇の顛末です。↓どうでもいい個人サイトでも監視したりSLA取れるサービス使ったりしてるとサービス落ちたとき謎の危機感が有って良い。すれば落ちないようにできるか考えるようになるし...。metadata先日のmackerelミートアップでメタデータなる新機能が発表されました。後日談として、この機能がどんな感じか試してみます。一通りメタデータの入出力を試してから、メタデータと何かしらを連携させて遊んでみるところまでやってみます。APIキーとホストIDは面倒なので環境変数に入れています。環境の情報をメタデータで持たせてみます。会場はfreeeさんのオフィスでした。以下のような内容でした。序盤はMackerelの紹介。リリース予定の機能が相変わらずたくさんあって面白い。