View a markdown version of this page

Kinesis Video Streams에서 IPv6 사용 - Amazon Kinesis Video Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Kinesis Video Streams에서 IPv6 사용

제어 영역 및 데이터 영역 작업 모두에 IPv6를 사용하도록 Kinesis Video Streams를 구성할 수 있습니다. 이를 통해 애플리케이션은 듀얼 스택 엔드포인트를 통해 IPv6 주소를 사용하여 Kinesis Video Streams 서비스와 통신할 수 있습니다.

참고

IPv6 지원에는 특정 SDK 버전 및 구성 설정이 필요합니다. Kinesis Video Streams SDK 및 AWS SDK 버전이 IPv6 듀얼 스택 엔드포인트를 지원하는지 확인합니다. 듀얼 스택 엔드포인트는 IPv4 및 IPv6 트래픽을 모두 지원하며 일부 리전의 일부 서비스에서 사용할 수 있습니다.

Kinesis Video Streams는 생산자와 소비자 애플리케이션 모두에 대해 듀얼 스택 엔드포인트를 통해 IPv6를 지원합니다. 컨트롤 플레인 API 호출 및 데이터 플레인 스트리밍 작업에 IPv6를 사용하도록 애플리케이션을 구성할 수 있습니다.

IPv6용 AWS SDK 구성

AWS SDK를 사용하여 프로덕션 설정에서 Kinesis Video Streams 컨트롤 플레인 APIs 호출하는 경우 듀얼 스택 엔드포인트를 구성하여 IPv6를 활성화할 수 있습니다. AWS SDK는 듀얼 스택 엔드포인트를 활성화하는 여러 가지 표준화된 방법을 제공합니다.

중요

듀얼 스택 엔드포인트가 활성화되면 SDK는 듀얼 스택 엔드포인트를 사용하여 네트워크 요청을 시도합니다. 서비스 또는 리전에 대한 듀얼 스택 엔드포인트가 없는 경우 요청이 실패합니다.

환경 변수 사용

IPv6 듀얼 스택 엔드포인트를 활성화하려면 다음 환경 변수를 설정합니다.

export AWS_USE_DUALSTACK_ENDPOINT=true

AWS 구성 파일 사용

AWS 구성 파일(~/.aws/config)에 다음 설정을 추가합니다.

[default] use_dualstack_endpoint = true

JVM 시스템 속성 사용(Java 및 Kotlin SDKs만 해당)

Java 및 Kotlin 애플리케이션의 경우 다음 JVM 시스템 속성을 설정합니다.

-Daws.useDualstackEndpoint=true

또는 Java 코드에서 프로그래밍 방식으로 다음을 수행할 수 있습니다.

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

SDK 지원

다음 AWS SDKs 지원합니다.

SDK 지원됨 구성 방법
AWS CLI v2 환경 변수, 구성 파일
SDK for C++ 환경 변수, 구성 파일
SDK for Go V2 (1.x) 환경 변수, 구성 파일
SDK for Java 2.x 환경 변수, 구성 파일, JVM 속성
SDK for Java 1.x 아니요 지원되지 않음
SDK for JavaScript 3.x 환경 변수, 구성 파일
SDK for Python (Boto3) 환경 변수, 구성 파일

듀얼 스택 엔드포인트를 구성한 후 AWS SDK는 Kinesis Video Streams 컨트롤 플레인 APIs를 호출할 때 IPv6 엔드포인트를 자동으로 사용합니다.

IPv6용 Kinesis Video Streams 생산자 SDK 구성

Kinesis Video Streams 생산자 SDK는 컨트롤 플레인 및 데이터 플레인 작업 모두에 대한 IPv6 구성 옵션을 제공합니다. 이러한 설정은 AWS SDK 듀얼 스택 엔드포인트 구성에서 작동합니다.

C/C++ 생산자 SDK 구성

기본 엔드포인트 및 DNS 확인 체인은 KVS Producer-C SDK 버전 1.6.0에서 구현됩니다. 이러한 파라미터에 대한 구성을 설정할 수 있는 각 위치를 순차적으로 확인한 다음 설정한 첫 번째 위치를 선택합니다. 사전 정의된 시퀀스는 다음과 같습니다.

생산자 SDKs에 대한 자세한 내용은 생산자 SDK for C, 생산자 SDK for C++생산자 SDK 관련 주제를 참조하세요.

엔드포인트 구성

  1. controlPlaneUrl 파라미터입니다createAbstractDefaultCallbacksProvider.

  2. 엔드포인트 구성 CMake 파라미터: (-DAWS_KVS_USE_LEGACY_ENDPOINT_ONLY=TRUE, -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE)

  3. 환경 변수: (export AWS_USE_DUALSTACK_ENDPOINT=TRUE)

    • AWS_USE_DUALSTACK_ENDPOINTTRUE (대/소문자 비구분)인 경우 듀얼 스택 엔드포인트가 사용됩니다.

  4. 그렇지 않으면 레거시 엔드포인트가 구성되고 사용됩니다.

2, 3, 4의 경우 엔드포인트는에 제공된 리전을 기반으로 구성됩니다createAbstractDefaultCallbacksProvider.

DNS 필터링

KVS 생산자 SDK는 구성에 따라 적절한 CURLOPT_IPRESOLVE 파라미터를 설정합니다.

  1. DNS 확인 CMake 파라미터: (-DAWS_KVS_IPV4_ONLY=TRUE, -DAWS_KVS_IPV6_ONLY=TRUE, -DAWS_KVS_IPV4_AND_IPV6_ONLY=TRUE)

  2. 환경 변수(export AWS_KVS_USE_IPV4=TRUE, export AWS_KVS_USE_IPV6=TRUE)

  3. 그렇지 않으면 필터링이 수행되지 않습니다. DNS에서 반환되는 경우 IPv4 및 IPv6 IP 주소를 모두 사용할 수 있습니다.

참고

DNS 필터 설정이 IPV6 IP 주소를 필터링하도록 설정되어 있지만 SDK 구성이 레거시 엔드포인트를 사용하는 경우(IPV4-only 주소를 반환함) 요청이 실패합니다.

C++ 생산자 SDK 버전 3.5.0은 KVS API 호출에 생산자-C SDK 1.6.0을 사용합니다.

GStreamer 플러그인 구성

GStreamer 플러그인은 기본 C 생산자 SDK를 사용하므로 앞서 설명한 대로 IPv6용 C SDK를 구성할 때 IPv6 구성이 자동으로 처리됩니다.

코드 수정은 필요하지 않습니다. CMake 파라미터를 사용하여 SDK를 빌드하거나 이전 섹션에 설명된 대로 적절한 환경 변수를 설정하기만 하면 됩니다.

데이터 영역 엔드포인트 해상도

데이터 영역 작업의 경우 GetDataEndpoint API를 사용하여 적절한 듀얼 스택 데이터 영역 엔드포인트를 검색합니다. 서비스는 요청 URL에 따라 해당 엔드포인트를 반환합니다.

예제:

  • 로 끝나는 레거시 엔드포인트에 GetDataEndpoint API 요청이 이루어진 경우 .amazonaws.com.rproxy.govskope.caKinesis Video Streams는 로 끝나는 레거시 데이터 영역 엔드포인트를 반환합니다.amazonaws.com.

  • 로 끝나는 듀얼 스택 엔드포인트에 GetDataEndpoint API 요청이 이루어진 경우 .api.awsKinesis Video Streams는 로 끝나는 듀얼 스택 데이터 영역 엔드포인트를 반환합니다.api.aws.

IPv6 AWS CLI 용 구성

Kinesis Video Streams 작업(일반적으로 proof-of-concept 작업) AWS CLI 에를 사용하는 경우 듀얼 스택 엔드포인트를 구성하여 IPv6를 활성화할 수 있습니다.

환경 변수 사용

export AWS_USE_DUALSTACK_ENDPOINT=true

AWS 구성 파일 사용

AWS CLI 구성 파일(~/.aws/config)에 다음을 추가합니다.

[default] use_dualstack_endpoint = true

구성 예제

C SDK 예제

IPV6-only 모드에서 KVS Producer-C SDK를 빌드하고 환경 변수 구성을 무시하려면 다음 명령을 사용하여 SDK를 빌드합니다.

cmake .. -DAWS_KVS_USE_DUAL_STACK_ENDPOINT_ONLY=TRUE -DAWS_KVS_IPV6_ONLY=TRUE make -j
참고

SDK를 이미 빌드한 경우 클린 빌드를 수행해야 합니다. 빌드 명령을 실행하기 전에 기존 빌드, 오픈 소스 및 종속성 폴더를 삭제합니다.

고려 사항

네트워크 요구 사항

  • 네트워크 인프라가 IPv6 연결을 지원하는지 확인

  • 보안 그룹 및 네트워크 ACLs IPv6 트래픽을 허용하는지 확인

  • 배포 환경에서 AWS IPv6 엔드포인트에 대한 연결 테스트

  • 일부 리전의 일부 서비스에서 듀얼 스택 엔드포인트를 사용할 수 있습니다. 대상 리전의 가용성을 확인합니다.

SDK 호환성

  • 지원되는 AWS SDK 버전을 사용하고 있는지 확인합니다.

  • AWS SDK for Java 1.x는 듀얼 스택 엔드포인트 구성을 지원하지 않습니다.

  • SDK for Go 1.x(V1)의 경우 공유 구성 파일 설정을 사용하려면 구성 파일에서 로드를 활성화해야 합니다.

테스트 및 검증

IPv6-enabled Kinesis Video Streams 애플리케이션을 프로덕션에 배포하기 전에:

  • 컨트롤 플레인 작업 테스트(스트림 생성, 삭제, 나열)

  • 데이터 영역 작업 확인(비디오 수집 및 소비)

  • 네트워크 환경에서 성능 및 연결 검증

  • 카나리아 테스트를 실행하여 일관된 IPv6 기능 보장

  • 듀얼 스택 엔드포인트를 사용할 수 없는 경우 장애 조치 동작 테스트

IPv6로 업그레이드 시 영향을 받는 고객

Kinesis Video Streams용 IPv6를 활성화하면 몇 가지 영역에서 기존 구성 및 정책을 업데이트하여 지속적인 기능을 보장해야 할 수 있습니다.

IAM 정책 및 IP 주소 필터링

IAM 사용자 정책, 역할 정책 또는 리소스 기반 정책에서 소스 IP 주소 필터링을 사용하는 경우 IPv6 주소 범위를 포함하도록 이러한 정책을 업데이트해야 합니다.

중요

IpAddress 또는 NotIpAddress 조건에서 IPv4 CIDR 블록을 사용하는 기존 IAM 정책은 IPv6 주소에서 자동으로 작동하지 않습니다. 액세스 제어를 유지하려면 IPv6 범위를 명시적으로 추가해야 합니다.

IPv6에 대한 IAM 정책 업데이트 예:

{ "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" ] } } } ] }

로깅 및 모니터링

IPv6 주소는 IPv4 주소와 형식이 다르므로 로깅, 모니터링 및 분석 시스템에 영향을 미칠 수 있습니다.

로그

IPv6를 통해 요청하면 sourceIPAddress 필드에 IPv6 주소가 로그에 포함됩니다. IPv6 주소 형식을 처리하도록 로그 구문 분석 도구 및 스크립트를 업데이트합니다.

로그의 IPv6 주소 예:

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

문제 해결

일반적인 문제

  • 연결 실패 - IPv6 네트워크 연결 및 DNS 확인 확인

  • SDK 오류 - 듀얼 스택 엔드포인트를 지원하는 호환 SDK 버전을 사용하고 있는지 확인합니다.

  • 인증 문제 - IAM 정책 및 자격 증명이 IPv6 엔드포인트에서 작동하는지 확인

  • 엔드포인트를 사용할 수 없음 - 서비스 또는 리전에 듀얼 스택 엔드포인트가 없는 경우 요청이 실패합니다.

확인 단계

  • AWS_USE_DUALSTACK_ENDPOINT=true이 설정되었거나 구성 파일에 use_dualstack_endpoint = true 있는지 확인

  • Kinesis Video Streams SDK IPv6 구성 플래그가 올바르게 설정되었는지 확인

  • AWS IPv6 엔드포인트에 대한 네트워크 연결 테스트

  • 애플리케이션 로그에서 IPv6-specific 오류 메시지 검토

  • 리전이 Kinesis Video Streams에 대한 듀얼 스택 엔드포인트를 지원하는지 확인

구성 검증

다음을 확인하여 듀얼 스택 엔드포인트 구성을 확인할 수 있습니다.

  • 환경 변수: echo $AWS_USE_DUALSTACK_ENDPOINT

  • AWS 구성 파일: cat ~/.aws/config | grep use_dualstack_endpoint

  • JVM 속성(Java): 애플리케이션 로그에서 시스템 속성 확인