Cloud Deploy では、デプロイ戦略をサポートします。デプロイ戦略とは、ユーザーへの影響を最小限に抑えながらアプリケーションへの変更をデプロイするためのいくつかの手法の 1 つです。
Cloud Deploy ではどのようなデプロイ戦略がサポートされますか?
Cloud Deploy では、次のデプロイ戦略がサポートされています。
-
標準のデプロイ戦略では、アプリケーションをターゲット ランタイムまたはランタイムにデプロイするだけです。デプロイは段階的には行われず、アプリケーションの古いバージョンと新しいバージョンは分割されません。
標準デプロイを使用すると、リリースを簡単にロールバックしたり、デプロイを検証したり、複数のターゲットに同時にデプロイしたりできます。
-
カナリア デプロイはアプリケーションの段階的なデプロイです。まずアプリをインフラストラクチャの一部にデプロイし、テストを行ってから、さらにロールアウトできます。カナリア デプロイでは、バグの影響を受ける可能性の高いユーザー数を減らすことで、変更を導入するリスクを軽減します。
たとえば、Cloud Run へのカナリア デプロイが 50% の場合、トラフィックの半分を新しいリビジョンに転送し、半分を古いリビジョンに転送します。テストを行い安定性を確認した後、ロールアウトを 100% にします。Cloud Deploy では、割合の進行を指定できます(部分的な割合(20.5% など)。
どちらのデプロイ戦略も、Cloud Deploy がサポートするすべてのランタイム環境をサポートします。また、すべてのデプロイ戦略では、ロールバック、ロールアウトのキャンセル、複数のターゲットへのデプロイがサポートされています(並行デプロイ)。
フェーズがスキップされる場合がある理由
カナリアは、既存のバージョンのアプリケーションに対して実行されるため(段階的にそのバージョンを置き換えます)、Cloud Deploy で認識できるバージョンがまだデプロイされていない場合、カナリア戦略を実行できません。
つまり、特定のターゲットに初めてアプリケーションをデプロイするときに、カナリア デプロイ戦略を使用する場合、ロールアウトではカナリア フェーズがスキップされる可能性があります。この場合、Cloud Deploy は安定フェーズにスキップし、[Advance Rollout] をクリックして stable
フェーズを開始すると、アプリケーションはそのターゲットに完全にデプロイされます。これで、次の変更セットを使用してカナリアを実行できます。[Advance Rollout] をクリックすると、このデプロイに適用できなかったカナリア フェーズがスキップされたことを示す確認応答が返されます。
デプロイ戦略と並行してデプロイを使用する
デプロイ戦略を使用しながら、複数のターゲットに同時にデプロイできます。
カナリアでこれを行う方法については、カナリア デプロイ戦略での並列デプロイの使用をご覧ください。
次のステップ
クイックスタートを試す: アプリケーションをターゲットにカナリアデプロイする
カナリア デプロイ戦略の使用方法を学習する
カナリア ロールアウトのライフサイクルを管理する方法を確認する。