Canary リリースの更新 - Amazon API Gateway

Canary リリースの更新

Canary リリースがデプロイされた後、テストパフォーマンスを最適化するため、Canary トラフィックの割合を調整したり、ステージキャッシュの使用を有効または無効にしたりするかもしれません。また、実行コンテキストが更新されたとき、Canary リリースで使用されているステージ変数を変更することもできます。このような更新を行うには、stage:update オペレーションを呼び出すとき canarySettings に新しい値を入れます。

Canary リリースは、API Gateway コンソール、AWS CLI update-stage コマンド、または AWS SDK を使用して更新できます。

API Gateway コンソールを使用して Canary リリースを更新する

API Gateway コンソールを使用してステージで既存の Canary 設定を更新するには、次の操作を行います。

既存の canary 設定を更新するには
  1. API Gateway コンソールにサインインし、既存の REST API を選択します。

  2. メインナビゲーションペインで、[ステージ] を選択してから、既存のステージを選択します。

  3. [canary] タブを選択してから、[編集] をクリックします。[Canary] タブを表示するには、右矢印ボタンを選択する必要がある場合があります。

  4. 0.0~100.0 の間でパーセント数を調整して、[リクエストの割合 (%)] を更新します。

  5. [ステージキャッシュ] チェックボックスを選択または選択解除します。

  6. Canary ステージ変数を追加、削除、または変更します。

  7. [Save] を選択します。

AWS CLI を使用して Canary リリースを更新する

AWS CLI を使用して Canary を更新するには、update-stage コマンドを呼び出します。

Canary のステージキャッシュの使用を有効または無効にするには、次のように update-stage コマンドを呼び出します。

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/useStageCache,value=true

Canary トラフィックの割合を調整するには、update-stage を呼び出し、ステージ/canarySettings/percentTraffic の値を置き換えます。

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations op=replace,path=/canarySettings/percentTraffic,value=25.0

Canary ステージの変数を追加、置き換え、または削除して Canary ステージの変数を更新するには

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/var2", "value": "val4" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }]'

上記のすべてを更新するには、オペレーションを 1 つの patch-operations 値にまとめます。

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "path": "/canarySettings/percentTraffic", "value": "20.0" }, { "op": "replace", "path": "/canarySettings/useStageCache", "value": "true" }, { "op": "remove", "path": "/canarySettings/stageVariableOverrides/var1" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/val2", "value": "val4" }]'