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