19
Cloud Run(クラウドラン)
Cloud Run は、Google Cloud が提供するフルマネージドのサーバーレスコンピューティングプラットフォームです。開発者が作成したコンテナ化されたアプリケーションを、インフラ管理の手間なく、HTTPリクエストやイベントをトリガーとして実行できます。
従来のサーバー管理から解放されるため、開発者はコードの記述とアプリケーションの機能開発に集中でき、コスト効率、スケーラビリティ、迅速なデプロイといったメリットを享受できます。
Cloud Run の主な特徴 ✨
- フルマネージドなサーバーレス: サーバーのプロビジョニング、パッチ適用、スケーリング、メンテナンスといったインフラ管理はすべてGoogle Cloudが担当します。開発者はインフラを意識することなく、アプリケーションコードに専念できます。
- コンテナ対応の柔軟性: Dockerなどのコンテナイメージをデプロイできるため、好きなプログラミング言語、フレームワーク、ライブラリ、OSの依存関係を自由に利用できます。これにより、従来のサーバーレス関数(Cloud Functionsなど)よりも高い柔軟性を提供します。
- 自動スケーリング(ゼロスケール対応): トラフィックの増加に応じて、アプリケーションインスタンスを自動的に拡張(スケールアウト)します。逆に、リクエストがない場合はインスタンス数をゼロにまで縮小(スケールイン) するため、使っていないリソースには料金が発生しません。
- 従量課金制: アプリケーションが実際に処理を行った時間(CPUとメモリが消費された時間)とリクエスト数に応じてのみ料金が発生します。アイドル状態では費用がかからないため、コスト効率に優れています。
- 高速なデプロイと起動: コンテナイメージをデプロイするだけで、数秒でサービスが利用可能になります。
- HTTPS エンドポイントの自動生成: デプロイされた各サービスには、自動的に一意のHTTPSエンドポイントが割り当てられ、カスタムドメインをマッピングすることも可能です。
Cloud Run の利用形態 💡
Cloud Runには、主に2つの利用形態があります。
- Cloud Run サービス:
- HTTPリクエストに応答するWebアプリケーションやAPI、マイクロサービスに最適です。
- 常に稼働している必要がなく、リクエストがあったときに起動し、処理が完了すると停止する(ゼロスケール)特性を活かせます。
- 長時間の接続を維持するWebSocketのようなアプリケーションにも対応できます。
- HTTPリクエストに応答するWebアプリケーションやAPI、マイクロサービスに最適です。
- Cloud Run ジョブ:
- HTTPリクエストに直接応答する必要がない、一度実行されたら完了するバッチ処理やスクリプト、定期実行タスクに適しています。
- 例えば、CSVファイルの処理、画像のリサイズ、データベースのクリーニング、機械学習モデルのトレーニングなど、完了するまで実行されるタスクに利用されます。
- 手動で実行したり、Cloud Schedulerなどと連携して定期的に実行したりできます。
- HTTPリクエストに直接応答する必要がない、一度実行されたら完了するバッチ処理やスクリプト、定期実行タスクに適しています。
Cloud Run のユースケース 活用例 📈
- WebサイトやWebアプリケーションのバックエンド: 静的なウェブサイトのホスティングや、動的なAPIサーバーとして利用されます。
- APIやマイクロサービス: RESTful API、GraphQL API、またはサービス間の通信を行うプライベートなマイクロサービスの構築に適しています。
- イベント駆動型アプリケーション: Pub/Subメッセージ、Cloud Storageのオブジェクト変更、Eventarcからのイベントなど、様々なイベントをトリガーとしてコンテナを実行します。
- バッチ処理と定期実行タスク: 大量のデータ処理、レポート生成、データベースのメンテナンスなど、スケジュールされたり、一度だけ実行されるタスクに利用されます。
- モバイルアプリケーションのバックエンド: モバイルアプリからのリクエストを処理するAPIサーバーとして機能します。
- プロトタイプ開発: スピーディーにアプリケーションをデプロイし、動作確認を行えるため、新しいアイデアの検証やプロトタイプの構築に適しています。
関連リンク
- Cloud Run とは | Cloud Run ドキュメント – Google Cloud
- Cloud Run の料金 | Google Cloud
- Cloud Run で作るサーバーレス アーキテクチャ 23 連発 – これのときはこう! – Zenn
1 comment
[…] 必要であれば、ビルドステップの最後にCloud Run、App Engine、Compute […]
Comments are closed.