29
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Google Cloud Run の個人的なQ&A(2021年2月現在)

Last updated at Posted at 2021-02-12

CloudRunを使う機会があったので、何ができるのか、自分の中で沸いた疑問ベースで調べたメモです。
私が調べただけなので、間違ってる可能性が十分にございます、ご注意ください。
また、CloudRunは新機能がどんどん出ているサービスなので、情報が古くなっている可能性もあります。

正確で最新の情報が欲しい場合は、公式ドキュメントを参考にしてください。
https://cloud.google.com/run

*CloudRunには、デプロイのプラットフォームとして、フルマネージドとAnthosの2種類がありますが、ここではフルマネージドの話をしています

Q&A

Google Cloud Runってどんなサービス?

  • コンテナをデプロイできるフルマネージドのサーバーレスなサービス
  • コンテナはどこかのポートでHTTPリクエストをリッスンしておけばよい
  • http(s)リクエストか、Pub/Sub イベント経由で呼び出しできる
  • スケーリングもしてくれる
  • 課金対象は100ミリ秒単位で実行した時間のみ

料金体型は?無料枠は?

リソース調整どんくらいできる?

  • CPU 1~4
  • memory 128MiB ~ 8GiB
  • インスタンスは0台~1000台までスケール可

(半年ぐらい前まではメモリが最大2GiBだったと思うので、すぐにもっと幅広がるかも)

外部のネットワークからどうやってアクセスできるの?

  • デフォルト設定でデプロイすると、自動でドメインが割り当てられるので、いきなりどこからでもアクセス可能
  • カスタムドメインを設定することもできる
  • デフォルト設定ではIPアドレスの制限とかはできない

任意のVPCネットワーク内にデプロイできるの?

CloudRunで実行してるコンテナにSSH接続ってできるの?(踏み台として使いたい)

コンテナ数を0にしないことは可能?

CloudRunからVPCに接続できるの?

サーバーレスVPCアクセスって?

  • GoogleCloudのサーバーレス環境からCompute Engine VM インスタンスや Memorystore インスタンスなど、内部 IP アドレスを持つリソースにアクセスできるようになる
  • GoogleCloudのサーバーレス環境とは、Cloud Run(フルマネージド)、Cloud Functions、または App Engine スタンダード環境のこと
  • サーバーレスVPCアクセスをするには、サーバーレスVPCアクセスコネクタを作成する

外向きのIPアドレスってどうなってるの?

外向きのIPアドレスを固定したい場合はどうすればいいの?

アクセスIPの制限とかできるの?

非公開にデプロイできるの?

  • 可能
  • 使用可能な上り(内向き)設定社内(ベータ版) を洗濯すれば、プロジェクト内からのリクエストのみがサービスにアクセスできるようになります

他の内部サービスからCloudRunのインスタンスにアクセスできるの?

マイクローサービス的なことできるの?

ワーカー的な使い方できるの?

  • 可能
  • CloudTaskと組み合わせて使える
  • ポートをリッスンするようなアプリケーションにしておく必要はある
  • スケールは簡単にさせられる
  • たぶんCloudRunのDeadlineが最大で60分なので、実行に時間のかかるタスクは厳しいかもしれない
    • Cloud Tasks, Cloud Scheduler から Cloud Run を起動した時の Deadline が 30分になるらしい

ポートをリッスンしてないアプリケーションをデプロイしたらどうなる?

  • エラーするので、デプロイできませんでした
  • どんな公開設定でもデプロイできませんでした

静的コンテンツを配信する機能ある?

  • ない
  • GAEにはStatic Contents Serverという機能があり、html, jsなどを配信することができる
  • Firebase Hostingを使うパターンはできる
  • サーバーレス NEGを用いて、パスでバックエンドサービスを振り分けて対応するパターンも出来そう
    • /api/*の時はCloudRunへアクセス
    • その他の場合はGAEのStaticContentsServerとか、GCSとかにアクセス
    • 的な感じかな?

その他参考になりそうな記事など

所感

  • GAEやCloudFunctionと違ってコンテナ使えるのがうれしい
  • 実行してない時はお金掛からないので、開発環境とか作ってもお金気にならないのでうれしい
  • CloudFunctionでマイクローサービス&ワークフロー管理すれば、個人開発者にかなりうれしいのではないだろうか
  • 静的コンテンツの配信できないのがネック
  • ポートを必ずリッスンするコンテナにしないといけないのでネック

最後に

まだ調べれてないことや疑問もあるので、随時更新するかもしれません。
(Pub/Subイベント経由での呼び出しとか)
これからCloudRunでなんか作ろうと思ってるので、知見を追記するかもしれません。

私の解釈が間違っていたり、情報が古くなっている場合は、コメントで教えていただけると嬉しいです!

29
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
21

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?