デプロイ戦略を使用する

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] をクリックすると、このデプロイに適用できなかったカナリア フェーズがスキップされたことを示す確認応答が返されます。

デプロイ戦略と並行してデプロイを使用する

デプロイ戦略を使用しながら、複数のターゲットに同時にデプロイできます。

カナリアでこれを行う方法については、カナリア デプロイ戦略での並列デプロイの使用をご覧ください。

次のステップ