View a markdown version of this page

Verwenden Sie IPv6 mit Kinesis Video Streams - Amazon Kinesis Video Streams

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, Producer-SDK SDK for C++ und verwandten Themen zum Producer-SDK.

Endpunktkonfiguration

  1. Der controlPlaneUrl Parameter fürcreateAbstractDefaultCallbacksProvider.

  2. CMake-Parameter für die Endpunktkonfiguration: (-DAWS_KVS_USE_LEGACY_ENDPOINT_ONLY=TRUE,-DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE)

  3. Umgebungsvariablen: () export AWS_USE_DUALSTACK_ENDPOINT=TRUE

    • Falls ja AWS_USE_DUALSTACK_ENDPOINT TRUE (ohne Berücksichtigung von Groß- und Kleinschreibung), wird der Dual-Stack-Endpunkt verwendet.

  4. 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:

  1. 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

  2. Umgebungsvariablen (export AWS_KVS_USE_IPV4=TRUE,export AWS_KVS_USE_IPV6=TRUE)

  3. 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 GetDataEndpoint API-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 GetDataEndpoint API-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=true use_dualstack_endpoint = true ist 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