みーのぺーじ

みーが趣味でやっているPCやソフトウェアについて.Python, Javascript, Processing, Unityなど.

Google Cloud Runは魅力的だがまだ実用的でない

DockerベースのWebアプリケーションの運営に,Google Cloud Runがよさそうだと思ったので,使ってみました.Google Cloud Runは2019年12月に正式リリースされたばかりで,まだ半年しか経過していません*1.とはいうものの,Dockerイメージを指定して,CPUとメモリーを設定したら,あとは自動的にサービスを公開してくれる手軽さと柔軟さはとても魅力的です.競合するサービスとしてAWS FargateやHerokuがあります.

DockerベースのWebアプリケーションを作成するには,Dockerイメージ自体にサービスの状態を示す変数を保存できない制約のため,別のサーバーに変数を保存しておき,起動時に読み込む必要があります.環境変数を利用することが多いですが,Google Cloud Runでは,環境変数を利用せずに,Secret Managerを使うよう説明されています.Pythonを利用するならば,以下のclientを使います.

Python Client for Secret Manager API — google-cloud-secret-manager documentation

このclientはRPCを利用するので,grpcio · PyPIに依存しています.しかし,Alpine Linuxと相性が悪いです.「grpcio alpine error」と検索すると,多くの報告があります.

いろいろと試しましたが,みーはgrpcioをAlpineにインストールすることができませんでした.

google-cloud-secret-managerのPython clientのバージョンが1.0.0になったのは2020/5/20と1ヶ月前のようなので*2,バージョンが上がってからGoogle Cloud Run挑戦したいと思います.