デプロイ戦略を使用する

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

デプロイ戦略で並列デプロイを使用する

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

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

次のステップ