기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
스트림 세션을 스트림 URLs과 공유
스트림 URLs 사용하면 스트림 세션을 누구와도 빠르게 공유할 수 있습니다. 수신자는 AWS 계정 또는 클라이언트 통합 없이 지원되는 웹 브라우저에서 스트림 세션에 액세스하고 만료, 사용 및 해지를 제어합니다. 스트림 URL을 생성한 후 액세스하는 모든 사용자가 자격 증명 없이 자체 스트림 세션을 시작합니다. 스트림 URLs은 데모, 플레이테스트, 이해관계자 검토 및 게스트 액세스를 빠르고 쉽게 설정하는 데 적합합니다.
중요
전체 URL이 있는 사람은 스트림 URL이 만료되거나 사용 한도에 도달하거나 취소될 때까지 스트림 세션을 시작할 수 있습니다. 스트림 URL을 자격 증명처럼 취급합니다. 신뢰할 수 있는 채널을 통해서만 공유하고, 실행 가능한 가장 짧은 만료 및 사용량 제한을 선호하며, 누출되면 즉시 취소합니다.
스트림 URLs 방식
스트림 URL은 스트림 그룹(스트림을 실행하는 용량)과 해당 스트림 그룹의 애플리케이션(실행할 콘텐츠) 하나를 연결합니다. 스트림 URL을 생성하면 Amazon GameLift Streams는 다음 형식의 스트림 URL을 반환합니다.
https://gameliftstreams.aws.com/su-1AB2C3De4/stream?token=EXAMPLETOKEN
워크플로에는 네 단계가 있습니다.
-
를 생성합니다. 스트림 그룹 및 애플리케이션에 대해 CreateStreamUrl을 호출하여 스트림 URL이 유효한 상태로 유지되는 기간(
UrlExpiresAfterMinutes)과 사용할 수 있는 횟수()를 설정합니다UsageLimit. 스트림 세션 구성 - 시작 인수, 환경 변수, 세션 길이, 디스플레이 해상도 등은 생성 시 스트림 URL로 고정됩니다. -
공유. 이메일, 채팅 또는 이벤트 페이지와 같은 자체 채널을 통해 스트림 URL을 배포합니다.
-
를 활성화합니다. 사용자가 스트림 URL을 열고 스트리밍을 시작할 때마다 Amazon GameLift Streams는 스트림 URL을 한 번 사용하고 고정 구성을 사용하여 완전히 새로운 스트림 세션을 시작합니다. 모든 활성화는 독립적인 세션이며, 동일한 스트림 URL을 사용하는 사용자 간에 공유된 상태는 없습니다.
-
종료. 스트림 URL에서 시작된 세션은 수명이 짧으며 재연결을 지원하지 않습니다. 세션이 종료되면 사용 횟수가 이미 계산됩니다. 스트림 URL을 다시 열면 새 세션이 시작되고 다른 사용이 사용됩니다.
스트림 URL이 인증되지 않았으므로 최종 사용자는 자격 AWS 증명을 보거나 필요로 하지 않습니다. 서비스는 생성 시 설정한 스트리밍 위치 기본 설정에 따라 각 최종 사용자를 가까운 위치로 라우팅합니다. Amazon GameLift Streams는 원하는 스트리밍 위치를 근접으로 재정렬하지만 포함하지 않은 위치는 절대 추가하지 않습니다.
최종 사용자 경험
스트림 URL을 공유하는 사용자는 AWS 계정 또는 소프트웨어를 설치할 필요가 없습니다. 지원되는 웹 브라우저에서 URL을 열고 Amazon GameLift Streams가 호스팅하는 웹 페이지에서 스트리밍합니다. 스트리밍은 WebRTC를 사용하며 Amazon GameLift Streams 웹 SDK 클라이언트와 브라우저 및 디바이스 요구 사항이 동일합니다. 지원되는 브라우저 및 최소 버전은 섹션을 참조하세요Amazon GameLift Streams 호환 디바이스 및 브라우저. 최종 사용자가 URL을 열 때 스트림 그룹에 사용 가능한 용량이 없는 경우 페이지에 스트림이 일시적으로 용량에 도달했다는 메시지가 표시되고 최종 사용자가 다시 시도할 수 있습니다. 최종 사용자가 탭을 닫거나 다시 로드하려고 하면 페이지에서 나가면 세션이 종료되므로 확인하라는 메시지가 표시됩니다.
참고
스트림 URL에서 시작된 세션은 짧은 단일 뷰어 재생을 위해 조정됩니다. 최종 사용자가 연결을 끊거나 페이지를 다시 로드하면 세션이 종료되고 스트림 URL을 다시 열면 다른 사용을 소비하는 새 세션이 시작됩니다. StartStreamSession으로 시작하는 세션과의 차이점을(를) 참조하세요.
사전 조건
스트림 URL을 생성하기 전에 다음이 필요합니다.
-
활성 상태이고 세션을 실행할 용량이 있는 스트림 그룹입니다.
-
해당 스트림 그룹에 연결된 애플리케이션입니다.
-
스트림 URL 작업에 대한 IAM 권한입니다. 스트림 URL을 활성화하면 해당 애플리케이션을 실행하는 스트림 세션이 시작되므로 스트림 URL을 생성하려면 해당 URL이 가리키는 애플리케이션에 대한
gameliftstreams:StartStreamSession권한도 필요합니다. 스트림 URLs 생성 및 관리 정책 예제를 참조하세요. -
에서 IAM 역할을 전달하는 경우 해당 역할에 대한
iam:PassRole권한RoleArn도 필요합니다.
스트림 URL 생성
참고
Amazon GameLift Streams 콘솔, AWS CLI또는 API를 사용하여 스트림 URL을 생성할 수 있습니다. 다음 예제에서는를 사용합니다 AWS CLI.
다음 AWS CLI 예제에서는 스트림 그룹의 애플리케이션에 대한 스트림 URL을 생성합니다. 스트림 URL은 2시간 동안 유효하며 최대 5회까지 사용할 수 있으며 및 us-west-2 us-east-1 위치를 선호합니다.
aws gameliftstreams create-stream-url \ --identifier sg-1AB2C3De4 \ --application-identifier a-9ZY8X7Wv6 \ --protocol WebRTC \ --url-expires-after-minutes 120 \ --usage-limit 5 \ --locations us-west-2 us-east-1 \ --description "Preview build - reviewer invites"
호출이 성공하면 StreamUrlId 스트림 URL 리소스(접두사 포함su-), ARN, 공유 가능한 전체 StreamUrl, 계산된 만료 시간 및 남은 초기 사용 횟수가 반환됩니다.
{ "StreamUrlId": "su-1AB2C3De4", "Arn": "arn:aws:gameliftstreams:us-west-2:111122223333:streamurl/sg-1AB2C3De4/su-1AB2C3De4", "StreamUrl": "https://gameliftstreams.aws.com/su-1AB2C3De4/stream?token=EXAMPLETOKEN", "Status": "ACTIVE", "UsageLimit": 5, "RemainingUses": 5, "ExpiresAt": "2026-07-31T20:00:00+00:00" }
다음 파라미터는 필수 파라미터입니다.
| 파라미터 | 설명 |
|---|---|
Identifier (스트림 그룹) |
용량이 세션을 실행하는 스트림 그룹입니다. 스트림 그룹 ID 또는 ARN을 제공합니다. |
ApplicationIdentifier |
스트리밍할 스트림 그룹의 애플리케이션입니다. 애플리케이션 ID 또는 ARN을 제공합니다. |
Protocol |
스트림 프로토콜.는 지원되는 유일한 값WebRTC입니다. |
UrlExpiresAfterMinutes |
생성 후 스트림 URL이 유효한 상태로 유지되는 시간입니다. 최소 1, 최대 1,440(24시간). 이 기간이 지나면 스트림 URL이이 됩니다EXPIRED. |
Locations |
우선 순위us-west-2에 따라와 같은 AWS 리전 코드로 선호하는 위치입니다. Amazon GameLift Streams는 최종 사용자 근접성을 기준으로 재정렬하지만 나열하지 않은 위치는 절대 추가하지 않습니다. |
다음 파라미터는 선택 사항입니다. 제공하는 모든 세션 설정은 생성 시 스트림 URL로 고정되며 스트림 URL에서 시작된 모든 세션에 적용됩니다.
| 파라미터 | 설명 |
|---|---|
UsageLimit |
스트림 URL이 세션을 시작할 수 있는 횟수입니다. 기본값 1, 최대 50. |
Description |
스트림 URL의 레이블로, 1~80자입니다. |
SessionLengthSeconds |
스트림 URL에서 시작된 각 세션의 최대 길이입니다. |
AdditionalLaunchArgs |
시작 시 애플리케이션에 전달되는 명령줄 인수입니다. |
AdditionalEnvironmentVariables |
시작 시 애플리케이션에 대해 설정된 환경 변수입니다. |
DisplayConfiguration (Resolution) |
필수 Width 및 Height픽셀 단위의 스트림 디스플레이 해상도Resolution입니다. 각 차원은 320~4096이어야 합니다. 생략하면 서비스가 기본 해상도를 사용합니다. |
RoleArn |
애플리케이션이 각 세션 중에 사용할 수 있는 자격 증명이 있는 IAM 역할입니다. 역할은 스트림 URL이 시작될 때마다 고정됩니다. 역할을 전달하려면 해당 역할에 대한 iam:PassRole 권한이 필요합니다. |
ClientToken |
생성 요청을 멱등성으로 만드는 고유한 대소문자 구분 식별자이므로 동일한 토큰으로 재시도해도 중복 스트림 URL이 생성되지 않습니다. |
스트림 URLs 모니터링
GetStreamUrl을 사용하여 단일 스트림 URL을 검색합니다. 를 사용하여 스트림 그룹을 지정--identifier하고 --stream-url-identifier (스트림 URL ID 또는 ARN)을 사용하여 스트림 URL을 지정합니다. 스트림 URL의 구성, 현재 Status및 외에도 응답RemainingUses에는 스트림 URL에서 시작된 세션 StreamSessions 목록이 포함되므로 누가 적극적으로 스트리밍 중인지 확인할 수 있습니다.
aws gameliftstreams get-stream-url \ --identifier sg-1AB2C3De4 \ --stream-url-identifier su-1AB2C3De4
ListStreamUrls를 사용하여 계정의 스트림 URLs 열거합니다. 스트림 그룹별 Status 및 스트림 그룹별로 필터링하고 MaxResults (1~100, 기본값 25) 및를 사용하여 결과를 페이지 매김할 수 있습니다NextToken.
aws gameliftstreams list-stream-urls \ --status ACTIVE \ --stream-group-identifier sg-1AB2C3De4
CloudTrail에서 스트림 URL 관리 활동을 감사할 수도 있습니다. CloudTrail은 CreateStreamUrl, ListStreamUrls, 및 GetStreamUrl에 대한 호출을 데이터 이벤트RevokeStreamUrl로 기록합니다. 스트림 URL을 열고 세션을 시작하는 최종 사용자는 API 호출 중 하나가 아니며 고객 CloudTrail 활동으로 기록되지 않습니다. 자세한 내용은 를 사용하여 Amazon GameLift Streams API 호출 로깅 AWS CloudTrail 단원을 참조하십시오.
스트림 URL 취소
미리 보기 기간이 종료되거나 의도치 않게 공유되었을 수 있는 경우와 같이 스트림 URL이 더 이상 세션을 시작하지 않도록 하려면 스트림 URL을 취소합니다.
RevokeStreamUrl은 RevocationMode를 사용합니다.
| RevocationMode | Effect |
|---|---|
REVOKE_URL(기본값) |
스트림 URL이 더 이상 새 세션을 시작할 수 없습니다. 이미 진행 중인 세션은 자체적으로 끝날 때까지 계속됩니다. |
REVOKE_AND_TERMINATE_SESSIONS |
스트림 URL은 더 이상 새 세션을 시작할 수 없으며 해당 세션에서 현재 실행 중인 모든 세션이 종료됩니다. 이렇게 실행 중인 세션이 종료되면 최종 사용자의 연결이 끊어지고 스트림을 더 이상 사용할 수 없다는 메시지가 표시됩니다. |
aws gameliftstreams revoke-stream-url \ --identifier sg-1AB2C3De4 \ --stream-url-identifier su-1AB2C3De4 \ --revocation-mode REVOKE_AND_TERMINATE_SESSIONS
취소된 스트림 URL은 REVOKED 상태로 전환되며 다시 활성화할 수 없습니다. 공유를 재개해야 하는 경우 새 스트림 URL을 생성합니다.
또한 Amazon GameLift Streams는 의존하는 리소스가 삭제될 때 스트림 URL을 자동으로 취소합니다. 스트림 그룹을 삭제하면 해당 스트림 그룹의 모든 스트림 URLs이 취소되고 애플리케이션을 삭제하면 해당 애플리케이션을 참조하는 모든 스트림 URLs이 취소됩니다. 두 경우 모두 스트림 URL이 삭제된 리소스를 식별하는 상태 이유와 REVOKED 함께 로 이동합니다.
참고
스트림 URL이 의존하는 리소스를 제거하는 것은 삭제하는 것과 동일하지 않으며 스트림 URL을 자동으로 취소하지 않습니다. 스트림 URL은 로 유지되지만 ACTIVE이 URL에서 세션을 시작하려는 모든 시도는 실패합니다. 이는 스트림 그룹에서 스트림 URL의 애플리케이션을 연결 해제하거나 스트림 URL이 생성된 모든 스트림 그룹 위치를 제거하는 경우에 발생합니다. 스트림 그룹 또는 애플리케이션을 삭제하면 자동 취소만 트리거됩니다.
스트림 URL 수명 주기 및 상태
스트림 URL은 생성되어 만료, 사용 중단 또는 취소될 때까지 그대로 유지되는 ACTIVE 경우입니다. 해당 상태를 떠난 ACTIVE 후에는 로 돌아가지 않습니다.
| Status | 의미 |
|---|---|
ACTIVE |
스트림 URL은 새 세션을 시작할 수 있습니다. |
EXPIRED |
UrlExpiresAfterMinutes 기간이 경과했습니다. |
REVOKED |
스트림 그룹 RevokeStreamUrl 또는 애플리케이션이 삭제되었을 때 또는를 사용하여 스트림 URL이 명시적으로 취소되었습니다. |
LIMIT_REACHED |
스트림 URL은 모든를 사용했습니다UsageLimit. |
스트림 URL이 인 경우 REVOKEDGetStreamUrl는 이유를 설명하는 상태 이유ListStreamUrls도 반환합니다.
| 상태 이유 | 원인 |
|---|---|
userRevoked |
를 RevokeStreamUrl 사용하여에서 취소되었습니다REVOKE_URL. |
revokedAndTerminatingSessions |
에서 취소되었습니다. REVOKE_AND_TERMINATE_SESSIONS실행 중인 세션이 종료됩니다. |
revokedAndSessionsTerminated |
에서 취소되었습니다. REVOKE_AND_TERMINATE_SESSIONS실행 중인 세션이 종료되었습니다. |
streamGroupDeleted |
스트림 그룹이 삭제되었습니다. |
applicationDeleted |
참조된 애플리케이션이 삭제되었습니다. |
StartStreamSession으로 시작하는 세션과의 차이점
직접 시작하는 세션과 동일한 인프라에서 실행되는 스트림 URL에서 시작된 세션은 짧은 핸드오프 단일 뷰어 재생에 맞게 조정됩니다. 다음 차이점을 염두에 두세요.
-
재연결이 없습니다. 최종 사용자가 연결을 끊거나 페이지를 다시 로드하면 세션이 종료됩니다.
-
다시 방문하면 다른 용도로 사용됩니다. 재연결이 없으므로 스트림 URL을 다시 열면 완전히 새로운 세션이 시작되고에서 다른 사용을 사용합니다
UsageLimit. -
데이터 채널이 없습니다. 스트림 URL에서 시작된 스트림은 애플리케이션 데이터 채널을 노출하지 않습니다. 필요한 경우 Amazon GameLift Streams 웹 SDK를 사용하여 자체 클라이언트를 빌드합니다.
문제 해결
Amazon GameLift Streams는 최종 사용자로부터 스트림 URL 활성화가 실패한 특정 이유를 의도적으로 숨깁니다. 스트림을 시작할 수 없는 스트림 URL을 여는 최종 사용자는 기본 원인에 관계없이 항상 일반 "찾을 수 없음" 페이지 또는 "용량 초과" 메시지가 표시됩니다. 실제 원인을 진단하려면 GetStreamUrl 및를 사용하여 생성자 측의 스트림 URL을 검사하고ListStreamUrls, Status 및 상태 이유를 확인하고, CloudTrail에서 스트림 URL API 활동을 검토합니다.
-
스트림 URL에는 “찾을 수 없음” 또는 일반 오류 페이지가 표시됩니다.
Status를 사용하여를 확인합니다GetStreamUrl.EXPIREDREVOKED, 또는LIMIT_REACHED각각은 시작할 수 없는 스트림 URL을 설명합니다. 상태가ACTIVE이지만 활성화가 여전히 실패하면 스트림 URL이 의존하는 리소스가 제거(삭제되지 않음)되었을 가능성이 높습니다. 애플리케이션이 스트림 그룹에서 연결 해제되었거나 스트림 URL이 생성된 모든 스트림 그룹 위치가 제거되었습니다. 애플리케이션을 다시 연결하거나 위치를 복원하거나 유효한 리소스에 대해 새 스트림 URL을 생성합니다. -
최종 사용자에게 “용량” 메시지가 표시됩니다. 스트림 그룹에는 최종 사용자의 가장 가까운 위치에 새 세션을 배치할 수 있는 용량이 없습니다. 각 활성화는 새 세션을 시작하고와 같은 용량을 사용합니다
StartStreamSession. 최소(항상 켜져 있음) 또는 최대 용량을 늘리거나 목표 유휴(미리 워밍된) 용량을 사용하여 특히 타임박스 이벤트의 경우 수요에 대비할 수 있습니다. -
세션은 최종 사용자가 새로 고치거나 다른 곳으로 이동하면 종료됩니다. 이는 예상된 동작입니다. URL이 활성화된 세션은 다시 연결되지 않으며 각 방문마다 사용을 소비하는 새 세션이 시작됩니다. 최종 사용자에게 새로 고치지 않도록 권장하고 가끔 재로드를 허용할 수 있을 만큼
UsageLimit높게 설정합니다. -
세션 중에 최종 사용자의 연결이 끊어지고 "이 경험은 더 이상 사용할 수 없습니다"라는 메시지가 표시됩니다. 최종 사용자는 서버 측에서 세션이 종료될 때마다이 일반 메시지를 볼 수 있습니다. 스트림 URL의 가장 일반적인 원인은 실행 중인 세션을 즉시 종료
REVOKE_AND_TERMINATE_SESSIONS하는 로 이를 취소하는 것이지만 세션이 구성된 길이 제한에 도달하거나 서비스에 의해 종료되면 동일한 메시지가 나타납니다. 이는 예상된 동작입니다. 새 스트림 URL을 생성하여 공유를 재개합니다. -
스트림이 로드되지 않거나 최종 사용자에 대해 시작되지 않습니다. 최종 사용자의 브라우저가 스트리밍 요구 사항을 충족하지 못할 수 있습니다. 스트리밍에는 WebRTC 및 H.264(AVC)를 지원하는 브라우저가 필요합니다. 지원되는 브라우저 및 최소 버전Amazon GameLift Streams 호환 디바이스 및 브라우저은 섹션을 참조하세요. 일반적인 원인은 모바일 디바이스의 채팅, 이메일 또는 소셜 앱 내에서 탭된 링크와 같이 인앱 브라우저 보기에서 스트림 URL을 열어 WebRTC를 비활성화할 수 있기 때문입니다. 수신자에게 Chrome, Edge 또는 Safari와 같은 독립 실행형 브라우저에서 스트림 URL을 열도록 권고합니다.
-
CreateStreamUrl는를 반환합니다ServiceQuotaExceededException. 요청이 활성 수 제한(계정당 활성 스트림 URLs20개 또는 스트림 그룹당 5개)을 초과합니다. 더 이상 헤드룸을 확보할 필요가 없는 스트림 URLs을 취소하고 로Status설정된ListStreamUrls필터링된를 사용하여 현재 개수ACTIVE를 확인합니다. -
CreateStreamUrl는를 반환합니다ValidationException. 입력 값이 범위를 벗어났습니다.UsageLimit1~50, 1~1,440UrlExpiresAfterMinutes으로 설정합니다.