
AWS WorkshopのVisual Studio Code Serverテンプレートをデプロイしてみた
製造ビジネステクノロジー部の新澤です。
AWSから提供されているワークショップ「TypeScript の基礎から始める AWS CDK 開発入門」でVisual Studio Code Server(以下、VSCode Server)をデプロイするテンプレートが提供されています。
本来は当該ワークショップを実施するためのものですが、ちょっとVSCode Serverを試してみたい場合や、ハンズオンで参加者に使ってもらいたい場合などに便利なのではないかと思い、試してみました。
セットアップの流れ
1. CloudFormationスタックのデプロイ
AWS Workshop Studioの「TypeScript の基礎から始める AWS CDK 開発入門」にアクセスします。
TypeScript の基礎から始める AWS CDK 開発入門
画面左のメニューから「開発環境のセットアップ」→「ご自身で実施するワークショップ」→「Visual Studio Code Serverのセットアップ」に進みます。
サイトの説明に従い、「Asia Pacific (Tokyo) ap-northeast-1」の「Launch」をクリックします。
サインイン画面が表示されるので任意のアカウントでサインインします。(すでにブラウザでサインイン済みの場合は直接CloudFormationコンソールに遷移します)
スタック名やパラメーターは変更せずに画面下部の「機能」セクションの「AWS CloudFormation によって IAM リソースが作成される場合があることを承認します。」をチェックし、「スタックの作成」をクリックします。
デプロイには、おおよそ8分要します。
2. 接続情報の取得
スタックのデプロイが完了したら、スタックの出力からVSCode Serverの接続情報を取得します。
- スタック「VSCodeServer」の「出力」タブをクリックします
- PasswordURLの値に表示されているURLを新しいタブで開きます。
- Secrets Managerの画面が表示されるので、「シークレットの値」の「シークレットの値を取得する」ボタンをクリックします。
- 「プレーンテキスト」欄にVSCode Serverにログインするためのパスワードが表示されるので控えておきます。
3. VSCode Serverへのアクセス
- CloudFormationスタックの出力画面に戻り、URLの値に表示されているURLをクリックします。
- パスワードを求められるので、先程控えたパスワードを入力し、「SUBMIT」をクリックします。
- VSCode Serverにアクセスできました!
実際の使用感
デフォルトではメニューなど英語表記となりますが、機能拡張のインストールもできますので、ローカルでVSCodeを利用する場合と同様に拡張機能(Japanese Language Pack for Visual Studio Code)をインストールすると日本語化することができます。
基本的な機能については、ローカルと同じように利用できるのではないでしょうか。
ちなみにOSを確認するとUbuntu 22.04.5 LTSでした。
気になった点
1. ネットワーク依存
当然ながら、安定したインターネット接続が必須です。回線が不安定だと操作に支障が出る可能性があります。
2. コスト
EC2インスタンスの利用料金が発生します。デフォルトはc7i.largeです。インスタンスサイズをより料金が安いものに変更することも可能ですが、当然性能も落ちるので悩ましいです。また、Cloud9のように自動的にインスタンスを停止する機能もありませんので、停止し忘れると無駄な利用料金が発生してしまいます。気をつけましょう。
3. セキュリティ
VSCode Serverにログインする際のパスワードを変更する仕組みが提供されていませんので長期的な利用には向きません。そもそもワークショップのための一時的な利用のために提供されているものなので仕方ありません。
リソースの削除
使用後は必ずCloudFormationスタックを削除して、不要な課金を防ぎましょう。
- CloudFormationコンソールで「VSCodeServer」スタックを選択
- 「削除」ボタンをクリック
- 確認画面で「削除」をクリック
削除には約6分程度かかります。
まとめ
AWS WorkshopのVSCode Serverをデプロイする手順、および使用感などをレポートしました。
上記気になった点のようなことはあるものの、ワークショップやハンズオンイベントを開催する際には、かなり重宝しそうだと思いました。