Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Lineare Verkehrsverlagerung
Durch die lineare Verkehrsverlagerung können Sie den Verkehr schrittweise von Ihrer alten Flotte (blaue Flotte) auf Ihre neue Flotte (grüne Flotte) verlagern. Mit der linearen Verkehrsverlagerung können Sie den Verkehr in mehreren Schritten verlagern und so das Risiko einer Störung an Ihrem Endpunkt minimieren. Diese blaue/grüne Bereitstellungsoption bietet Ihnen die genaueste Kontrolle über die Verkehrsverlagerung.
Sie können entweder die Anzahl der Instances oder den Prozentsatz der Kapazität der grünen Flotte wählen, die bei jedem Schritt aktiviert werden sollen. Jeder lineare Schritt sollte nur zwischen 10 und 50% der Kapazität der grünen Flotte liegen. Für jeden Schritt gibt es eine Back-Phase, in der Ihre vordefinierten Amazon CloudWatch-Alarme die Metriken der grünen Flotte überwachen. Sobald die Backphase abgelaufen ist und keine Alarme ausgelöst werden, empfängt der aktive Teil Ihrer grünen Flotte weiterhin Traffic und ein neuer Schritt beginnt. Wenn während einer der Back-Phasen Alarme ausgelöst werden, werden 100% des Endpunktverkehrs wieder auf die blaue Flotte übertragen.
Das folgende Diagramm zeigt, wie die lineare Verkehrsverlagerung den Verkehr an die blauen und grünen Flotten weiterleitet.
Sobald SageMaker die neue Flotte bereitgestellt hat, wird der erste Teil der grünen Flotte eingeschaltet und empfängt Verkehr. SageMaker deaktiviert den gleichen Teil der blauen Flotte und die Backphase beginnt. Wenn Alarme ausgelöst werden, wird der gesamte Datenverkehr an den Endpunkten wieder auf die blaue Flotte übertragen. Wenn die Backzeit beendet ist, beginnt der nächste Schritt. Ein anderer Teil der grünen Flotte wird aktiviert und empfängt Verkehr, ein Teil der blauen Flotte wird deaktiviert und eine weitere Backphase beginnt. Derselbe Vorgang wiederholt sich, bis die blaue Flotte vollständig deaktiviert ist und die grüne Flotte voll aktiv ist und den gesamten Verkehr empfängt. Wenn zu irgendeinem Zeitpunkt ein Alarm ausgelöst wird, beendet SageMaker den Schichtvorgang und 100% des Traffics werden wieder der blauen Flotte zugewiesen.
Voraussetzungen
Bevor Sie eine Bereitstellung mit linearer Verkehrsverlagerung einrichten, müssen Sie CloudWatch-Alarme erstellen, um Metriken von Ihrem Endpunkt aus zu überwachen. Die Alarme sind während der Backphase aktiv, und wenn Alarme ausgelöst werden, wird der gesamte Endpunktverkehr auf die blaue Flotte zurückgesetzt. Informationen zum Einrichten von CloudWatch-Alarmen auf einem Endpunkt finden Sie auf der Seite Konfiguration und Überwachung von Auto-Rollback mit den Voraussetzungen. Um mehr über CloudWatch-Alarme zu erfahren, siehe Verwenden von Amazon CloudWatch-Alarmen im Amazon CloudWatch-Benutzerhandbuch.
Konfigurieren Sie die lineare Verkehrsverlagerung
Sobald Sie für Ihre Bereitstellung bereit sind und CloudWatch-Alarme für Ihren Endpunkt eingerichtet haben, können Sie entweder die Amazon SageMaker UpdateEndpoint API oder den Befehl update-endpoint in AWS CLI verwenden, um die Bereitstellung zu initiieren.
Themen
So aktualisieren Sie einen Endpunkt (API)
Das folgende Beispiel der updateEndpoint-API zeigt, wie Sie einen Endpunkt mit linearer Verkehrsverlagerung aktualisieren können.
import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="
<your-endpoint-name>
", EndpointConfigName="<your-config-name>
", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "LINEAR", "LinearStepSize": { "Type": "CAPACITY_PERCENT", "Value": 20 }, "WaitIntervalInSeconds": 300 }, "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>
" } ] } } )
Um die Optionen Linear Traffic Shifting zu konfigurieren, machen Sie Folgendes:
Verwenden Sie für
EndpointName
den Namen des vorhandenen Endpunkts, den Sie aktualisieren möchten.Verwenden Sie für
EndpointConfigName
den Namen der Endpunkt-Konfiguration, die Sie verwenden möchten.Stellen Sie unter
DeploymentConfig
undBlueGreenUpdatePolicy
, inTrafficRoutingConfiguration
,, denType
Parameter aufLINEAR
ein. Dies gibt an, dass bei der Bereitstellung eine lineare Verkehrsverlagerung verwendet wird.Im Feld
LinearStepSize
können Sie die Größe der Schritte ändern, indem Sie die ParameterType
undValue
ändern. FürType
verwenden SieCAPACITY_PERCENT
, d.h. den Prozentsatz Ihrer grünen Flotte, den Sie als Schrittgröße verwenden wollen, und setzen SieValue
auf20
. In diesem Beispiel schalten Sie für jeden Schritt der Verkehrsverlagerung 20% der Kapazität der umweltfreundlichen Flotte ein. Beachten Sie, dass Sie bei der Anpassung Ihrer linearen Schrittgröße nur Stufen verwenden sollten, die 10-50% der Kapazität der grünen Flotte ausmachen.Geben Sie als
WaitIntervalInSeconds
300
ein. Der Parameter weist SageMaker an, zwischen jeder Datenverkehrs-Verlagerung den angegebenen Zeitraum (in Sekunden) zu warten. Dieses Intervall ist die Dauer der Backzeit zwischen den einzelnen linearen Schritten. Im vorherigen Beispiel wartet SageMaker zwischen jeder Verkehrsschicht 5 Minuten.Geben Sie als
TerminationWaitInSeconds
300
ein. Dieser Parameter weist SageMaker an, die angegebene Zeit (in Sekunden) zu warten, nachdem Ihre grüne Flotte voll aktiv ist, bevor die Instances in der blauen Flotte beendet werden. In diesem Beispiel wartet SageMaker nach der letzten Backzeit 5 Minuten, bevor die blaue Flotte beendet wird.Geben Sie als
MaximumExecutionTimeoutInSeconds
3600
ein. Dieser Parameter legt die maximale Zeit fest, die die Bereitstellung ausgeführt werden kann, bevor eine Zeitbeschränkung auftritt. Im vorherigen Beispiel gilt für Ihre Bereitstellung ein Limit von 1 Stunde bis zum Abschluss.In
AutoRollbackConfiguration
können Sie im FeldAlarms
Ihre CloudWatch-Alarme nach Namen hinzufügen. Erstellen Sie einenAlarmName:
Eintrag für jeden Alarm, den Sie verwenden möchten.<your-cw-alarm>
Wie aktualisiert man einen Endpunkt mit einer vorhandenen blau/grünen Update-Richtlinie (API)
Wenn Sie die CreateEndpoint-API verwenden, um einen Endpunkt zu erstellen, können Sie optional eine Bereitstellungskonfiguration angeben, die für future Endpunkt-Updates wiederverwendet werden soll. Sie können dieselben DeploymentConfig
Optionen wie im vorherigen UpdateEndpoint-API-Beispiel verwenden. Das Verhalten der CreateEndpoint-API wurde nicht geändert. Durch die Angabe der Bereitstellungskonfiguration wird nicht automatisch ein blau/grünes Update auf Ihrem Endpunkt durchgeführt.
Die Option, eine vorherige Bereitstellungskonfiguration zu verwenden, ist verfügbar, wenn Sie die UpdateEndpoint-API verwenden, um Ihren Endpunkt zu aktualisieren. Wenn Sie Ihren Endpunkt aktualisieren, können Sie die RetainDeploymentConfig
Option verwenden, um die Bereitstellungskonfiguration beizubehalten, die Sie bei der Erstellung des Endpunkts angegeben haben.
Stellen Sie beim Aufrufen der UpdateEndpoint-API RetainDeploymentConfig
auf True
ein, um die DeploymentConfig
Optionen aus Ihrer ursprünglichen Endpunktkonfiguration beizubehalten.
response = client.update_endpoint( EndpointName="
<your-endpoint-name>
", EndpointConfigName="<your-config-name>
", RetainDeploymentConfig=True )
So aktualisieren Sie einen Endpunkt (CLI)
Wenn Sie den verwenden AWS CLI, zeigt das folgende Beispiel, wie Sie mit dem Befehl update-endpoint eine lineare Blau/Grün-Bereitstellung starten.
update-endpoint --endpoint-name
<your-endpoint-name>
--endpoint-config-name<your-config-name>
--deployment-config '{"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "LINEAR", "LinearStepSize": {"Type": "CAPACITY_PERCENT", "Value": 20}, "WaitIntervalInSeconds": 300}, "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>
"}]}'
Um die Optionen Linear Traffic Shifting zu konfigurieren, machen Sie Folgendes:
Verwenden Sie für
endpoint-name
den Namen des Endpunkts, den Sie aktualisieren möchten.Verwenden Sie für
endpoint-config-name
den Namen der Endpunkt-Konfiguration, die Sie verwenden möchten.Verwenden Sie für
deployment-config
ein BlueGreenUpdatePolicy-JSON-Objekt.
Anmerkung
Wenn Sie Ihr JSON-Objekt lieber in einer Datei speichern möchten, finden Sie weitere Informationen unter Generieren von AWS CLI Skelett- und Eingabeparametern im AWS CLIBenutzerhandbuch.