#はじめに
自宅iMacでRadikoの録音をしてiPhoneで聴いていましたが、当然録音中はiMacの電源をつけたままにしなければならず、不便でした。
せっかくなのでクラウド上で録音できるようにしてみました。現時点、永久無料でVMが作れるのは、Google Cloud Platform(GCP)かOracle Cloud Infrastructure(OCI)のいずれかになりますが、諸々見ると圧倒的にOCIがお得です。なんと、OCIは2つのVMとDB、100GBのストレージ、ロードバランサなどが永久無料で使えます。また、GCPで無料なのは米国リージョンのみですが、OCIは日本のリージョンも選択可能です。Radikoは日本からのアクセスしか許可されていないので、OCIで決まりですね。
#OCIのサインアップ&環境構築
サインアップはとても簡単、クレジットカードを登録する必要がありますが、勝手に引き落とされることはありません。下記リンク先から登録するだけです。1つだけひっかかったのは、モバイル番号で頭の0を取る必要があります。待てど暮らせど何の連絡も来ず、気がつくのに時間がかかりました。
登録完了後は、以下チュートリアルに従って、仮想ネットワーク作成、インスタンス作成を行います。とてもシンプルで分かり易いのですぐに作成できます。リージョンは東日本、OSは個人的趣味でubuntu 20.04にしました。
チュートリアル : Oracle Cloud Infrastructure を使ってみよう
クラウドに仮想ネットワーク(VCN)を作る - Oracle Cloud Infrastructureを使ってみよう(その2)
インスタンスを作成する - Oracle Cloud Infrastructureを使ってみよう(その3)
#sshによるアクセス
VMが出来てグローバルIPが割り当たれば、外部からSSHでアクセスできます。macにはsshが既にインストールされてますので、キーを生成、OCIに公開鍵(id_rsa.pub)を登録するだけで即アクセスできます。
% mkdir ~/.ssh
% chmod 0700 ~/.ssh
% cd ~/.ssh
% ssh-keygen -t rsa
configに記載しておけば、省略コマンドでアクセスできるようになります。ちなみにmacのFinderでドットファイルを表示するには、shift + command + . を押せば表示/非表示となります。
Host oci
HostName xxx.xxx.xxx.xxx
User ubuntu
% ssh oci
Enter passphrase for key '/Users/vfr/.ssh/id_rsa':
ubuntu@vm1:~$ uname -a
Linux vm1 5.4.0-1015-oracle #15-Ubuntu SMP Fri Jun 5 01:39:12 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
#Radiko録音スクリプト
自作スクリプトは2021年1月に動かなくなってしまったため、以下を使わせて頂きました。
#OCI ubuntuへのパッケージインストール
パッケージインストールはaptを使います。
$ sudo apt update
$ sudo apt install ffmpeg
$ sudo apt install libxml2-utils
$ sudo apt install jq
#cronの登録
TimezoneをJSTにしましょう。
$ sudo timedatectl set-timezone Asia/Tokyo
$ date
Sun Jul 19 02:10:16 JST 2020
$ sudo /etc/init.d/cron restart
Restarting cron (via systemctl): cron.service.
録音したい番組をcrontabで登録します。
$ crontab -e
# Power Rock Today
0 1 * * 0 cd /home/ubuntu/radio/mp3; /home/ubuntu/bin/radi.sh -t radiko -s BAYFM78 -d 240 1>/home/ubuntu/log/PRT.log 2>&1
#最後に
ついでにosxfuseも紹介。ssh経由でファイルシステムをマウントできます。Finderでファイルのやり取りが出来るのでとても便利です。
% sshfs ubuntu@xxx.xxx.xxx.xxx:/home/ubuntu ~/oci
Enter passphrase for key '/Users/vfr/.ssh/id_rsa':
% mount|grep ubuntu
ubuntu@xxx.xxx.xxx.xxx:/home/ubuntu on /Users/vfr/oci (osxfuse, nodev, nosuid, synchronous, mounted by vfr)
Oracle Cloud Free Tieは、VMだけでなくAuonomous DBやAPEX等も期限なくFreeで使えます。太っ腹ですね。色々楽しめそうです。