Amazon API Gateway
開発者ガイド

Canary リリースの更新

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

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

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

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

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

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

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

  4. 0.0 から 100.0 の間でパーセント数を調整して [Canary に振り分けられたリクエストの割合 (%)] を更新します。

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

  6. チェックボックスをオンまたはオフにして [ステージキャッシュの使用を有効化] を更新します。

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