トラフィック分割
Cloud Functions(第 2 世代)では、各関数の複数のリビジョンがサポートされ、トラフィックを異なるリビジョン間で分割したり、関数を以前のリビジョンにロールバックしたりできます。
関数をデプロイまたは再デプロイすると、基盤となる Cloud Run サービスの新しいリビジョンが自動的に作成されます。リビジョンは不変であり、作成後は変更できません。関数を変更するには、関数を再デプロイする必要があります。
デフォルトでは、関数へのトラフィックは最新のリビジョンにルーティングされます。次のセクションで説明するように、カスタム トラフィック構成を設定すると、この動作を変更できます。
トラフィック構成の設定
関数の基盤となる Cloud Run サービスを使用して、関数のリビジョン間でトラフィックをルーティングする方法を管理できます。
gcloud
gcloud CLI を使用してトラフィックを管理するには:
関数を複数回デプロイして、複数のリビジョンを作成します。必ず Cloud Functions(第 2 世代)を使用してください。
関数の基盤となる Cloud Run サービスのリビジョン ID を確認します。
gcloud run revisions list --service YOUR_FUNCTION_NAME \ --region YOUR_FUNCTION_REGION \ --format 'value(REVISION)'
出力例を以下に示します。
YOUR_FUNCTION_NAME-00002-xyz YOUR_FUNCTION_NAME-00001-abc
トラフィック構成を変更するには、リビジョン ID を指定して
gcloud run services update-traffic
コマンドを使用します。たとえば、次のコマンドはトラフィックを 2 つのリビジョン間で 50 / 50 に分割します。gcloud run services update-traffic YOUR_FUNCTION_NAME \ --region YOUR_FUNCTION_REGION \ --to-revisions YOUR_FUNCTION_NAME-00001-abc=50,YOUR_FUNCTION_NAME-00002-xyz=50
コンソール
Google Cloud コンソールを使用してトラフィックを管理するには:
- 関数を複数回デプロイして、複数のリビジョンを作成します。必ず Cloud Functions(第 2 世代)を使用してください。
- Google Cloud コンソールで Cloud Functions の概要ページに移動します。
- 関数の名前をクリックして、[関数の詳細] ページに移動します。
- [Powered by Cloud Run] と表示されたペインで、関数の名前をクリックして、基礎となる Cloud Run サービスの [サービスの詳細] ページに移動します。
- [リビジョン] タブをクリックして、リビジョンのリストを表示します。
- [リビジョン] タブで [トラフィックの管理] をクリックします。
- 必要なトラフィック構成を入力し、[保存] をクリックします。
Cloud Run のリビジョン間のトラフィックの管理については、Cloud Run のドキュメントのロールバック、段階的なロールアウト、トラフィックの移行をご覧ください。