2018-04-28

AWSやAzureやGCPのリソースを大掃除する

ゴールデンウィークが始まった。良い機会なのでクラウドサービスの大掃除をしよう。全部サーバー代を払うのももったいないし、管理するのも面倒になってきたサービスを綺麗にし、精神的な管理コストを削減していくことにした。

Amazon Web Service

AWSはS3やRoute53などを除き、概ねリージョンごとにリソースの管理が分断されている。私はこれまで全てをオレゴンに寄せていたが、それでも気づかぬうちにほかのリージョンにもいろいろ作られていた。そういったリソースを一覧するためのツールとしては、AWSのタグエディターが便利に使える。選択できるリージョンを全部選択し、全てのリソースを検索対象にすればこれまで作った、あるいは勝手に作られたリソースがリストアップされる。各リンクをクリックしていっこいっこDeleteし、消すことのできないdefault系リソースのみにできた。その辺も消せるものなら消したいが、まぁこれは無理みたいだ。

Microsoft Azure

こちらはAWSに比べるととても簡単で、普通にResource Groupブレードを開いて不要なリソースを消していくだけだ。リソースグループ機能はうまく使えば大変便利で、GCPで言うところのプロジェクト機能みたいなものなので孤立したリソースはそうそう生まれない。これはAWSにも欲しいなぁと思い続けている。Azureで運用していたサイトや保存していたファイルは全て他へ移行したので、これからここに新たに何かを作ることもないだろう。Azure、サービス自体はいいんだけどWebのインターフェースがいつみても本当に微妙なので(AWSのUIはそれに輪を掛けて酷い)きびしい気持ちになっていた。BizSparkでずっとただ同然で使わせてもらっていたが、それの期限も切れるのでそろそろ引っ越しのタイミングとしては悪くない。いままでありがとう。

Google Cloud Platform / Firebase

こちらはDashboardのResourcesカードを見れば一覧になっている。プロジェクトごとによくわからないリソースを消していくだけの簡単な作業だ。実のところGCPはこれまでほとんど使ってなかった。しかしAWSに比べればだいぶ安価だし、UIも他に比べかなり洗練されているし、なによりどのプロダクトも大変安定している。Googleという会社は全くもって好きじゃないが、GCPは大変素晴らしい。リサーブドインスタンスとか考えなくたって連続した利用時間に応じて勝手にディスカウントされるという料金体系も最高だ。

そんなわけでサーバーたちの整理ついでにAWSやAzureで運用していたサービスはすべてFirebaseに移行した。昔のFirebaseで提供されていたRealtimeDBは極小規模なフロントエンド以外からでは正直イマイチなしろものだったが、いま提供されている二つ目のDBサービスFirestoreはさほどの不満はない。単純なツリー構造を脱却し、親ノードを取得したら下位ノードを全部とりにいくみたいな挙動はなくなった。もう小規模な(大規模であっても単純であれば)サービスならFirebaseにロックインしてしまって良いんじゃないだろうか。Googleという邪悪な会社に心をゆだね、安穏と怠惰に身を沈めてしまうことがいかほど楽なことだろうか。趣味のプロダクトならそんな方向でも良いのだ。たぶん。