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