View a markdown version of this page

Utiliser IPv6 avec Kinesis Video Streams - Amazon Kinesis Video Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser IPv6 avec Kinesis Video Streams

Vous pouvez configurer Kinesis Video Streams pour utiliser IPv6 à la fois pour les opérations du plan de contrôle et du plan de données. Cela permet à vos applications de communiquer avec les services Kinesis Video Streams à l'aide d'adresses IPv6 via des points de terminaison à double pile.

Note

La prise en charge d'IPv6 nécessite des versions du SDK et des paramètres de configuration spécifiques. Assurez-vous que vos versions du SDK et du SDK Kinesis Video Streams prennent en charge AWS les points de terminaison à double pile IPv6. Dual-stack les points de terminaison prennent en charge le trafic IPv4 et IPv6 et sont disponibles pour certains services dans certaines régions.

Kinesis Video Streams prend en charge le protocole IPv6 via des points de terminaison à double pile pour les applications destinées aux producteurs et aux consommateurs. Vous pouvez configurer vos applications pour utiliser IPv6 pour les appels d'API du plan de contrôle et les opérations de streaming du plan de données.

Configurez le AWS SDK pour IPv6

Si vous utilisez le AWS SDK pour appeler les API du plan de contrôle Kinesis Video Streams dans votre configuration de production, vous pouvez activer IPv6 en configurant des points de terminaison à double pile. Le AWS SDK fournit plusieurs méthodes standardisées pour activer les points de terminaison à double pile.

Important

Lorsque les points de terminaison à double pile sont activés, le SDK tente d'utiliser des points de terminaison à double pile pour effectuer des requêtes réseau. S'il n'existe pas de point de terminaison à double pile pour le service ou la région, la demande échoue.

Utiliser des variables d'environnement

Définissez la variable d'environnement suivante pour activer les points de terminaison IPv6 à double pile :

export AWS_USE_DUALSTACK_ENDPOINT=true

Utilisez la commande AWS Fichier de configuration  

Ajoutez le paramètre suivant à votre fichier AWS de configuration (~/.aws/config) :

[default] use_dualstack_endpoint = true

Utiliser les propriétés du système JVM (SDK Java et Kotlin uniquement)

Pour les applications Java et Kotlin, définissez la propriété système JVM suivante :

-Daws.useDualstackEndpoint=true

Ou par programmation dans votre code Java :

System.setProperty("aws.useDualstackEndpoint", "true");

Prise en charge de SDK

Les AWS SDK suivants prennent en charge la configuration des terminaux à double pile :

Kit SDK Pris en charge Méthodes de configuration
AWS CLI v2 Oui Variable d'environnement, fichier de configuration
SDK pour C++ Oui Variable d'environnement, fichier de configuration
SDK pour Go V2 (1.x) Oui Variable d'environnement, fichier de configuration
SDK pour Java 2.x Oui Variable d'environnement, fichier de configuration, propriété JVM
Kit SDK pour Java 1.x Non Non pris en charge
SDK pour 3.x JavaScript Oui Variable d'environnement, fichier de configuration
Kit SDK for Python (Boto3) Oui Variable d'environnement, fichier de configuration

Après avoir configuré des points de terminaison à double pile, le AWS SDK utilise automatiquement les points de terminaison IPv6 lorsqu'il appelle les API du plan de contrôle Kinesis Video Streams.

Configuration du SDK Kinesis Video Streams Producer pour IPv6

Le SDK Kinesis Video Streams Producer fournit des options de configuration IPv6 pour les opérations du plan de contrôle et du plan de données. Ces paramètres fonctionnent avec la configuration du point de terminaison à double pile du AWS SDK.

Configuration du SDK C/C ++ Producer

Les points de terminaison par défaut et la chaîne de résolution DNS sont implémentés par le Producer-C SDK KVS version 1.6.0. Il vérifie séquentiellement chaque endroit où vous pouvez définir la configuration de ces paramètres, puis sélectionne le premier que vous définissez. La séquence prédéfinie est la suivante :

Pour plus d'informations sur les SDK Producer, consultez les rubriques relatives au SDK Producer pour C, au SDK Producer pour C++ et au SDK Producer.

Configuration du terminal

  1. Le controlPlaneUrl paramètre pourcreateAbstractDefaultCallbacksProvider.

  2. Paramètres CMake de configuration du point de terminaison : (-DAWS_KVS_USE_LEGACY_ENDPOINT_ONLY=TRUE,-DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE)

  3. Variables d'environnement : (export AWS_USE_DUALSTACK_ENDPOINT=TRUE)

    • Si tel AWS_USE_DUALSTACK_ENDPOINT est le cas TRUE (sans distinction majuscules/majuscules), le point de terminaison à double pile sera utilisé.

  4. Dans le cas contraire, l'ancien point de terminaison sera construit et utilisé.

Avec 2, 3 et 4, le point de terminaison sera construit en fonction de la région fournie àcreateAbstractDefaultCallbacksProvider.

Filtrage DNS

Le SDK KVS Producer définira le CURLOPT_IPRESOLVE paramètre approprié en fonction de la configuration :

  1. Paramètres CMake de résolution DNS : (-DAWS_KVS_IPV4_ONLY=TRUE,-DAWS_KVS_IPV6_ONLY=TRUE,-DAWS_KVS_IPV4_AND_IPV6_ONLY=TRUE)

  2. Variables d'environnement (export AWS_KVS_USE_IPV4=TRUE,export AWS_KVS_USE_IPV6=TRUE)

  3. Dans le cas contraire, aucun filtrage n'aura lieu. Les adresses IP IPv4 et IPv6, si elles sont renvoyées par le DNS, peuvent être utilisées.

Note

Si les paramètres du filtre DNS sont définis pour filtrer les adresses IP IPV6, mais que la configuration du SDK consiste à utiliser l'ancien point de terminaison ( IPV4-only adresses renvoyées), la demande échouera.

La version 3.5.0 du SDK C++ Producer utilise le Producer-C SDK 1.6.0 pour les appels d'API KVS.

Configurer le plugin GStreamer

Le plugin GStreamer utilise le SDK C Producer sous-jacent, de sorte que la configuration IPv6 est gérée automatiquement lorsque vous configurez le SDK C pour IPv6 comme décrit précédemment.

Il n'est pas nécessaire de modifier le code, il suffit de créer le SDK avec les paramètres CMake ou de définir les variables d'environnement appropriées comme décrit dans la section précédente.

Résolution des extrémités du plan de données

Pour les opérations sur le plan de données, utilisez l'GetDataEndpointAPI pour récupérer le point de terminaison du plan de données à double pile approprié. Le service renvoie le point de terminaison correspondant en fonction de l'URL de la demande.

Exemple :

  • Si la demande GetDataEndpoint d'API est adressée à l'ancien point de terminaison se terminant par.amazonaws.com, Kinesis Video Streams renvoie l'ancien point de terminaison du plan de données se terminant par. .amazonaws.com

  • Si la demande GetDataEndpoint d'API est envoyée au point de terminaison à double pile se terminant par.api.aws, Kinesis Video Streams renvoie le point de terminaison du plan de données à double pile se terminant par. .api.aws

Configurez le AWS CLI pour IPv6

Si vous utilisez les opérations AWS CLI pour Kinesis Video Streams (généralement pour des travaux de validation de concept), vous pouvez activer IPv6 en configurant des points de terminaison à double pile.

Utiliser une variable d'environnement

export AWS_USE_DUALSTACK_ENDPOINT=true

Utilisez la commande AWS Fichier de configuration  

Ajoutez ce qui suit à votre fichier AWS CLI de configuration (~/.aws/config) :

[default] use_dualstack_endpoint = true

Exemples de configuration

Exemple de SDK C

Pour créer le Producer-C SDK KVS en IPV6-only mode et ignorer la configuration des variables d'environnement, utilisez les commandes suivantes pour créer le SDK :

cmake .. -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE -DAWS_KVS_IPV6_ONLY=TRUE make -j
Note

Si vous avez déjà créé le SDK, vous devrez effectuer une nouvelle génération. Supprimez les dossiers de compilation, de code source ouvert et de dépendance existants avant d'exécuter les commandes de génération.

Considérations

Exigences réseau

  • Assurez-vous que votre infrastructure réseau prend en charge la connectivité IPv6

  • Vérifiez que vos groupes de sécurité et vos ACL réseau autorisent le trafic IPv6

  • Testez la connectivité aux points de terminaison AWS IPv6 depuis votre environnement de déploiement

  • Dual-stack les points de terminaison sont disponibles pour certains services dans certaines régions. Vérifiez la disponibilité pour vos régions cibles

Compatibilité avec le SDK

  • Assurez-vous que vous utilisez une version du AWS SDK prise en charge

  • Le AWS SDK pour Java 1.x ne prend pas en charge la configuration des points de terminaison à double pile

  • Pour le SDK pour Go 1.x (V1), vous devez activer le chargement depuis le fichier de configuration pour utiliser les paramètres du fichier de configuration partagés

Tests et validation

Avant de déployer des applications IPv6-enabled Kinesis Video Streams en production :

  • Tester les opérations du plan de contrôle (création de flux, suppression, listage)

  • Vérifier le fonctionnement du plan de données (ingestion et consommation de vidéos)

  • Validez les performances et la connectivité dans votre environnement réseau

  • Exécutez des tests Canary pour garantir la cohérence des fonctionnalités IPv6

  • Testez le comportement du basculement lorsque les points de terminaison à double pile ne sont pas disponibles

Clients mis à niveau pour inclure IPv6

Lorsque vous activez IPv6 pour Kinesis Video Streams, vous devrez peut-être mettre à jour vos configurations et politiques existantes dans plusieurs domaines afin de garantir le fonctionnement continu.

Politiques IAM et filtrage des adresses IP

Si vous utilisez le filtrage des adresses IP source dans vos politiques utilisateur IAM, vos politiques de rôle ou vos politiques basées sur les ressources, vous devez mettre à jour ces politiques pour inclure les plages d'adresses IPv6.

Important

Les politiques IAM existantes qui utilisent des blocs d'adresse CIDR IPv4 dans IpAddress ou dans des NotIpAddress conditions ne fonctionneront pas automatiquement avec les adresses IPv6. Vous devez ajouter explicitement des plages IPv6 pour maintenir le contrôle d'accès.

Exemple de mise à jour de la politique IAM pour 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" ] } } } ] }

Journalisation et surveillance

Les adresses IPv6 ont un format différent de celui des adresses IPv4, ce qui peut avoir un impact sur vos systèmes de journalisation, de surveillance et d'analyse.

journaux

les journaux contiendront les adresses IPv6 dans le sourceIPAddress champ lorsque les demandes sont effectuées via IPv6. Mettez à jour vos outils et scripts d'analyse des journaux pour gérer les formats d'adresse IPv6.

Exemple d'adresse IPv6 dans les journaux :

{ "sourceIPAddress": "2001:db8::1", "eventName": "CreateStream", "eventSource": "kinesisvideo.amazonaws.com" }

Résolution des problèmes

Problèmes courants

  • Défaillances de connexion — Vérifiez la connectivité réseau IPv6 et la résolution DNS

  • Erreurs du SDK : assurez-vous que vous utilisez des versions du SDK compatibles qui prennent en charge les points de terminaison à double pile

  • Problèmes d'authentification — Vérifiez que les politiques et les informations d'identification IAM fonctionnent avec les points de terminaison IPv6

  • Point de terminaison non disponible : si aucun point de terminaison à double pile n'existe pour le service ou la région, les demandes échouent

Étapes de vérification

  • Vérifiez que AWS_USE_DUALSTACK_ENDPOINT=true c'est défini ou qu'use_dualstack_endpoint = trueil se trouve dans votre fichier de configuration

  • Vérifiez que les indicateurs de configuration IPv6 du SDK Kinesis Video Streams sont correctement définis

  • Tester la connectivité réseau aux points de terminaison AWS IPv6

  • Consultez les journaux des applications pour détecter les messages IPv6-specific d'erreur

  • Vérifiez que votre région prend en charge les points de terminaison à double pile pour Kinesis Video Streams

Validation de configuration

Vous pouvez vérifier la configuration de votre point de terminaison à double pile en vérifiant :

  • Variables d'environnement : echo $AWS_USE_DUALSTACK_ENDPOINT

  • AWS fichier de configuration : cat ~/.aws/config | grep use_dualstack_endpoint

  • Propriétés de la JVM (Java) : vérifiez les propriétés du système dans les journaux de vos applications