メニュー
Amazon API Gateway
開発者ガイド

Canary リリースの更新

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

Canary リリースを更新するには、API Gateway コンソール、AWS CLI update-stage コマンド、AWS SDK、および API Gateway REST API の stage:update リンクリレーションを使用します。

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

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

  1. API Gateway コンソールにサインインし、プライマリナビゲーションペインで既存の API を選択します。

  2. API の下にある [Stages] を選択し、[Stages] リストの下にある既存のステージを選択して [Stage Editor] を開きます。

  3. [Settings] の [Canary] タブを選択します。

  4. 0.0 から 100.0 の間でパーセント数を調整して [Percentage of requests directed to Canary] を更新します。

  5. ステージの値を追加、削除、または変更して [Canary Stage Variables] を更新します。

  6. チェックボックスをオンまたはオフにして [Enable use of stage cache] を更新します。

  7. 変更を保存します。

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" \ }]'

API Gateway REST API を使用して Canary リリースを更新する

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

PATCH /restapis/{rest-api-id}/stages/{stage-name} { "patchOperations": [{ "op": "replace", "path": "/canarySettings/useStageCache", "value: "true" }] }

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

PATCH /restapis/{rest-api-id}/stages/{stage-name} { "patchOperations": [{ "op": "replace", "path": "/canarySettings/percentTraffic", "value": "25.0" }] }

Canary ステージの変数を追加、変更、または削除して Canary ステージの変数を更新するには、以下の例を使用します。

PATCH /restapis/{rest-api-id}/stages/{stage-name} { "patchOperations": [{ "op": "replace", "path": "/canarySettings/stageVariableOverrides/newVar", "value": "newVal" }, { "op": "replace", "path": "/canarySettings/stageVariableOverrides/var2", "value": "val4" }, { "op": "remove", "path": "/canary/overriddenStageVariables/var1", }] }

上記のすべてのオペレーションを 1 つの PATCH リクエストにまとめることができます。