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.
Verwenden Sie IPv6 mit Kinesis Video Streams
Sie können Kinesis Video Streams so konfigurieren, dass IPv6 sowohl 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
Für die IPv6-Unterstützung sind spezielle 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 Endgeräte unterstützen sowohl IPv4- als auch IPv6-Verkehr 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 verwenden.
Konfigurieren Sie die AWS SDK für IPv6
Wenn Sie das AWS SDK verwenden, um Kinesis Video Streams Streams-APIs auf der Steuerungsebene in Ihrem Produktions-Setup aufzurufen, können Sie IPv6 aktivieren, 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 AWS Konfigurationsdatei
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
Die folgenden AWS SDKs unterstützen 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 APIs der Kinesis Video Streams Streams-Kontrollebene aufruft.
Das Kinesis Video Streams Producer SDK für IPv6 konfigurieren
Das Kinesis Video Streams Producer SDK bietet IPv6-Konfigurationsoptionen sowohl für den Betrieb auf der Steuerungsebene als auch auf 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 in der 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 zu den Producer-SDKs finden Sie unter Producer-SDK für C
Endpunktkonfiguration
-
Der
controlPlaneUrlParameter fürcreateAbstractDefaultCallbacksProvider. -
CMake-Parameter für die Endpunktkonfiguration: (
-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. Sowohl IPv4- als auch IPv6-IP-Adressen können verwendet werden, sofern sie von DNS zurückgegeben werden.
Anmerkung
Wenn die DNS-Filtereinstellungen so eingestellt sind, dass sie nach IPv6-IP-Adressen filtern, die SDK-Konfiguration jedoch den Legacy-Endpunkt verwendet (gibt IPV4-only Adressen zurück), 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.
Konfigurieren Sie das GStreamer-Plugin
Das GStreamer-Plugin verwendet das zugrunde liegende C Producer SDK, sodass die IPv6-Konfiguration automatisch durchgeführt wird, 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 AWS CLI für IPv6
Wenn Sie den Betrieb AWS CLI für Kinesis Video Streams verwenden (in der Regel für Machbarkeitsstudien), können Sie IPv6 aktivieren, 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 im IPV6-only Modus 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 IPv6-Konnektivität unterstützt
-
Stellen Sie sicher, dass Ihre Sicherheitsgruppen und Netzwerk-ACLs IPv6-Verkehr 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 IPv6-enabled Kinesis Video Streams Streams-Anwendungen für die Produktion bereitstellen:
-
Testen Sie die Abläufe auf der Steuerungsebene (Erstellung, Löschung, Auflistung 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
Kunden, die von der Aktualisierung auf IPv6 betroffen sind
Wenn Sie IPv6 für Kinesis Video Streams aktivieren, 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 IPv6-Adressbereiche einzubeziehen.
Wichtig
Bestehende IAM-Richtlinien, die IPv4-CIDR-Blocks IpAddress oder NotIpAddress -Bedingungen verwenden, funktionieren nicht automatisch mit IPv6-Adressen. Sie müssen explizit IPv6-Bereiche hinzufügen, um die Zugriffskontrolle aufrechtzuerhalten.
Beispiel für ein IAM-Richtlinienupdate 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 über IPv6 gestellt werden. Aktualisieren Sie Ihre Tools und Skripts zum Analysieren von Protokollen, sodass sie mit IPv6-Adressformaten umgehen können.
Beispiel für eine IPv6-Adresse 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 IPv6-Endpunkten funktionieren
-
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 sich in Ihrer Konfigurationsdatei befindet -
Stellen Sie sicher, dass die IPv6-Konfigurationsflags des Kinesis Video Streams SDK richtig gesetzt sind
-
Testen Sie die Netzwerkkonnektivität zu IPv6-Endpunkten AWS
-
Überprüfen Sie die Anwendungsprotokolle auf Fehlermeldungen IPv6-specific
-
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