Canary リリースの更新
Canary リリースがデプロイされた後、テストパフォーマンスを最適化するため、Canary トラフィックの割合を調整したり、ステージキャッシュの使用を有効または無効にしたりするかもしれません。また、実行コンテキストが更新されたとき、Canary リリースで使用されているステージ変数を変更することもできます。このような更新を行うには、stage:update オペレーションを呼び出すとき canarySettings に新しい値を入れます。
Canary リリースは、API Gateway コンソール、AWS CLI update-stage コマンド、または AWS SDK を使用して更新できます。
API Gateway コンソールを使用して Canary リリースを更新する
API Gateway コンソールを使用してステージで既存の Canary 設定を更新するには、次の操作を行います。
-
API Gateway コンソールにサインインし、プライマリナビゲーションペインで既存の API を選択します。
-
API の下にある [ステージ] を選択し、[ステージ] リストの下にある既存のステージを選択して [ステージエディタ] を開きます。
-
[設定] の [Canary] タブを選択します。
-
0.0 から 100.0 の間でパーセント数を調整して [Canary に振り分けられたリクエストの割合 (%)] を更新します。
-
ステージの値を追加、削除、または変更して [Canary ステージ変数] を更新します。
-
チェックボックスをオンまたはオフにして [ステージキャッシュの使用を有効化] を更新します。
-
変更を保存します。
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/stageVariableOverides/newVar" \ "value": "newVal", \ }, { \ "op": "replace", \ "path": "/canarySettings/stageVariableOverides/var2" \ "value": "val4", \ }, { \ "op": "remove", \ "path": "/canarySettings/stageVariableOverides/var1" \ }]'
上記のすべてを更新するには、オペレーションを 1 つの patch-operations
値にまとめます。
aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ \ "op": "replace", \ "path": "/canary/percentTraffic", \ "value": "20.0" \ }, { \ "op": "replace", \ "path": "/canary/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" \ }]'