2017/07/24

GCE で起動スクリプトとカスタムメタデータを活用

前回までに、Google Compute Engine (GCE) の VM インスンタンス上で Calibre を使って記事のダウンロードして、そのダウンロードしたファイルを一時的に保管する GCS のバケットを用意

今回は、この VM にシェルスクリウプトを配置して、次の動作を自動的に処理できるように設定する。
  1. VM が起動したら、Calibre で目的の記事をダウンロードし mobi ファイルを作成する
  2. mobi ファイルを Google Cloud Storage (GCS) にコピーする
  3. VM をシャットダウンする

2017/07/23

GCS のバケット作成とライフサイクル管理設定

前回までに、Google Compute Engine (GCE) の VM インスンタンス上で Calibre を使って記事のダウンロードができるまでを確認した。

今回はダウンロードした mobi ファイルを Google Cloud Storage (GCS) にコピーする処理の準備。

まずは GCS 上にダウンロードした mobi ファイルをコピーして一時的に保管しておくバケットを作成する。

2017/07/18

calibre の nikkei.recipe をデバッグ

GCE でインスタンスを作成したら、calibre のインストールと設定を行う。

calibre のインストールは、普通に apt-get install でインストールする。

インストールをしたら試しに日経新聞のレシピを指定して mobi ファイルを作成してみる。(以前の記事をご参考

/opt/calibre/ebook-convert input_file output_file [options]
例)
/opt/calibre/ebook-convert '日本経済新聞(朝刊・夕刊).recipe' /tmp/nikkei.mobi --username=USERNAME -password=PASSWORD

2017.06.20 時点では、たぶんエラーが出て mobi ファイルが作成できなかいはずだ。今ももしかしたら、apt-get でインストールできるバージョンではエラーが出るかもしれない。今回はこの問題をデバッグした話。

2017/07/17

calibre の実行環境用 GCE インスタンスの作成

前回解説した calibre on raspberry pi 環境の GCP 移行計画。

なにはともあれ、calibre の実行環境が必要。

GCP 上で何か処理をさせるとなると、GAE、GKE (Google Container Engine)、または GCE の中から選択することになる。コードを書くだけで動かせる GAE はシンプルなのだが、3rd party のライブラリを動かしたりすることは難しい。今回のように、特定処理をするアプリケーションがすでにある場合は、IaaS (Infrastructure as a Service) である GCE を使うのがソリューションとなる。

ちなみに今回の場合、必要な時だけ立ち上げるという用途であって、個人的に使うだけなのでオートスケールしたりする必要がないので、GKE も不要。

 まずは calibre を起動できる環境構築。コストを極力下げるため、以下の構成で GCE のインスタンスを作成する。

2017/07/16

calibre 環境をクラウド (GCP) に作り直してみた

1年前に Calibre を使って日経新聞をKindleで読む環境構築について投稿したが、稼動後しばらくして、raspberry pi を停止していた。

その後しばらく経ってから再開させようとしたら、エラーが発生して Kindle 用の Mobi ファイルが作成されなくなってしまった。色々調べてみたのだが、その時は初代 raspberry pi で動くライブラリに問題があって、calibre のアップデートで動かなくなった、と思って一旦放置とした。スマホを機種変して、大きめの画面にしたこともあり、紙面アプリで読むほうが便利になったことも一つの理由。

ところが、春先に旅行に行くことになり、どうしても Kindle で新聞が読みたい衝動に駆られ、久しぶりに環境の再構築をすることにした。で、せっかくなので、クラウド上で全てできないか試してみることにした。 Calibre 動かす為だけに、24 時間 raspberry pi 動かすのも阿呆らしいので。