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.
Verwendung IPv6 mit Kinesis Video Streams
Sie können Kinesis Video Streams so konfigurieren, dass es sowohl IPv6 für Operationen auf der Steuerungsebene als auch auf der Datenebene verwendet wird. Dadurch können Ihre Anwendungen mithilfe von IPv6 Adressen über Dual-Stack-Endpunkte mit Kinesis Video Streams Streams-Diensten kommunizieren.
Anmerkung
IPv6 Für die Unterstützung sind bestimmte SDK-Versionen und Konfigurationseinstellungen erforderlich. Stellen Sie sicher, dass Ihre Kinesis Video Streams AWS SDK- und SDK-Versionen IPv6 Dual-Stack-Endpunkte unterstützen. Dual-Stack-Endpunkte unterstützen sowohl IPv6 Datenverkehr als auch IPv4 und sind für einige Dienste in einigen Regionen verfügbar.
Kinesis Video Streams unterstützt IPv6 über Dual-Stack-Endpunkte sowohl für Hersteller- als auch für Verbraucheranwendungen. Sie können Ihre Anwendungen so konfigurieren, dass sie IPv6 für API-Aufrufe auf Steuerungsebene und Streaming-Operationen auf Datenebene verwendet werden.
Konfigurieren Sie das AWS SDK für IPv6
Wenn Sie das AWS SDK verwenden, um die Kinesis Video Streams Streams-Steuerebene APIs in Ihrem Produktions-Setup aufzurufen, können Sie dies aktivieren, IPv6 indem Sie Dual-Stack-Endpunkte konfigurieren. Das AWS SDK bietet mehrere standardisierte Methoden zur Aktivierung von Dual-Stack-Endpunkten.
Wichtig
Wenn Dual-Stack-Endpunkte aktiviert sind, versucht das SDK, Dual-Stack-Endpunkte für Netzwerkanfragen zu verwenden. Wenn für den Dienst oder die Region kein Dual-Stack-Endpunkt existiert, schlägt die Anfrage fehl.
Verwenden Sie Umgebungsvariablen
Legen Sie die folgende Umgebungsvariable fest, um IPv6 Dual-Stack-Endpunkte zu aktivieren:
export AWS_USE_DUALSTACK_ENDPOINT=true
Verwenden Sie die Konfigurationsdatei AWS
Fügen Sie Ihrer AWS Konfigurationsdatei (~/.aws/config) die folgende Einstellung hinzu:
[default] use_dualstack_endpoint = true
Verwenden Sie JVM-Systemeigenschaften (nur Java und Kotlin SDKs )
Legen Sie für Java- und Kotlin-Anwendungen die folgende JVM-Systemeigenschaft fest:
-Daws.useDualstackEndpoint=true
Oder programmgesteuert in Ihrem Java-Code:
System.setProperty("aws.useDualstackEndpoint", "true");
SDK-Unterstützung
Folgendes AWS SDKs unterstützt die Dual-Stack-Endpunktkonfiguration:
| SDK | Unterstützt | Methoden zur Konfiguration |
|---|---|---|
| AWS CLI v2 | Ja | Umgebungsvariable, Konfigurationsdatei |
| SDK für C++ | Ja | Umgebungsvariable, Konfigurationsdatei |
| SDK for Go V2 (1.x) | Ja | Umgebungsvariable, Konfigurationsdatei |
| SDK für Java 2.x | Ja | Umgebungsvariable, Konfigurationsdatei, JVM-Eigenschaft |
| SDK für Java 1.x | Nein | Nicht unterstützt |
| SDK für 3.x JavaScript | Ja | Umgebungsvariable, Konfigurationsdatei |
| SDK für Python (Boto3) | Ja | Umgebungsvariable, Konfigurationsdatei |
Nachdem Sie Dual-Stack-Endpunkte konfiguriert haben, verwendet das AWS SDK automatisch IPv6 Endpunkte, wenn es die Kinesis Video Streams Streams-Steuerebene aufruft. APIs
Konfigurieren Sie das Kinesis Video Streams Producer SDK für IPv6
Das Kinesis Video Streams Producer SDK bietet IPv6 Konfigurationsoptionen für den Betrieb auf der Steuerungsebene und der Datenebene. Diese Einstellungen funktionieren mit der AWS SDK-Dual-Stack-Endpunktkonfiguration.
Konfigurieren Sie das C/C++ Producer SDK
Die Standard-Endpunkte und die DNS-Auflösungskette werden durch das KVS Producer-C SDK Version 1.6.0 implementiert. Es überprüft nacheinander jeden Ort, an dem Sie die Konfiguration für diese Parameter festlegen können, und wählt dann den ersten aus, den Sie festlegen. Die vordefinierte Reihenfolge lautet wie folgt:
Weitere Informationen zum Producer finden Sie unter SDKs Producer-SDK für C
Endpunktkonfiguration
-
Der
controlPlaneUrlParameter fürcreateAbstractDefaultCallbacksProvider. -
CMake Konfigurationsparameter für Endgeräte: (
-DAWS_KVS_USE_LEGACY_ENDPOINT_ONLY=TRUE,-DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE) -
Umgebungsvariablen: (
export AWS_USE_DUALSTACK_ENDPOINT=TRUE)-
Falls ja
AWS_USE_DUALSTACK_ENDPOINTTRUE(ohne Berücksichtigung von Groß- und Kleinschreibung), wird der Dual-Stack-Endpunkt verwendet.
-
-
Andernfalls wird der Legacy-Endpunkt erstellt und verwendet.
Bei den Werten 2, 3 und 4 wird der Endpunkt auf der Grundlage der bereitgestellten Region erstelltcreateAbstractDefaultCallbacksProvider.
DNS-Filterung
Das KVS Producer SDK legt je nach Konfiguration den entsprechenden CURLOPT_IPRESOLVE Parameter fest:
-
CMake Parameter für die DNS-Auflösung: (
-DAWS_KVS_IPV4_ONLY=TRUE,-DAWS_KVS_IPV6_ONLY=TRUE,-DAWS_KVS_IPV4_AND_IPV6_ONLY=TRUE) -
Umgebungsvariablen (
export AWS_KVS_USE_IPV4=TRUE,export AWS_KVS_USE_IPV6=TRUE) -
Andernfalls findet keine Filterung statt. IPv4 Sowohl IPv6 IP-Adressen als auch IP-Adressen können verwendet werden, sofern sie von DNS zurückgegeben werden.
Anmerkung
Wenn die DNS-Filtereinstellungen so eingestellt sind, dass nach IPV6 IP-Adressen gefiltert wird, die SDK-Konfiguration jedoch den Legacy-Endpunkt verwendet (Adressen, die IPV4 nur zurückgegeben werden), schlägt die Anfrage fehl.
Das C++ Producer SDK Version 3.5.0 verwendet das Producer-C SDK 1.6.0 für die KVS-API-Aufrufe.
GStreamer Konfigurieren Sie das Plugin
Das GStreamer Plugin verwendet das zugrunde liegende C Producer SDK, sodass die IPv6 Konfiguration automatisch erfolgt, wenn Sie das C-SDK für IPv6 wie zuvor beschrieben konfigurieren.
Eine Änderung des Codes ist nicht erforderlich. Erstellen Sie einfach das SDK mit den CMake Parametern oder legen Sie die entsprechenden Umgebungsvariablen fest, wie im vorherigen Abschnitt beschrieben.
Auflösung der Endpunkte auf der Datenebene
Verwenden Sie für Datenebenenoperationen die GetDataEndpoint API, um den entsprechenden Dual-Stack-Datenebenen-Endpunkt abzurufen. Der Dienst gibt je nach Anforderungs-URL den entsprechenden Endpunkt zurück.
Beispiel:
-
Wenn die
GetDataEndpointAPI-Anfrage an den Legacy-Endpunkt gestellt wird, der auf endet.amazonaws.com, gibt Kinesis Video Streams die Legacy-Datenebenen-Endpunkte zurück, die auf enden..amazonaws.com -
Wenn die
GetDataEndpointAPI-Anfrage an den Dual-Stack-Endpunkt gestellt wird, der auf endet.api.aws, gibt Kinesis Video Streams den Dual-Stack-Datenebenen-Endpunkt zurück, der mit endet..api.aws
Konfigurieren Sie das für AWS CLI IPv6
Wenn Sie den Betrieb AWS CLI für Kinesis Video Streams verwenden (normalerweise proof-of-concept beruflich), können Sie ihn aktivieren, IPv6 indem Sie Dual-Stack-Endpunkte konfigurieren.
Verwenden Sie eine Umgebungsvariable
export AWS_USE_DUALSTACK_ENDPOINT=true
Verwenden Sie die AWS Konfigurationsdatei
Fügen Sie Ihrer AWS CLI Konfigurationsdatei (~/.aws/config) Folgendes hinzu:
[default] use_dualstack_endpoint = true
Beispiele für Konfigurationen
Beispiel für ein C SDK
Um das KVS Producer-C SDK nur im Modus IPV6 -only zu erstellen und die Konfiguration der Umgebungsvariablen zu ignorieren, verwenden Sie die folgenden Befehle, um das SDK zu erstellen:
cmake .. -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE -DAWS_KVS_IPV6_ONLY=TRUE make -j
Anmerkung
Wenn Sie das SDK bereits erstellt haben, müssen Sie einen sauberen Build durchführen. Löschen Sie die vorhandenen Build-, Open-Source-Ordner und Dependency-Ordner, bevor Sie die Build-Befehle ausführen.
Überlegungen
Netzwerkanforderungen
-
Stellen Sie sicher, dass Ihre Netzwerkinfrastruktur Konnektivität unterstützt IPv6
-
Stellen Sie sicher, dass Ihre Sicherheitsgruppen und Ihr Netzwerk IPv6 Datenverkehr ACLs zulassen
-
Testen Sie die Konnektivität zu AWS IPv6 Endpunkten von Ihrer Bereitstellungsumgebung aus
-
Dual-Stack-Endpunkte sind für einige Dienste in einigen Regionen verfügbar. Überprüfen Sie die Verfügbarkeit für Ihre Zielregionen
SDK-Kompatibilität
-
Stellen Sie sicher, dass Sie eine unterstützte AWS SDK-Version verwenden
-
Das AWS SDK for Java 1.x unterstützt keine Dual-Stack-Endpunktkonfiguration
-
Für das SDK for Go 1.x (V1) müssen Sie das Laden aus der Konfigurationsdatei aktivieren, um die Einstellungen der gemeinsam genutzten Konfigurationsdatei verwenden zu können
Testen und Validieren
Bevor Sie Kinesis Video Streams IPv6 Streams-fähige Anwendungen für die Produktion bereitstellen:
-
Testen Sie die Abläufe auf der Steuerungsebene (Erstellung, Löschung, Listung von Streams)
-
Überprüfen Sie den Betrieb der Datenebene (Aufnahme und Nutzung von Videos)
-
Überprüfen Sie die Leistung und Konnektivität in Ihrer Netzwerkumgebung
-
Führen Sie Canary-Tests durch, um eine konsistente IPv6 Funktionalität sicherzustellen
-
Testen Sie das Failover-Verhalten, wenn Dual-Stack-Endpunkte nicht verfügbar sind
Zu den Kunden, die vom Upgrade betroffen sind, gehören IPv6
Wenn Sie Kinesis Video Streams aktivieren IPv6 , gibt es mehrere Bereiche, in denen Sie möglicherweise Ihre vorhandenen Konfigurationen und Richtlinien aktualisieren müssen, um die kontinuierliche Funktionalität sicherzustellen.
IAM-Richtlinien und IP-Adressfilterung
Wenn Sie die Quell-IP-Adressfilterung in Ihren IAM-Benutzerrichtlinien, Rollenrichtlinien oder ressourcenbasierten Richtlinien verwenden, müssen Sie diese Richtlinien aktualisieren, um Adressbereiche einzubeziehen. IPv6
Wichtig
Bestehende IAM-Richtlinien, die IPv4 CIDR-Blöcke IpAddress oder NotIpAddress -Bedingungen verwenden, funktionieren nicht automatisch mit Adressen. IPv6 Sie müssen IPv6 Bereiche explizit hinzufügen, um die Zugriffskontrolle aufrechtzuerhalten.
Beispiel für ein Update der IAM-Richtlinie für IPv6:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "kinesisvideo:*", "Resource": "*", "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "203.0.113.0/24", "2001:db8::/32" ] } } } ] }
Protokollierung und Überwachung
IPv6 Adressen haben ein anderes Format als IPv4 Adressen, was sich auf Ihre Protokollierungs-, Überwachungs- und Analysesysteme auswirken kann.
Protokolle
Protokolle enthalten IPv6 Adressen im sourceIPAddress Feld, wenn Anfragen gestellt werden IPv6. Aktualisieren Sie Ihre Tools und Skripts zum Analysieren von Protokollen, sodass sie mit IPv6 Adressformaten umgehen können.
IPv6 Beispieladresse in Protokollen:
{ "sourceIPAddress": "2001:db8::1", "eventName": "CreateStream", "eventSource": "kinesisvideo.amazonaws.com" }
Fehlerbehebung
Häufige Probleme
-
Verbindungsfehler — Überprüfen Sie die IPv6 Netzwerkkonnektivität und die DNS-Auflösung
-
SDK-Fehler — Stellen Sie sicher, dass Sie kompatible SDK-Versionen verwenden, die Dual-Stack-Endpunkte unterstützen
-
Authentifizierungsprobleme — Stellen Sie sicher, dass IAM-Richtlinien und Anmeldeinformationen mit Endgeräten funktionieren IPv6
-
Endpunkt nicht verfügbar — Wenn kein Dual-Stack-Endpunkt für den Service oder die Region existiert, schlagen Anfragen fehl
Schritte zur Überprüfung
-
Überprüfen Sie, ob dies festgelegt
AWS_USE_DUALSTACK_ENDPOINT=trueuse_dualstack_endpoint = trueist oder in Ihrer Konfigurationsdatei enthalten ist -
Stellen Sie sicher, dass die IPv6 Konfigurationsflags für das Kinesis Video Streams SDK richtig gesetzt sind
-
Testen Sie die Netzwerkkonnektivität zu den Endpunkten AWS IPv6
-
Suchen Sie in den Anwendungsprotokollen nach IPv6 spezifischen Fehlermeldungen
-
Vergewissern Sie sich, dass Ihre Region Dual-Stack-Endpunkte für Kinesis Video Streams unterstützt
Überprüfung der Konfiguration
Sie können Ihre Dual-Stack-Endpunktkonfiguration überprüfen, indem Sie Folgendes überprüfen:
-
Umgebungsvariablen:
echo $AWS_USE_DUALSTACK_ENDPOINT -
AWS Konfigurationsdatei:
cat ~/.aws/config | grep use_dualstack_endpoint -
JVM-Eigenschaften (Java): Überprüfen Sie die Systemeigenschaften in Ihren Anwendungsprotokollen