ojichat on Cloud Run
Mar 14, 2021
greymd さんの ojichat を Cloud Run でホストしてみました。
デプロイまでの 3 ステップ
—
- GOPATH 下の任意のフォルダに、以下を main.go として保存。
2. 依存関係を解決し
$ go mod init && go mod vendor
3. Cloud Run にデプロイ
Google Cloud を使い始めるための準備、gcloud のインストール、初期化、beta コンポーネントのインストール までできたらデプロイします。
$ gcloud beta run deploy ojichat --platform managed --region asia-northeast1 --allow-unauthenticated --source .
最終行に出力される Service URL、または以下コマンドの出力結果に沿い、デプロイされた API にアクセスしてみましょう。
$ echo "$(gcloud run services describe ojichat --format
'value(status.url)')/?name=$(whoami)"
🍀🍀🍀
Cloud Run 7 つの特徴
—
Cloud Run はコンテナをサーバーレスに利用するためのサービスです。
- アクセスがなければ 課金されない 構成がデフォルト
- 最大 250 リクエスト まで 1 コンテナに同時接続!コスト最適化〜
- HTTPS エンドポイントつき、TLS 終端もお任せ
- トラフィックに応じ、0(停止状態)から高速にスケール
- 段階的ロールアウト / トラフィック制御、ロールバック もすごく簡単
- ログ や メトリクス もマネージドサービスに自動で連携されています
- git 連携からの継続的デプロイ
🍀🍀🍀
Dockerfile が不要なケース
—
ojichat、ソースコードのみでデプロイできていましたよね。7 つの特徴の最後のリンク先に、以下の記述があります。
Git リポジトリに Dockerfile が含まれているか、コードベースが Google Cloud Buildpacks でサポートされているいずれかの言語(Go、Node.js、Python、Java、NET Core)である必要があります。
多少癖がある のでどんなコードでも Dockerfile なしに一発でうまくいくわけでもないのですが、コンテナを意識せず、ビルドすることもなく Cloud Run にデプロイできてしまうのはおもしろいですね!
(Cloud Run にも コードの満たすべき条件 があったり、なるべくお安く効果的に使っていただくための 開発のヒント があったりします)
🍀🍀🍀
最後に
ojichat から返ってきた一言で締めたいと思います。ではまた
ボクはCloud Runちゃんの味方だからね❗😍😁😃✋風邪ひかないようにね😍