概要
ホームページや Podcast のホスティングを Google Cloud Platform (以下 GCP) に移行しました
移行したときのメモです
環境
- macOS 10.14.3
- gsutil 4.36
- gcloud 4.36
なんで移行したのか
特に理由はないですが絞り出すと以下の 3 つ
- 音声ファイルの配信をもっと楽にしたったくらいかなと
- サービスを管理しているアカウントを一つにしたかった
- CI しやすいところにしたい
ホームページは GCE
GAE でもよかったのですがホームページが Ruby で書かれており Flexible Environment を使わざるを得なかったので GCE にしました
Flexible でもいんですがだったら GCE かなと
GAE だと証明書の管理が自動化されているのでそこは嬉しかったんですけどね、、
OS は Ubuntu です
docker だけインストールしてあとは特に何もしていません
インスタンスは一番小さい f1-micro
です
Always free 枠で絶対収まるくらいのアクセスしかないのでそれにしています
free じゃなくても $3/month ほどです
ファイアウォールのチェックしようね
GCE に適用されている default のファイアウォールは特定のポートがフルオープンです
80, 443 はまぁ良いですが 22, 3389 あたりは絞っておきましょう
Podcast の音声ファイルのホスティングは Google Cloud Storage にまかせる
CDN にもなるし静的ファイルのホスティングもしてくれるので Google Cloud Storage にしました
あと CNAME が設定できるので一応独自ドメインで音声ファイルを配信するようにしています
一点困ったのは CNAME がただのリダイレクトなので https にできない点です
まぁ音声ファイルを配信するだけなのでそこは妥協しました
Google Cloud Storage に CNAME を登録する方法
ウェブマスタツール で自分のドメイン「kakakikikeke.com」の管理者になっていることを確認します (見せたくないドメインはモザイクしています)
自分は Blogger の CNAME を登録するときに認証していたようです
バケット名をアクセスしたい URL で作成します
音声ファイルをアップロードして一般公開にします
Content-Type は一応 audio/aac
にしました
念の為 index.html と 404.html を一応配置しておきました
特に何もなくただ文字列を返すだけです (せっかくだから何かコンテンツ載せてもいいかも)
あとは CNAME を DNS に登録します
DNS はまだ Google に移行していない、、、画像はお名前ドットコムの DNS レコードの設定画面です
これで http://sound.kakakikikeke.com/ep0.m4a とかでアクセスできるようになります
Podcast も上記の URL で配信しています
ロギングも有効にしておく
バケットのロギングを有効にしおくと特定のバケットにアクセスログが溜まっていきます
アクセス元などを監視したい場合はオンにしておきましょう
当然ですがログが溜まればストレージの消費量も増えるので料金もあがります
gsutil mb -c regional -l us-central1 gs://sound-bucket-log/
gsutil acl ch -g cloud-storage-analytics@google.com:W gs://sound-bucket-log/
gsutil logging set on -b gs://sound-bucket-log gs://sound.kakakikikeke.com
gsutil logging get gs://sound.kakakikikeke.com
追記: feed の enclosure タグにリダイレクト URL は使えない
いざ配信してみてわかったのですが今回の用に CNAME リダイレクトだと Podcast アプリが音声ではないと判断して再生してくれないようです
なので feed は素直に https://storage.googleapis.com/sound.kakakikikeke.com/
で配信するように修正しました、、、
何事も試してみないとわからんですね
それ以外は
あとはこれまで監視に pingdom というサービスを使っていたのですが有料化しちゃったので Stackdriver に移行しました
あと音声ファイルを配信する URL が kakakikikeke.com -> sound.kakakikikeke.com になったので Podcast Connect という Apple が管理する Podcast のポータルサイトからフィードの再読込を依頼しました
たぶんこれをやらないと Podcast クライアントが音源を読み込めなくなりストリーミングできなくなるはず、、、
もしかするとクライアント側がキャッシュしている場合があるのでその場合は一度 unsubscribe してもらえると助かります
あとあと自分のホームページを docker build するときに f1-micro
だとメモリが足りなかったのでディスクの領域の一部を swapon しました
たぶん作業的にはこれくらいかなと
だいたい半日もかからないくらいで終わりました
最後に
今までは Heroku とかドッグフードしていたのですが全部 Google にしました
なんか最近はマルチクラウドとかで DR とかしたほうが良いよとか聞きますが全部 Google で完結していると管理がめっちゃ楽です
今後はクラウドで何かホスティングとかしたい場合はまずは GCP で探してなければ GCE で自分でやるか、それが相当面倒なのであれば外部の別のサービスを使うくらいにしようかなーと思います
ちなみにサイトや Podcast はこれまで通りhttps://kakakikikeke.com や https://kakakikikeke.com/podcast でアクセスできますのでよろしくお願いします
0 件のコメント:
コメントを投稿