Cloud Runは、Googleのインフラストラクチャ上でコンテナを直接実行できる、フルマネージドなコンピューティングプラットフォームです。任意のプログラミング言語で記述されたコードをデプロイでき、サーバーの管理やインフラストラクチャの管理が不要になります。
Cloud Run の特徴:
- サーバーレス:インフラストラクチャの管理が不要で、コードに集中できます。
- 自動スケーリング:受信リクエストに応じて自動的にスケールアウトし、需要が減るとスケールインします。
- 多様なサポート:ウェブサイト、API、マイクロサービス、ストリーミングデータ処理、AI推論など、様々なワークロードに対応します。
- 統合:他のGoogle Cloudサービスとの連携が容易で、多機能なアプリケーションを構築できます。
- ロギング:Cloud Loggingに自動的にログが送信され、リクエストログ、コンテナログ、システムログの3種類があります。
- 柔軟性:Cloud Run サービスと Cloud Run ジョブの2種類があり、継続的な実行とジョブの実行に対応します。
- セキュリティ:Googleのセキュリティ標準で構築されており、転送中のトラフィックはすべて暗号化されます。
- VPC接続:VPCネットワークにトラフィックを直接送信し、VPCで実行しているすべてのサービスに接続できます.
Cloud Run の利用方法:
- コンテナイメージのデプロイ:コンテナイメージをCloud Runサービスにデプロイします。Dockerfile を含むソース、またはサポートされている言語ランタイムで記述されたソースをデプロイできます。
- ソースコードからのデプロイ:Go、Node.js、Python、Javaなどのサポートされている言語を使用している場合、ソースコードから直接デプロイできます。
- 関数のデプロイ:Eventarcトリガーを使用して、イベント駆動型の関数をデプロイできます。
Cloud Run の注意点:
- コンテナの契約:コンテナは、Cloud Runのコンテナランタイム契約を遵守する必要があります。
- ファイルシステム:インスタンスのファイルシステムは揮発性であり、インスタンスが停止するとデータは保持されません。
- CPU割り当て:CPUはリクエスト処理中にのみ割り当てられる場合があり、その場合バックグラウンドアクティビティは制限されます。
- 同時実行:各インスタンスで処理できる同時リクエストの数を調整する必要があります。
- ロギングエージェント:Cloud Runはロギングエージェントを使用しません。Compute Engine などの特定の Google Cloud プロダクトで Cloud Logging を使用している場合は、Cloud Logging のロギング エージェントを使用した可能性があります。
Cloud Run のベストプラクティス:
- 効率的なサービスの作成:バックグラウンドアクティビティを最小限に抑え、一時ファイルを削除して、メモリ不足エラーを回避します。
- パフォーマンスの最適化:コンテナの起動時間を短縮し、依存関係を適切に使用し、グローバル変数を利用してパフォーマンスを向上させます。
- 同時実行の最適化:サービスの同時実行数を調整して、安定したパフォーマンスを確保します。
- セキュリティ:IAMを使用してアクセス制御を構成し、VPC Service Controlsを使用して流出リスクを軽減します。
- モニタリング:Cloud Monitoringを使用して、Cloud Runサービスのパフォーマンスを監視し、アラートを設定します。
- 負荷テスト:負荷テストを実施して、本番環境でのスケーリングを検証し、ボトルネックを特定します。
- VPC下り(外向き)設定:ダイレクトVPC下り(外向き)またはサーバーレスVPCアクセスコネクタを使用して、VPCネットワークへのプライベートリクエストを構成します。
- 段階的な移行:サーバーレスVPCアクセスコネクタからダイレクトVPC下り(外向き)に移行する場合は、段階的に移行します。
- コンテナイメージ:コンテナイメージのサイズを小さく保ち、リーンベースイメージの使用を検討します。
Uh oh!
There was an error while loading. Please reload this page.