Architectural Overview of Amazon AppStream
The following diagram illustrates how the various components of Amazon AppStream and your product work together. For information about the individual components, see Amazon AppStream Components.
How a Client Application Connects to the Streaming Application
In order to connect to a streaming application hosted on Amazon AppStream, the client application needs the service to create a new streaming session, and the client application needs credentials to access that session. The authentication and authorization of clients to access applications is handled by an entitlement service, which handles the negotiation between the client application and Amazon AppStream.
The steps of authorizing a client application to access a streaming application are as follows:
Request authorization – The client application calls the entitlement service and requests authorization for a set of user credentials.
Create a session – If the entitlement service successfully authenticates the user credentials and verifies they are authorized to access the application, the entitlement service calls the Amazon AppStream service to create a new client session.
Return session ID – The Amazon AppStream service creates a new client session and returns the session identifier to the entitlement service.
Return entitlement URL – The entitlement service uses the session identifier returned by the Amazon AppStream service to create an entitlement URL, which it returns to the client.
Open entitlement URL – The client redeems its entitlement to access the application by opening the entitlement URL. When it does, the Amazon AppStream service redirects the client to the IP address of the Amazon AppStream host hosting the streaming application.
Stream output and receive user input – The streaming application streams audio and video to the client application, and the client sends user input to the streaming application. The Amazon AppStream service manages the connection for best performance given the current network conditions.