[Beta]{class="badge positive"}
カナリアデプロイメントを使用してコードを検証する canary-deployments
AEM Cloud Serviceの実装の場合、Cloud Managerのカナリールデプロイメントでは、実際のユーザートラフィックをパブリッシュ層にルーティングする前に、ライブ実稼動インフラストラクチャのパブリッシュ層で新しいコードを検証できます。 新しいバージョンを現在の安定したバージョンと一緒にデプロイし、専用のリクエストヘッダーを介して到達します。 新しいバージョンが正常に機能することを確認したら、すべてのトラフィックにプロモーションするか(これは3時間のウィンドウ後に自動的に行われます)、ロールバックできます。
開発環境とステージ環境は、引き続きコードリリースをテストする主要な場所です。カナリアデプロイメントは、リリースが期待どおりに機能することを確認する追加の機会として機能します。 例えば、AEMの本番環境が外部サービスの本番環境エンドポイントと統合されている場合に便利です。このエンドポイントは、下位のAEM環境では明示的に検証されません。
Canary デプロイメントは内部検証用であり、実際のユーザートラフィックを古いリリースから新しいリリースに移行するためのものではありません。実際のユーザートラフィックは、Canary インスタンスに自動的にルーティングされることはありません。
Canaryのデプロイメントプロセス how-canary-deployments-work
カナリアデプロイメントが有効になっているフルスタックパイプラインを実行すると、Cloud Managerは新しいビルド用のカナリアインスタンスの個別のセットを開始し、安定したインスタンスは引き続きユーザーにサービスを提供します。 このプロセスは次の手順に従います。
- カナリアデプロイメントが有効になっているフルスタックデプロイメントパイプライン、ステージまたは実稼動を実行します。
パイプラインの実行および カナリアデプロイメントの有効化を参照してください。 - デプロイメントステップで、Cloud Managerは、新しいバージョンのコードを実行するカナリインスタンスを開始します。
- 既存の安定したインスタンスは引き続きライブトラフィックに対応します。
- Canary リクエストヘッダーを追加して、新しいバージョンに選択的に到達します。 詳しくは、 カナリアリリースへのアクセス を参照してください。
- 検証ウィンドウ中に、カナリアリリースをすべてのトラフィックに昇格するか、キャンセルします。 検証とプロモーションまたはキャンセル を参照してください。
カナリアのデプロイメントを有効にする enable-canary-deployments
フルスタックパイプラインでカナリアデプロイメントを有効にします。 カナリアのデプロイメントは、ステージおよび 実稼動 環境でのみサポートされています。 以下に示すように、ステージと実稼動の両方にデプロイするように設定されたパイプラインは、実稼動環境でのみカナリアデプロイメントを実行することに注意してください。
パイプライン タイプ別Canary デプロイメントの動作
カナリアデプロイメントの実行場所は、パイプラインのタイプによって異なります。
カナリアのデプロイを有効にするには:
-
Cloud Managerで、新しいパイプラインを追加するか、既存のパイプライン を編集して、ステージまたは実稼動環境にフルスタックコードをデプロイします。
-
実稼動パイプラインを編集 ダイアログボックスで、「Source コード」タブをクリックします。
-
「パイプライン」セクションの「実稼動デプロイメントオプション」見出しの下で、カナリアデプロイメント(ベータ版)」をクリックします。
-
「更新」をクリックして、パイプラインのイネーブルメントを完了します。
検証ウィンドウでは、カナリヘッダーを含むリクエストのみが、新しくデプロイされたリリースに到達します。 他のすべてのリクエストは、引き続き安定リリースに到達します。
カナリアリリースへのアクセス access-the-canary-release
Cloud Managerがカナリインスタンスを開始したら、リクエストにHTTP ヘッダーを追加して、新しいバージョンに到達します。 安定バージョンでは、ヘッダーなしでリクエストを引き続き処理します。
カナリアリリースにリクエストを送信するには、次のヘッダーを含めます。
X-Aem-Canary: true
検証とプロモーションまたはキャンセル validate-and-promote-or-cancel
カナリインスタンスの準備ができたら、検証ウィンドウが開き、新しいバージョンをテストできます。 Cloud Managerでは、実稼動環境へのデプロイ セクションに、実稼動環境へのプロモート および デプロイメントのキャンセル オプションが表示されています。
カナリヤの解放を促進する promote-the-canary-release
すべてのライブトラフィックを新しいバージョンにルーティングするには、本番環境へのプロモーションをクリックします。 カナリアリリースを宣伝する場合:
- カナリア版は新しい安定したリリースになります。
- Cloud Managerでは、すべてのライブトラフィックが新しいバージョンにルーティングされます。
- ロールバックは使用できなくなりました。
カナリアのデプロイメントをキャンセル cancel-the-canary-deployment
検証ウィンドウで問題が見つかった場合は、展開をキャンセルをクリックします。 カナリアのデプロイメントをキャンセルする場合:
- Cloud Managerはカナリリリースを停止し、カナリインスタンスを削除します。
- 以前の安定したバージョンは引き続きトラフィックを提供します。
- キャンセルは、検証ウィンドウでのみ使用できます。
範囲と制限 scope-and-limitations
カナリアデプロイメントを使用する場合は、次の範囲と制限を考慮してください。
- カナリアのデプロイメントは、パブリッシュ層にのみ適用されます。 オーサー層は、カナリア検証中も安定バージョンのままです。
- カナリア公開インスタンスが既存のコンテンツ構造に対応できるように、変更は下位互換性を持つ必要があります。
- リリースの可変コンテンツの変更は、カナリアリリースを宣伝した後に適用されます。 これらの変更は、検証中はカナリインスタンスでは使用できません。