{"id":6057,"date":"2023-07-21T09:00:00","date_gmt":"2023-07-21T07:00:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=6057"},"modified":"2023-07-20T18:21:57","modified_gmt":"2023-07-20T16:21:57","slug":"approaching-amazon-appstream-2-0-the-good-the-bad-and-the-how","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/approaching-amazon-appstream-2-0-the-good-the-bad-and-the-how\/","title":{"rendered":"Approaching Amazon AppStream 2.0: the Good, the Bad, and the How"},"content":{"rendered":"\n

Introduction<\/h2>\n\n\n\n

How would you tackle a company that needs to stream GPU-intensive applications and provide its users remote, on-demand access anytime for their daily tasks? <\/p>\n\n\n\n

How can this company benefit from an economically sustainable, easy-to-provision, maintain, and operate solution?<\/p>\n\n\n\n

You would need to build a managed and cost-efficient infrastructure able to handle any heavy hardware needs…and that’s when Amazon AppStream 2.0 comes to the rescue!<\/p>\n\n\n\n

This AWS service enables you to distribute a custom image\/application to each user that needs it with minimal effort, and no maintenance is required as AWS manages the underlying infrastructure.<\/p>\n\n\n\n

Overview<\/h2>\n\n\n\n

Amazon AppStream 2.0 is a managed End-User Computing AWS service that aims to help manage centralized applications and share them; want to know how?<\/p>\n\n\n\n

Amazon AppStream 2.0 also aims to alleviate the need to manage the underlying infrastructure; this is a significant advantage for a SysAdmin that needs to manage hundreds of machines single-handedly, reducing the overhead.<\/p>\n\n\n\n

Using Amazon AppStream 2.0, we will need just a fleet and a stack, two simple main components that I’ll explain in a bit.<\/p>\n\n\n\n

Here, in this article, you will understand how Amazon AppStream works, covering some details and considerations that come from experience.<\/p>\n\n\n\n

How it works<\/h2>\n\n\n\n

<\/p>\n\n\n\n

The \u201cStack\u201d<\/h4>\n\n\n\n

It is part of the Amazon AppStream Architecture that manages the user\u2019s settings, for example, if the data must be saved during each session or if it should start from a fresh situation each time.<\/p>\n\n\n\n

The \u201cFleet\u201d<\/h4>\n\n\n\n

The fleet can be configured with the instance type<\/strong> that better suits our needs. It spaces from general purpose to graphics pro and anything in between.<\/p>\n\n\n\n

Then, you have to set the fleet capacity and policy at which they need to scale; both are really important since if they are configured wrongly, you can incur a service outage or a massive bill.<\/p>\n\n\n\n

The next step will be to create and assign an IAM Role<\/strong> so that the users connecting to the instances will have a predetermined set of permissions (we\u2019ll talk later about the security). <\/p>\n\n\n\n

After setting the IAM Role, the main configuration of the fleet is done. At this point, we just need an image and the network configuration.<\/p>\n\n\n\n

The image can be selected from the predetermined list of images that AWS provides, or we can customize our own, and that\u2019s the main focus of Amazon AppStream 2.0: configuring an image and streaming applications from it.<\/strong><\/p>\n\n\n\n

The last step is the network.<\/strong> <\/p>\n\n\n\n

Since the underlying infrastructure is an EC2 with an AutoScalingGroup, you will need to assign Amazon AppStream a VPC, 3 Subnets (they don\u2019t need to be dedicated to Amazon AppStream), and a security group. <\/p>\n\n\n\n

You can implement it with AWS\u2019 Directory Service if you find it easier to manage the permissions from there.<\/p>\n\n\n\n

Once you have configured all these parameters, Amazon AppStream\u2019s Fleet will be ready to be used\u2026 but what if you want to create a specific image with a specific program?<\/p>\n\n\n\n

Image Builder<\/h4>\n\n\n\n

First, you will need to launch an Image Builder instance. Its configuration is a smaller version of the whole Fleet, so no worries! <\/p>\n\n\n\n

Once you have deployed the Image Builder, you\u2019ll need to connect to the instance and then personalize your image. At this point, you\u2019ll have an image with your preferred applications configured on it.<\/p>\n\n\n\n

You can change the default Fleet image as you like since the changes don’t disrupt the users who are connected to an active session; only the new connections established after the change will have the updated image.<\/p>\n\n\n\n

<\/p>\n\n\n\n

\"Amazon<\/figure>\n\n\n\n

<\/p>\n\n\n\n

Amazon AppStream: the good stuff<\/h2>\n\n\n\n