【re:Invent2022 現地レポート】Getting started with Amazon AppStream 2.0 (EUC303)

# セッション概要
> In this workshop, learn how to deploy applications and desktops using Amazon AppStream 2.0. AppStream 2.0 is a fully managed, non-persistent application and desktop streaming service that runs on AWS. Administrators can simplify application management, improve security, and reduce costs by moving a company’s applications from their users’ physical devices to the AWS Cloud. You must bring your laptop to participate.

**訳**
このワークショップでは、Amazon AppStream 2.0を使用してアプリケーションとデスクトップをデプロイする方法を学習します。AppStream 2.0は、AWS上で動作する完全管理型の非永続的なアプリケーションおよびデスクトップストリーミングサービスです。管理者は、企業のアプリケーションをユーザーの物理デバイスからAWSクラウドに移行することで、アプリケーション管理の簡素化、セキュリティの向上、コスト削減が可能になります。参加にはノートPCの持参が必要です。

# 会場
ホテルのホールに広いテーブルが置かれており、各自好きな席に座ってワークショップを実施します。
電源ケーブルもあったので充電も可能です。
![IMG_1469.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/054aefd5-f554-fa4e-5f65-f53d84301e20.jpeg)

AWSアカウントは払い出してくれており、VPC, NatGateway等基本的なリソースは必要なリソースも事前に作成されていました。
# 内容
**全体の流れ**
1. Appstream 2.0の概要を説明
1. Google Chrome と Notepad++ がインストールされたAppStream 2.0 のカスタムイメージを作成(ハンズオン)
1. カスタムイメージを使用して Appstream 2.0 のフリートを作成(ハンズオン)
1. フリートを Appstream 2.0 スタックに関連付け(ハンズオン)
1. Appstream 2.0 の環境からストリーミングされたアプリケーションに、エンドユーザーとして接続(ハンズオン)

ハンズオンの箇所はVPC等の必要なAWSリソースが作成されているという前提に気づくのが遅れ、ほとんどできませんでした...

最終的な構成はこうなります。
![IMG_1470.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/948cc4fa-5102-7e26-0456-418386991f3f.jpeg)

## 最終的に理解できたこと
### Amazon AppStream 2.0
コロナが流行する以前からBYOD（Bring Your Own Device）という個人の持つPC等の端末を業務で使用する形態が流行っています。
これによって、それぞれの端末に業務上必要なソフトウェアやセキュリティソフトウェアを事前にインストールしておくという作業が発生してしまいます。
この作業は生産性を落とすことに繋がることから、Amazonではデスクトップアプリケーションに即座にアクセスできるようにする、完全マネージド型のアプリケーションストリーミングサービスを作られたそうです。
参考：[Amazon AppStream 2.0 とは何ですか?](https://docs.aws.amazon.com/ja_jp/appstream2/latest/developerguide/what-is-appstream.html)

### イメージと Image Builderインスタンス
Amazon AppStream 2.0を使用するにはまずImage Builderインスタンスと呼ばれるEC2インスタンスを立てて、AppStream 用のカスタムイメージを作成する必要があります。
以下のような見知った画面で必要なソフトウェア（Chromeや業務で使用するソフトウェア、セキュリティソフトウェア等）をダウンロード/インストール、その後そのインスタンスのイメージを作成するといった流れになります。
![スクリーンショット_2022-11-29_18_34_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/1295f4c9-b5a1-e14d-d574-c7addfe20866.png)
### フリートとスタック
Amazon AppStream 2.0にはフリートという概念があります。
フリートは前のステップで作成したカスタムイメージを登録したり、イメージから起動するインスタンスのハードウェア設定やネットワーク、スケーリング、（必要な場合は）Active Directory等を定義するために使用します。

フリートのタイプは「常時オン」、「オンデマンド」、「Elastic」の3種類あり、タイプによって料金や起動までにかかる時間などが変わってきます。
![IMG_1471.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/c5235d6c-c767-bd7e-3bcc-60ef438d088a.jpeg)

また、インスタンスタイプは以下のようにアプリケーションの用途に合わせて以下のような選択肢があります。
![IMG_1472.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/81879bf2-8af9-9f7a-ade5-59e66ffce705.jpeg)

参考：[フリートとスタック](https://docs.aws.amazon.com/ja_jp/appstream2/latest/developerguide/managing-stacks-fleets.html)

## ハンズオン
ハンズオンでは最終的に以下のスクリーンショットのような画面が映ったところで終わりを迎えました。
![スクリーンショット_2022-11-29_18_34_32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2109911/1295f4c9-b5a1-e14d-d574-c7addfe20866.png)

つまり全体の流れのたったの2ステップ目で時間が足りなくなったという感じです。

re:Inventでワークショップに参加する際は、一切関係のない分野ではなく自分の得意な分野のサービスで参加した方がいいと思います。
今回、Amazon AppStream 2.0という今まで触ったことがなく、興味半分でワークショップに参加したため正直辛かったです...

また、ハンズオンの資料が一時的に有効なサイトとなっており、時間が過ぎると見れなくなるというのも、セッションの振り返りが難しく大変な点だと感じました。

（セッションが切れた後にネットで探してみたところ[Amazon AppStream 2.0: 入門ガイド](https://d1.awsstatic.com/International/ja_JP/Whitepapers/Amazon-AppStream-2.0-Getting-Started-Guide-April-2018_JA.pdf)と酷似した手順書が見つかりました。おそらくこの手順書を最新化したものをワークショップで使用していたのかと思います。）
# おわりに
もし、これからre:Inventのワークショップをとるという方は、自分の専門領域で戦うようにすることがオススメです！