AnsibleでChinachuを高速構築

この記事は OUCC Advent Calendar 2015 の17日目の記事ですが遅刻してますすみませんすみません( ˃﹏˂ഃ )

昨日は @Riku_Hirasaka さんの ベトコンは大人しく貴様のヒサツ・ワザの披露を待っていてはくれんのだ (?)でした。

そうだ、Chinachu、乗り換えよう。

コンピューターに出来ないことは少ないです。 ウェブを見たり、プログラミングをしたり、曲を作ったりもできますし、当然アニメを録画することだってできます。僕も自作のサーバーに Foltia ANIME LOCKER と呼ばれるソフトウェアを導入し、愛用しています。

録画サーバーについては、去年のアドベントカレンダーにも記事にしています。

spring-raining.hatenablog.com

・・・

あれから2年半後、我が録画サーバーにある異変が起こっていました。

ごちうさ*1が録画されない

なぜこのような事が起こるのかは未だ分かっていませんが、とにかくごちうさが始まる土曜日の夜以降の録画が始まらないという現象が起こってしまうようです。

ひとまず番組の始まる直前にサーバーを再起動することで症状が治まっていますが、この現象により尊いごちうさのストリームを3羽も取り逃がしてしまいました。

この時僕は決意しました。

そうだ、Chinachu、乗り換えよう。

#

しかし、稼働している録画サーバーのシステムを取り替えるのはそう単純にはいきません。なぜなら、深夜アニメはほぼ毎日放送されており、のんびりとインストール作業や動作テストを行っているとその日のアニメに間に合わない可能性があるからです。また、もう一つ乗り換え先のサーバーを用意する手もありますが、それではお金がかかりすぎてしまいます。

幸い間もなくやってくる年始は番組改編期となり数日の猶予があるので、正月休みを利用して一気にサーバーの構築を済ませてしまうことにしました。

ただ、それでもあまり時間に余裕は無いので、今は年始に向けておせちを作っています。

#

そのおせちの一つが、以下のリポジトリです。*2

github.com

これは、Ansibleと呼ばれる構成管理ツールを利用しており、playbookファイルを用意して実行することで、そのファイルで記述された通りに自動でサーバーのセットアップを行ってくれたりします。Ansibleを用いることで、年始のサーバーのセットアップを自動で行い、サーバー稼働までの時間を短縮するというわけです。

また、Vagrantで仮想サーバーを作成し、録画サーバーのセットアップのリハーサルを行えるようにもしてます。

odangoでは、最近発表されたOttoを利用して、デプロイまで一括で管理することも目論んでいましたが、現状ではデプロイ先にAWSしか指定できないようなので見送っています。

Dockerもサーバー管理が非常に便利になるツールですが、頻繁にサーバーにsshする予定ですし、コンテナ化も用途的にあまり向いてないと思い使用しないことにしました。Dockerfileつらい。

#

odangoは以下の記事を大いに参考にして作成しています。ありがとうございます。

クリスマスに安心して一日中アニメを見るために録画鯖を作る技術

正直この記事以上のことはほとんど行っていないのですが、以下のようなplaybookも追加したりしています。

まだいろいろと修正が入りそうですが、ともかくこれで安心して新年を迎えることが出来そうです。

皆さんよいお年を!

*1:http://www.gochiusa.com/

*2:odangoの名前の由来は、ゆゆ式1話ゆずこのセリフ「お団子美味しかったよー」から