ojichat on Cloud Run

Ryo Nakamaru
Mar 14, 2021

--

greymd さんの ojichatCloud Run でホストしてみました。

デプロイまでの 3 ステップ

  1. 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 はコンテナをサーバーレスに利用するためのサービスです。

  1. アクセスがなければ 課金されない 構成がデフォルト
  2. 最大 250 リクエスト まで 1 コンテナに同時接続!コスト最適化〜
  3. HTTPS エンドポイントつき、TLS 終端もお任せ
  4. トラフィックに応じ、0(停止状態)から高速にスケール
  5. 段階的ロールアウト / トラフィック制御、ロールバック もすごく簡単
  6. ログメトリクス もマネージドサービスに自動で連携されています
  7. git 連携からの継続的デプロイ

🍀🍀🍀

Dockerfile が不要なケース

ojichat、ソースコードのみでデプロイできていましたよね。7 つの特徴の最後のリンク先に、以下の記述があります。

Git リポジトリに Dockerfile が含まれているか、コードベースが Google Cloud Buildpacks でサポートされているいずれかの言語(Go、Node.js、Python、Java、NET Core)である必要があります。

多少癖がある のでどんなコードでも Dockerfile なしに一発でうまくいくわけでもないのですが、コンテナを意識せず、ビルドすることもなく Cloud Run にデプロイできてしまうのはおもしろいですね!

(Cloud Run にも コードの満たすべき条件 があったり、なるべくお安く効果的に使っていただくための 開発のヒント があったりします)

🍀🍀🍀

最後に

ojichat から返ってきた一言で締めたいと思います。ではまた

ボクはCloud Runちゃんの味方だからね❗😍😁😃✋風邪ひかないようにね😍

--

--

Ryo Nakamaru

Application modernization specialist, Customer Engineer at @GoogleCloud. Opinions are my own, NOT the views of my employer.