Hochstufen eines Canary-Releases - Amazon API Gateway

Hochstufen eines Canary-Releases

Wenn Sie ein Canary-Release hochstufen, ersetzt das Canary-Release die aktuellen Einstellungen der Stufe. Das Hochstufen eines Canary-Releases bedeutet nicht, dass das Canary für die Stufe deaktiviert wird. Um ein Canary zu deaktivieren, müssen Sie die Canary-Einstellungen der Stufe entfernen. Sie stufen ein Canary-Release wie folgt hoch.

  • Setzen Sie die Bereitstellungs-ID der Stufe mit den Bereitstellungs-ID-Einstellungen des Canarys zurück. Dadurch wird der API-Snapshot der Stufe mit dem Snapshot des Canarys aktualisiert, sodass die Testversion auch zum Produktionsrelease wird.

  • Aktualisieren Sie Stufenvariablen mit Canary-Stufenvariablen, falls vorhanden. Dadurch wird der API-Ausführungskontext der Stufe mit dem des Canarys aktualisiert. Ohne dieses Update kann die neue API-Version unerwartete Ergebnisse liefern, wenn die Testversion unterschiedliche Stufenvariablen oder unterschiedliche Werte vorhandener Stufenvariablen verwendet.

  • Legen Sie den Prozentsatz des Canary-Verkehrs auf 0,0 % fest.

Hochstufen eines Canary-Releases mit der API Gateway-Konsole

Gehen Sie nach den Anweisungen unten vor, um eine Canary-Release-Bereitstellung mit der API Gateway-Konsole hochzustufen:

Hochstufen einer Canary-Release-Bereitstellung
  1. Melden Sie sich bei der API Gateway-Konsole an und wählen Sie eine bestehende API im Hauptnavigationsbereich aus.

  2. Wählen Sie im Hauptnavigationsbereich Stages (Stufen) und anschließend eine bestehende Stufe aus.

  3. Wählen Sie die Registerkarte Canary.

  4. Wählen Sie Promote Canary (Canary hochstufen) aus.

  5. Bestätigen Sie die durchzuführenden Änderungen und wählen Sie Promote canary (Canary hochstufen) aus.

Nach der Aktion verweist das Produktionsrelease auf die gleiche API-Version (deploymentId) wie das Canary-Release. Sie können dies mithilfe der AWS CLI überprüfen. Für Beispiele vgl. Hochstufen eines Canary-Releases mit der AWS CLI.

Hochstufen eines Canary-Releases mit der AWS CLI

Um mit den AWS CLI-Befehlen ein Canary-Release für das Produktionsrelease hochzustufen, rufen Sie den Befehl update-stage auf, um die dem Canary zugeordnete deploymentId zu der der Stufe zugeordneten deploymentId zu kopieren, den Prozentsatz für den Canary-Verkehr auf null (0.0) zurückzusetzen und alle Canary-Stufenvariablen zur entsprechenden Stufe zu kopieren.

Angenommen, wir haben eine Canary-Release-Bereitstellung, die durch eine in etwa wie folgt aussehende Stufe beschrieben wird:

{ "_links": { ... }, "accessLogSettings": { ... }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "canarySettings": { "deploymentId": "eh1sby", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" }, "percentTraffic": 10.5 }, "createdDate": "2017-11-20T04:42:19Z", "deploymentId": "nfcn0x", "lastUpdatedDate": "2017-11-22T00:54:28Z", "methodSettings": { ... }, "stageName": "prod", "variables": { "sv1": "val1" } }

Verwenden Sie den folgenden update-stage-Befehl, um den Canary hochzustufen:

aws apigateway update-stage \ --rest-api-id {rest-api-id} \ --stage-name '{stage-name}' \ --patch-operations '[{ "op": "replace", "value": "0.0", "path": "/canarySettings/percentTraffic" }, { "op": "copy", "from": "/canarySettings/stageVariableOverrides", "path": "/variables" }, { "op": "copy", "from": "/canarySettings/deploymentId", "path": "/deploymentId" }]'

Die Ausgabe sieht wie folgt aus:

{ "_links": { ... }, "accessLogSettings": { ... }, "cacheClusterEnabled": false, "cacheClusterStatus": "NOT_AVAILABLE", "canarySettings": { "deploymentId": "eh1sby", "useStageCache": false, "stageVariableOverrides": { "sv2": "val3", "sv1": "val2" }, "percentTraffic": 0 }, "createdDate": "2017-11-20T04:42:19Z", "deploymentId": "eh1sby", "lastUpdatedDate": "2017-11-22T05:29:47Z", "methodSettings": { ... }, "stageName": "prod", "variables": { "sv2": "val3", "sv1": "val2" } }

Durch ein Hochstufen eines Canary-Release wird Canary nicht deaktiviert und die Bereitstellung bleibt weiterhin eine Canary-Release-Bereitstellung. Um daraus eine reguläre Produktions-Release-Bereitstellung zu machen, müssen Sie die Canary-Einstellungen deaktivieren. Weitere Informationen dazu, wie Sie eine Canary-Release-Bereitstellung deaktivieren, finden Sie unter Deaktivieren eines Canary-Releases.