[Beta]{class="badge positive"}

カナリアデプロイメントを使用してコードを検証する canary-deployments

AEM Cloud Serviceの実装の場合、Cloud Managerのカナリールデプロイメントでは、実際のユーザートラフィックをパブリッシュ層にルーティングする前に、ライブ実稼動インフラストラクチャのパブリッシュ層で新しいコードを検証できます。 新しいバージョンを現在の安定したバージョンと一緒にデプロイし、専用のリクエストヘッダーを介して到達します。 新しいバージョンが正常に機能することを確認したら、すべてのトラフィックにプロモーションするか(これは3時間のウィンドウ後に自動的に行われます)、ロールバックできます。

開発環境とステージ環境は、引き続きコードリリースをテストする主要な場所です。カナリアデプロイメントは、リリースが期待どおりに機能することを確認する追加の機会として機能します。 例えば、AEMの本番環境が外部サービスの本番環境エンドポイントと統合されている場合に便利です。このエンドポイントは、下位のAEM環境では明示的に検証されません。

Canary デプロイメントは内部検証用であり、実際のユーザートラフィックを古いリリースから新しいリリースに移行するためのものではありません。実際のユーザートラフィックは、Canary インスタンスに自動的にルーティングされることはありません。

IMPORTANT
カナリアのデプロイメントは現在ベータ版です。 一般提供される前に、行動が変更される場合があります。 アクセスをリクエストしたり、フィードバックを共有したりするには、aemcs-canary-deployments-beta@adobe.comに電子メールを送信してください。

Canaryのデプロイメントプロセス how-canary-deployments-work

カナリアデプロイメントが有効になっているフルスタックパイプラインを実行すると、Cloud Managerは新しいビルド用のカナリアインスタンスの個別のセットを開始し、安定したインスタンスは引き続きユーザーにサービスを提供します。 このプロセスは次の手順に従います。

  1. カナリアデプロイメントが有効になっているフルスタックデプロイメントパイプライン、ステージまたは実稼動を実行します。
    ​ パイプラインの実行および​ カナリアデプロイメントの有効化を参照してください。
  2. デプロイメントステップで、Cloud Managerは、新しいバージョンのコードを実行するカナリインスタンスを開始します。
  3. 既存の安定したインスタンスは引き続きライブトラフィックに対応します。
  4. Canary リクエストヘッダーを追加して、新しいバージョンに選択的に到達します。 詳しくは、​ カナリアリリースへのアクセス ​を参照してください。
  5. 検証ウィンドウ中に、カナリアリリースをすべてのトラフィックに昇格するか、キャンセルします。 検証とプロモーションまたはキャンセル ​を参照してください。

カナリアのデプロイメントを有効にする enable-canary-deployments

フルスタックパイプラインでカナリアデプロイメントを有効にします。 カナリアのデプロイメントは、ステージ​および​ 実稼動 ​環境でのみサポートされています。 以下に示すように、ステージと実稼動の両方にデプロイするように設定されたパイプラインは、実稼動環境でのみカナリアデプロイメントを実行することに注意してください。

パイプライン タイプ別​Canary デプロイメントの動作
カナリアデプロイメントの実行場所は、パイプラインのタイプによって異なります。

パイプラインタイプ
実行する場所
​ ステージのみのパイプライン ​
カナリアのデプロイメントは、ステージング環境で実行されます。 これにより、実稼動環境にデプロイする際に、カナリアがどのように機能するかを把握できます
実稼動専用パイプライン
Canary デプロイメントは実稼動環境で実行されます。
ステージと実稼動パイプライン
カナリアのデプロイメントは、実稼動環境でのみ実行されます。

カナリアのデプロイを有効にするには:

  1. Cloud Managerで、新しいパイプラインを追加するか、既存のパイプライン ​を編集して、ステージまたは実稼動環境にフルスタックコードをデプロイします。

    既存のパイプラインの編集

  2. 実稼動パイプラインを編集 ダイアログボックスで、「Source コード」タブをクリックします。

    Canary Deployment beta チェックボックスが選択されたパイプラインのデプロイメントオプション ​

  3. 「パイプライン」セクションの「実稼動デプロイメントオプション」見出しの下で、カナリアデプロイメント(ベータ版)」をクリックします。

  4. 「更新」をクリックして、パイプラインのイネーブルメントを完了します。

    検証ウィンドウでは、カナリヘッダーを含むリクエストのみが、新しくデプロイされたリリースに到達します。 他のすべてのリクエストは、引き続き安定リリースに到達します。

カナリアリリースへのアクセス access-the-canary-release

Cloud Managerがカナリインスタンスを開始したら、リクエストにHTTP ヘッダーを追加して、新しいバージョンに到達します。 安定バージョンでは、ヘッダーなしでリクエストを引き続き処理します。

カナリアリリースにリクエストを送信するには、次のヘッダーを含めます。

X-Aem-Canary: true

検証とプロモーションまたはキャンセル validate-and-promote-or-cancel

カナリインスタンスの準備ができたら、検証ウィンドウが開き、新しいバージョンをテストできます。 Cloud Managerでは、実稼動環境へのデプロイ セクションに、実稼動環境へのプロモート ​および​ デプロイメントのキャンセル ​ オプションが表示されています。

IMPORTANT
3時間の検証ウィンドウ内に何も操作を行わない場合、Cloud Managerはカナリリリースを自動的にプロモートします。

Cloud Managerのデプロイメント手順で、準備完了のカナリアリリースのデプロイメントをキャンセルして実稼動環境にプロモートするアクションが表示されます。

カナリヤの解放を促進する promote-the-canary-release

すべてのライブトラフィックを新しいバージョンにルーティングするには、本番環境へのプロモーション​をクリックします。 カナリアリリースを宣伝する場合:

  • カナリア版は新しい安定したリリースになります。
  • Cloud Managerでは、すべてのライブトラフィックが新しいバージョンにルーティングされます。
  • ロールバックは使用できなくなりました。

カナリアのデプロイメントをキャンセル cancel-the-canary-deployment

検証ウィンドウで問題が見つかった場合は、展開をキャンセル​をクリックします。 カナリアのデプロイメントをキャンセルする場合:

  • Cloud Managerはカナリリリースを停止し、カナリインスタンスを削除します。
  • 以前の安定したバージョンは引き続きトラフィックを提供します。
  • キャンセルは、検証ウィンドウでのみ使用できます。

範囲と制限 scope-and-limitations

カナリアデプロイメントを使用する場合は、次の範囲と制限を考慮してください。

  • カナリアのデプロイメントは、パブリッシュ層にのみ適用されます。 オーサー層は、カナリア検証中も安定バージョンのままです。
  • カナリア公開インスタンスが既存のコンテンツ構造に対応できるように、変更は下位互換性を持つ必要があります。
  • リリースの可変コンテンツの変更は、カナリアリリースを宣伝した後に適用されます。 これらの変更は、検証中はカナリインスタンスでは使用できません。

このトピックの詳細ヘルプ more-help

recommendation-more-help
experience-manager-cloud-service-help-main-toc