ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Amazon WorkSpaces】で初めてのリモート環境構築:ハンズオンでわかる基本とコツ

この記事を共有する

目次

パーソル&サーバーワークスの印鑰です。

AWSを中心としたクラウドインフラの設計・構築・運用を担当しています。 エージェント開発にも注力しているエンジニアです。

このハンズオンで学べること

  • AWS CloudFormation で前提環境(VPC・Simple AD)を構築
  • コンソールから Amazon WorkSpaces を手動デプロイ
  • ブラウザ経由で仮想デスクトップに接続し、開発ツールをセットアップ

どんな人向け?

  • 既存PCへのインストール制約が厳しく、クラウド上の仮想デスクトップで安全に作業したい方にオススメ
  • AWS CloudFormation の知識があるとさらに楽しめますが、なくてもコピー&ペーストで進められる

1.概要

このシステムのポイントは次のとおりです。

特徴 説明
仮想デスクトップ ローカル PC へのインストール制約に関係なく、クラウド上の仮想デスクトップで安全に開発作業を実施できる環境を提供
IaCによる前提環境構築 AWS CloudFormation で Amazon VPC・Simple AD・Security Group を統合管理し、再現性の高いインフラ自動構築を実現
IP アクセス制御 IP アクセスコントロールグループにより、許可されたグローバル IP からのみ WorkSpaces に接続可能。不正アクセスを防止
Web Access(ブラウザ接続) 専用クライアント不要。ブラウザ から WSP プロトコルで WorkSpaces に接続し、すぐに作業を開始できる
開発ツール一括セットアップ Chocolatey で Python、Node.js、Git、AWS CLI、Visual Studio Code、Terraform、Kiro IDE などを一括インストール。Windows 日本語化も手順化
AutoStop による自動停止 AutoStop モードでは、1時間(初期値)無操作の場合に WorkSpaces が自動停止し、不要な課金を防止

2.システムアーキテクチャ

全体構成図

全体構成図.png

3.前提条件

ハンズオンをはじめる前に、以下をお読みください。

所要時間

  • 約135分
    • 構築作業:約90~120分( Windows Updateの更新時間 により大きく変動します。)
    • 環境削除:約15分

必要な権限

以下の権限が必要です。

  • マネジメントコンソールにアクセスできること
  • AWS CloudFormation スタックをデプロイできること
  • Amazon WorkSpaces、Simple AD を操作できること

リージョン

東京リージョン(ap-northeast-1) にリソースを作成してください。

開発環境

ローカルPC に以下がインストール・設定済みであることをご確認してください。

  • Windows 11
  • テキストエディター
  • ブラウザ(Chrome または Firefox)

費用について

Amazon WorkSpaces には月額固定従量課金(AutoStop)の2つの料金モデルがあります。本ハンズオンでは従量課金を使用します。

従量課金は「月額基本料時間単価」で構成されます。ポイントは月額基本料の扱いです。デプロイした日から月末までの日割りで請求され、当日中にリソースを削除しても日割り分は返金されません

注意: 月額基本料の日割り計算が適用されるのはデプロイ初月のみです。2か月目以降は月額全額が請求されます。(参考: Amazon WorkSpaces Pricing

  • 以下、課金イメージです。バンドルやストレージの選択 により課金が異なります。

従量課金の料金構成.png

月額基本料の日割り計算イメージ.png

💡 コスト節約のポイント: 本ハンズオンは月末に実施すると月額基本料を最小限に抑えられます。

費用の目安(東京リージョン)

本ハンズオンを1時間で完了し、すぐにリソースを削除した場合の目安です。

項目 費用目安
WorkSpaces 時間単価(1時間) 約 $0.30
WorkSpaces 月額基本料(日割り) $0.11〜$3.25(実施日による)
Simple AD $0.00(30日間の無料トライアル対象。トライアル後は $0.08/時間)
合計 約 $4〜$9 程度(実施日による)

※ 料金の詳細は Amazon WorkSpaces の料金ページ をご確認ください。

4.構築手順

さあ、ここからが本番です。一緒に作っていきましょう。

ステップ一覧

  1. 基盤スタックのデプロイ
  2. ディレクトリスタックのデプロイ

ステップ1: 基盤スタックのデプロイ

まずは、Amazon VPC といった基盤となるリソースを作っていきます。

基盤スタックのデプロイ.png

1-1. AWS CloudFormationテンプレートファイルの作成

ローカルPCでdev-001-ws-base-stack.yamlという名前のファイルを作って、以下の内容をコピー&ペーストしてください。

ここを押すと展開します

AWSTemplateFormatVersion: '2010-09-09'
Description: 'WorkSpaces Base stack: VPC, Subnets, IGW, RouteTable'
Parameters:
  Environment:
    Type: String
    Default: dev
  ProjectId:
    Type: String
    Default: '001'
  ProjectInfix:
    Type: String
    Default: 'ws'
  VpcCidr:
    Type: String
    Default: '10.0.0.0/16'
  PublicSubnetACidr:
    Type: String
    Default: '10.0.1.0/24'
  PublicSubnetCCidr:
    Type: String
    Default: '10.0.2.0/24'
  AvailabilityZoneA:
    Type: AWS::EC2::AvailabilityZone::Name
    Default: ap-northeast-1a
  AvailabilityZoneC:
    Type: AWS::EC2::AvailabilityZone::Name
    Default: ap-northeast-1c
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: Stack Configuration
        Parameters:
          - Environment
          - ProjectId
          - ProjectInfix
      - Label:
          default: Network Configuration
        Parameters:
          - VpcCidr
          - PublicSubnetACidr
          - PublicSubnetCCidr
          - AvailabilityZoneA
          - AvailabilityZoneC
Resources:
  VPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: !Ref VpcCidr
      EnableDnsHostnames: true
      EnableDnsSupport: true
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-vpc'
  InternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-igw'
  AttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId: !Ref VPC
      InternetGatewayId: !Ref InternetGateway
  PublicSubnetA:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      CidrBlock: !Ref PublicSubnetACidr
      AvailabilityZone: !Ref AvailabilityZoneA
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-public-subnet-1a'
  PublicSubnetC:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref VPC
      CidrBlock: !Ref PublicSubnetCCidr
      AvailabilityZone: !Ref AvailabilityZoneC
      MapPublicIpOnLaunch: true
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-public-subnet-1c'
  PublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref VPC
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-public-rt'
  PublicRoute:
    Type: AWS::EC2::Route
    DependsOn: AttachGateway
    Properties:
      RouteTableId: !Ref PublicRouteTable
      DestinationCidrBlock: '0.0.0.0/0'
      GatewayId: !Ref InternetGateway
  PublicSubnetARouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref PublicSubnetA
      RouteTableId: !Ref PublicRouteTable
  PublicSubnetCRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      SubnetId: !Ref PublicSubnetC
      RouteTableId: !Ref PublicRouteTable
Outputs:
  VpcId:
    Value: !Ref VPC
    Export:
      Name: !Sub '${AWS::StackName}-vpc-id'
  PublicSubnetAId:
    Value: !Ref PublicSubnetA
    Export:
      Name: !Sub '${AWS::StackName}-public-subnet-1a-id'
  PublicSubnetCId:
    Value: !Ref PublicSubnetC
    Export:
      Name: !Sub '${AWS::StackName}-public-subnet-1c-id'

ファイルを保存してください。

1-2. AWS CloudFormationコンソールを開く

  1. マネジメントコンソールにログイン
  2. サービスメニューから「CloudFormation」を選択
  3. 左ペインから「スタック」にて「スタックの作成」→「新しいリソースを使用(標準)」を選択

1-3. テンプレートのアップロード

  1. 「既存のテンプレートを選択」を選択
  2. 「テンプレートファイルのアップロード」を選択
  3. 作成したAWS CloudFormationテンプレートファイルを選んでアップロード
  4. 「次へ」を選択

1-4. スタック詳細の指定

スタック名: dev-001-ws-base-stack

以下を設定し「次へ」を押下します。

パラメーター 推奨値 説明
Environment dev 環境識別子
ProjectId 001 プロジェクトID
ProjectInfix ws リソース名の接中辞
VpcCidr 10.0.0.0/16 VPC の CIDR ブロック
PublicSubnetACidr 10.0.1.0/24 パブリックサブネット(AZ-a)の CIDR
PublicSubnetCCidr 10.0.2.0/24 パブリックサブネット(AZ-c)の CIDR
AvailabilityZoneA ap-northeast-1a 1つ目のアベイラビリティーゾーン
AvailabilityZoneC ap-northeast-1c 2つ目のアベイラビリティーゾーン

1-5. 確認して作成

  1. 「スタックオプションの設定」にて、「次へ」を選択
  2. 「確認して作成」にて設定内容をざっと確認し、「送信」を選択

1-6. デプロイ完了の確認

スタックのステータスが「CREATE_COMPLETE」になるまで、待ちましょう。(約3~5分かかります)

ステップ2: ディレクトリスタックのデプロイ

次は、AWS Directory Service を作っていきます。

ディレクトリスタックのデプロイ.png

2-1. AWS CloudFormationテンプレートファイルの作成

ローカルPCでdev-001-ws-directory-stack.yamlという名前のファイルを作って、以下の内容をコピー&ペーストしてください。

ここを押すと展開します

AWSTemplateFormatVersion: '2010-09-09'
Description: 'WorkSpaces Directory stack: Simple AD with Security Group'
Parameters:
  Environment:
    Type: String
    Default: dev
  ProjectId:
    Type: String
    Default: '001'
  ProjectInfix:
    Type: String
    Default: 'ws'
  BaseStackName:
    Type: String
    Default: 'dev-001-ws-base-stack'
    Description: 'Stack name of 01-base-network'
  DirectoryNetBiosName:
    Type: String
    Default: 'dev-001-ds'
    MaxLength: 15
    Description: 'Simple AD NetBIOS name'
  DirectoryPassword:
    Type: String
    NoEcho: true
    MinLength: 8
    MaxLength: 64
    Description: 'Simple AD administrator password. Must contain at least 3 of the following 4 character types: uppercase (A-Z), lowercase (a-z), numbers (0-9), non-alphanumeric (~!@#$%^&*_-+=|(){}[]:;<>,.?/)'
  DirectorySize:
    Type: String
    Default: Small
    AllowedValues:
      - Small
      - Large
    Description: 'Simple AD size'
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
      - Label:
          default: Stack Configuration
        Parameters:
          - Environment
          - ProjectId
          - ProjectInfix
          - BaseStackName
      - Label:
          default: Directory Configuration
        Parameters:
          - DirectoryNetBiosName
          - DirectoryPassword
          - DirectorySize
Resources:
  DirectorySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: 'Security group for WorkSpaces. Used as a source in inbound rules of RDS, EC2, etc.'
      GroupName: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-sg'
      VpcId:
        Fn::ImportValue: !Sub '${BaseStackName}-vpc-id'
      Tags:
        - Key: Name
          Value: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-sg'
  SimpleAD:
    Type: AWS::DirectoryService::SimpleAD
    DependsOn: DirectorySecurityGroup
    Properties:
      Name: !Sub 'ds-${Environment}-${ProjectId}-${ProjectInfix}-${AWS::AccountId}.local'
      ShortName: !Ref DirectoryNetBiosName
      Password: !Ref DirectoryPassword
      Size: !Ref DirectorySize
      Description: 'WorkSpaces development directory'
      VpcSettings:
        VpcId:
          Fn::ImportValue: !Sub '${BaseStackName}-vpc-id'
        SubnetIds:
          - Fn::ImportValue: !Sub '${BaseStackName}-public-subnet-1a-id'
          - Fn::ImportValue: !Sub '${BaseStackName}-public-subnet-1c-id'
Outputs:
  DirectoryId:
    Value: !Ref SimpleAD
    Export:
      Name: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-directory-id'
  DirectoryDnsName:
    Value: !Sub 'ds-${Environment}-${ProjectId}-${ProjectInfix}-${AWS::AccountId}.local'
  DirectorySecurityGroupId:
    Value: !Ref DirectorySecurityGroup
    Export:
      Name: !Sub '${Environment}-${ProjectId}-${ProjectInfix}-sg-id'

ファイルを保存してください。

2-2. 新しいスタックの作成とデプロイ

ステップ1: 基盤スタックのデプロイ の手順を参考に、リソースをデプロイします。

スタック名: dev-001-ws-directory-stack

パラメーターはこんな感じで設定してください。

パラメーター 推奨値 説明
Environment dev 環境識別子
ProjectId 001 プロジェクトID
ProjectInfix ws リソース名の接中辞
BaseStackName dev-001-ws-base-stack 基盤スタックのスタック名
DirectoryNetBiosName dev-001-ds Simple AD の NetBIOS 名(15文字以内)
DirectoryPassword (任意のパスワード) Simple AD の管理者パスワード。大文字・小文字・数字・記号のうち3種類以上を含む8文字以上
DirectorySize Small Simple AD のサイズ(Small / Large)

「次へ」を2回選択し、設定内容を確認して「送信」を選択してください。

スタックのステータスが「CREATE_COMPLETE」になるまで待ちましょう。(約7~10分かかります)

5.AWS Directory Serviceのセットアップ

CloudFormation でデプロイした Simple AD に対して、WorkSpaces 用の設定を行います。

ステップ一覧

  1. ディレクトリの登録
  2. Web Access の有効化
  3. IP アクセスコントロールグループの作成
  4. ディレクトリへの関連付け

ステップ1: ディレクトリの登録

CloudFormation で作成した Simple AD を WorkSpaces に登録します。

1-1. ディレクトリの作成画面を開く

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「ディレクトリ」を選択
  3. 「ディレクトリの作成」を押下

1-2. WorkSpaces タイプの選択

以下を設定し「登録」を押下します。

項目
WorkSpaces タイプ 個人
WorkSpace デバイス管理 AWS Directory Service
AWS Directory Service の未登録ディレクトリ CloudFormation で作成済みの Simple AD を選択
登録 サブネット 1 IPv4 CIDR:10.0.1.0/24 のサブネットを選択
登録 サブネット 2 IPv4 CIDR:10.0.2.0/24 のサブネットを選択

ステップ2: Web Access の有効化

ブラウザから WorkSpaces に接続するために、Web Access を有効化します。

2-1. ディレクトリの設定画面を開く

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「ディレクトリ」を選択
  3. 作成したディレクトリの「ディレクトリ ID」を選択

2-2. Web Access を有効にする

  1. 「他のプラットフォームを編集」を押下
  2. 「Web Access」にチェックを入れる(有効化)
  3. 「保存」を押下

補足: Web Access を有効にすると、ブラウザから https://clients.amazonworkspaces.com/webclient にアクセスして WorkSpaces に接続できるようになります。対応ブラウザは Chrome および Firefox です。Web Access は WSP プロトコルの WorkSpaces でのみ利用可能です。


ステップ3: IP アクセスコントロールグループの作成

接続元のグローバル IP アドレスで WorkSpaces へのアクセスを制限します。

3-1. 接続元グローバル IP の確認

ルールに設定するグローバル IP アドレスを確認します。

  1. ブラウザで以下の URL にアクセスする
    https://www.ugtop.com/spill.shtml
    
  2. 「あなたのIPアドレス(IPv4)」に表示されている値を控える

3-2. IP アクセスコントロールグループの作成

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「IP アクセスコントロール」を選択
  3. 「IP アクセスコントロールグループの作成」を押下
  4. 以下を設定し「作成」を押下
項目
グループ名 dev-001-ds-ipac
ソース xxx.xxx.xxx.xxx/32(接続元のグローバル IP)

補足: 複数の IP アドレスを許可する場合は、ルールを追加してください。CIDR 形式で範囲指定も可能です。1グループあたり最大30ルールまで設定できます。


ステップ4: ディレクトリへの関連付け

4-1. IP アクセスコントロールグループをディレクトリに紐付ける

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「ディレクトリ」を選択
  3. 作成したディレクトリの「ディレクトリ ID」を選択
  4. 「IP アクセスコントロールグループを編集」を押下
  5. 作成した IP アクセスコントロールグループにチェックを入れる
  6. 「関連付け」を押下

重要: IP アクセスコントロールグループを関連付けると、デフォルトの「どこからでもアクセス可能」なグループは自動的に解除されます。設定した IP アドレス以外からは接続できなくなるため、接続元 IP を正確に設定してください。

6.Amazon WorkSpacesのセットアップ

WorkSpaces を起動し、ブラウザから接続します。

ステップ一覧

  1. WorkSpaces の起動
  2. WorkSpaces への接続

ステップ1: WorkSpaces の起動

Amazon WorkSpacesのセットアップ.png

1-1. WorkSpace の作成画面を開く

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「WorkSpaces > WorkSpaces > 個人」を選択
  3. 「WorkSpace の作成」を押下

1-2. 基本情報

以下を設定し「次へ」を押下します。

項目
WorkSpace タイプ 個人
バンドル WorkSpaces バンドルを使用
Standard with Windows (Server 2025 based)
実行モード 自動停止

1-3. ディレクトリの選択

以下を設定します。

項目
ディレクトリ 作成した Simple AD ディレクトリを選択

1-4. ユーザーの作成

  1. WorkSpaceへログインするユーザーを作成するため、「ユーザーを作成」を押下
  2. 「追加ユーザーの作成」を押下
  3. 以下を設定し「送信」を押下
項目
ユーザー名 developer(任意)
Dev(任意)
User(任意)
メールアドレス developer@example.com(招待メール送信先)

補足: メールアドレスは AWS からの招待メールを受信できるアドレスに読み替えて設定してください。ユーザー名、名、姓も変更可能です。

「ユーザーの作成」を押下し、「次へ」を押下

1-5. ユーザーを選択

  1. 「ディレクトリからユーザーを選択」の更新ボタンを押下
  2. 以下を設定し「次へ」を押下
項目
ユーザーネーム 作成した ユーザーを選択

1-6. カスタマイズの選択

以下を設定し「Workspaces の作成」を押下する。

項目
暗号化キー alias/aws/workspaces
ルートボリュームを暗号化 チェックを入れる
ユーザーボリュームを暗号化 チェックを入れる
ユーザーボリューム ルートボリューム 80 GB
ユーザーボリューム 10 GB
($3.25/month + $0.30/hour)

補足: ボリューム構成は最小構成を選択し、コストを抑えています。現在の WorkSpaces を複製する目的でカスタムイメージを作成する場合は、暗号化を無効にしてください。暗号化された WorkSpaces からはカスタムイメージを作成できません。

1-7. 招待メールの確認とパスワード設定

Workspaces のステータスが「使用可能」となるまで待機します。(15分程度) その後、ユーザー作成時に指定したメールアドレスに招待メールが届きます。

メール件名: お客様の Amazon WorkSpace ( Your Amazon WorkSpace )

招待メールの確認とパスワード設定.png

  1. メール本文の手順1に記載されているリンクを押下
  2. ブラウザに「WorkSpaces 認証情報」が表示するため、新しいパスワードを設定し「ユーザーの更新」を押下
  3. ブラウザのタブを閉じる
  4. メール本文の手順2に記載されている登録コードを控える(後の接続手順で使用します)

補足: 登録コードはメール本文中の「次の登録コードを入力します」の直後に記載されています。この登録コードは WorkSpaces への接続時に必要になるため、必ず控えてください。


ステップ2: WorkSpaces への接続

WorkSpaces への接続.png

2-1. ブラウザから WorkSpaces に接続

  1. 対応ブラウザ(Chrome または Firefox)で以下の URL にアクセスする
    https://clients.amazonworkspaces.com/webclient
    
  2. 「Registration code」に「登録コード」を入力し「Register」を押下
  3. 「Sign in」を押下
  4. 「Username」に 作成したユーザーネーム を入力し「Next」を押下
  5. 「Password」に 設定したパスワード を入力し「Sign in」を押下

ブラウザから WorkSpaces に接続.png

補足: 登録コードは、ステップ1で指定したメールアドレス宛に送信される招待メールに記載されています。

7.Windows の日本語化

WorkSpaces に接続後、Windows を日本語環境に設定します。

ステップ一覧

  1. 言語パックのインストール
  2. 地域設定の変更
  3. システムロケールの変更
  4. 日本語入力の確認

ステップ1: 言語パックのインストール

1-1. 言語の追加

  1. Windowsマーク を右クリックして、 Settings(設定)を開く
  2. Time & Language(時刻と言語)→ Language & region(言語と地域)を開く
  3. Add a language(言語の追加)を押下
  4. 一覧の中から 日本語 を選択し、Next を押下

1-2. オプションの選択とインストール

  1. 以下のオプションをすべてチェックし、Install を押下
  2. インストール完了まで約10分待機
  3. インストール完了後、サインアウトを求められるので Sign out を押下
オプション 説明
Language pack 言語パックのインストール
Text-to-Speech テキスト読み上げのインストール
Handwriting 手書き入力のインストール
Set as my Windows display language Windows の表示言語として設定

ステップ2: 地域設定の変更

2-1. 地域と言語の設定

  1. 「Return to sign in page」を押下
  2. 再度ログインする
  3. Windowsマーク を右クリックして、 設定 > 時刻と言語 > 言語と地域 を開く
  4. 国または地域日本 に変更
  5. 地域設定日本語(日本) を選択

ステップ3: システムロケールの変更

3-1. ロケールの変更

  1. Windowsマーク を右クリックして、 設定 > 時刻と言語 > 言語と地域 > 管理用の言語の設定 を開く
  2. 管理 タブを選択
  3. システムロケールの変更 を押下
  4. 日本語(日本) を選択し、OK を押下
  5. ベータ: ワールドワイド言語サポートで Unicode UTF-8 を使用 にチェックを入れる
  6. 再起動を求められるので 後で を押下
  7. 閉じる を押下

3-2. WorkSpaces の再起動

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「WorkSpaces > WorkSpaces > 個人」を選択
  3. 作成した WorkSpaces Personal を選択し、再起動 を押下
  4. 確認画面にて、再起動 を押下
  5. 更新ボタンを押下し、ステータスが「再起動中」→「使用可能」となるまで待機

ステップ4: 日本語入力の確認

4-1. 動作確認

  1. 再度ログインする
  2. タスクバーの入力インジケーターで 日本語 - Microsoft IME が選択されていることを確認
  3. メモ帳を開き、日本語入力が正常に動作することをテスト

補足: 半角/全角キーは Alt キーと同時に押下してください。

8.開発ツールのインストール

マスターイメージに含める開発ツールをインストールします。開発ツールのインストールが不要な場合、手順:9.環境削除手順 へお進みください。

ステップ一覧

  1. Chocolatey のインストール
  2. 開発ツールの一括インストール
  3. Google Chrome を既定のブラウザに設定
  4. Kiro IDE のインストール
  5. インストール確認
  6. Visual Studio Code の日本語化
  7. Windows Update の適用

ステップ1: Chocolatey のインストール

1-1. PowerShell を管理者として実行

WorkSpaces 上で PowerShell を管理者として実行し、以下のコマンドを実行します。

  1. Windowsマーク を右クリックして、 ターミナル(管理者) を開く
  2. 「このアプリがデバイスに変更を加えることを許可しますか?」が表示された場合は「 はい 」を選択
  3. 以下のコマンドを実行し、インストール完了後、PowerShell を一度閉じて再度管理者として開き直す(PATH を反映するため)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

ステップ2: 開発ツールの一括インストール

2-1. ツールのインストール

  1. Windowsマーク を右クリックして、 ターミナル(管理者) を開く
  2. 「このアプリがデバイスに変更を加えることを許可しますか?」が表示された場合は「 はい 」を選択
  3. 以下のコマンドを実行
choco install python --version=3.13.3 -y --no-progress
choco install nodejs-lts -y --no-progress
choco install git -y --no-progress
choco install awscli -y --no-progress
choco install vscode -y --no-progress
choco install googlechrome -y --no-progress --ignore-checksums
choco install uv -y --no-progress
choco install terraform -y --no-progress

インストール完了後、再起動を求められる場合があります。すべてのツールのインストールが完了してから再起動してください。


ステップ3: Google Chrome を既定のブラウザに設定

3-1. 既定のブラウザの変更

  1. Windowsマーク を右クリックして、 設定 > アプリ > 既定のアプリ を開く
  2. Google Chrome を選択
  3. 「Google Chrome を既定のブラウザに設定する」にて 既定の設定 をクリック
  4. 設定を閉じる
  5. デスクトップの Google Chrome を開く
  6. Chrome にログインにて ログインしない を選択

ステップ4: Kiro IDE のインストール

Kiro IDE は Chocolatey では提供されていないため、ブラウザからダウンロードしてインストールします。

4-1. ダウンロードとインストール

  1. Google Chrome で以下の URL を開く
    https://kiro.dev/downloads/
    
  2. Download IDE for Windows (x64) を押下してダウンロード
  3. ダウンロードした実行ファイルをダブルクリック
  4. 「使用許諾契約書の同意」にて 同意する を選択し、次へ を押下
  5. 「インストール先の指定」にて、デフォルトのまま 次へ を押下
  6. 「スタートメニューフォルダーの指定」にて、デフォルトのまま 次へ を押下
  7. 「追加タスクの選択」にて デスクトップ上にアイコンを作成する にチェックを入れ、次へ を押下
  8. インストール を押下
  9. 「セットアップウィザードの完了」にて 完了 を押下

補足: Kiroの詳しい操作については、以下のブログをご参照下さい。

【Amazon EC2】Kiro IDE サーバー構築ハンズオン


ステップ5: インストール確認

5-1. バージョンの確認

PowerShell を新しく開き、各ツールのバージョンを確認します。

  1. Windowsマーク を右クリックして、 ターミナル を開く
  2. 以下のコマンドを実行
python --version
node --version
git --version
aws --version
code --version
uv --version
terraform --version

ステップ6: Visual Studio Code の日本語化

6-1. 日本語言語パックのインストール

  1. デスクトップの Visual Studio Code を開く
  2. 「Welcome to VS Code」にて、右上の 「X」 を選択
  3. Ctrl + Shift + X キーを押下し、拡張機能パネルを開く
  4. 検索欄に Japanese Language Pack と入力
  5. Japanese Language Pack for Visual Studio Code を選択し、Install を押下
  6. 右下にポップアップが表示されるため、 Change Language and Restart を押下
  7. 「このアプリがデバイスに変更を加えることを許可しますか?」が表示された場合は「 はい 」を選択
  8. Visual Studio Code が再起動し、メニューが日本語表示になることを確認

ステップ7: Windows Update の適用

最新のセキュリティパッチを含めるため、Windows Update を実行します。

7-1. 更新プログラムのインストール

  1. Windowsマーク を右クリックして、 設定 > Windows Update を開く
  2. 更新プログラムのチェック を押下
  3. 利用可能な更新プログラムが表示されたら、すべてダウンロードしてインストール を押下
  4. インストール完了後、再起動を求められた場合はその画面を閉じる

7-2. WorkSpaces の再起動

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「WorkSpaces > WorkSpaces > 個人」を選択
  3. 作成した WorkSpaces Personal を選択し、再起動 を押下
  4. 確認画面にて、再起動 を押下
  5. 更新ボタンを押下し、ステータスが「再起動中」→「使用可能」となるまで待機

7-3. 更新の完了確認

  1. 再度ログインする
  2. 再度 Windows Update を開き、「最新の状態です」と表示されるまで手順 7-1 を繰り返す

9.環境削除手順

テストが完了したら、以下の手順で環境をきれいにお掃除しましょう。

ステップ一覧

  1. WorkSpaces の手動削除
  2. ディレクトリの登録解除
  3. IP アクセスコントロールグループの削除
  4. ディレクトリスタックの削除
  5. 基盤スタックの削除

ステップ1: WorkSpaces の手動削除

1-1. WorkSpaces を停止

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「WorkSpaces > WorkSpaces > 個人」を選択
  3. 作成した WorkSpaces Personal を選択し、停止 を押下
  4. 確認画面にて、停止 を押下
  5. 更新ボタンを押下し、ステータスが「停止中」→「停止済み」となるまで待機
  6. 作成した WorkSpaces Personal を選択し、削除 を押下
  7. 確認画面にて、「削除」と入力し、削除 を押下
  8. ステータスが「終了中」→ 一覧から消えるまで待機(約5分)

重要: WorkSpaces は CloudFormation で作成していないため、手動で削除する必要があります。WorkSpaces が残ったままディレクトリスタックを削除しようとすると、ディレクトリに依存関係があるためエラーになります。


ステップ2: ディレクトリ の手動解除

2-1. ディレクトリの登録を解除

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「ディレクトリ」を選択
  3. 作成したディレクトリを選択
  4. 「アクション」→「登録解除」を選択
  5. 確認ダイアログで「確認」を押下
  6. 一覧からディレクトリが消えるまで待機

補足: ディレクトリの登録を解除しないと、CloudFormation でディレクトリスタックを削除する際にエラーになります。


ステップ3: IP アクセスコントロールグループの手動削除

3-1. IP アクセスコントロールグループを削除

  1. マネジメントコンソールで「WorkSpaces」を開く
  2. 左ペインから「IP アクセスコントロール」を選択
  3. 作成した dev-001-ds-ipac を選択
  4. 「アクション」→「削除」を選択
  5. 確認画面にて、「削除」と入力し、削除 を押下

ステップ4: ディレクトリスタックの削除

4-1. スタックの削除

  1. マネジメントコンソールで「CloudFormation」を開く
  2. 左ペインから「スタック」を選択
  3. スタック名: dev-001-ws-directory-stack を選択
  4. 「スタックを削除」ボタンを選択
  5. 確認ダイアログ「 dev-001-ws-directory-stack 」を入力し「スタックを削除」を選択
  6. ステータスが「DELETE_COMPLETE」になるまで待つ(約5分)

ステップ5: 基盤スタックの削除

5-1. スタックの削除

  1. ステップ5 の手順を参考に、スタック名: dev-001-ws-base-stack を削除します。

大事なポイント: スタックは必ず上記の順序で削除してください。手動作成したリソース(ディレクトリ登録・IP アクセスコントロールグループ)を先に削除し、その後ディレクトリスタック → 基盤スタックの順で削除します。依存関係があるため、逆順で削除するとエラーになります。


まとめ

お疲れさまでした。Amazon WorkSpaces ハンズオンは以上です。いかがでしたでしょうか。

このハンズオンでは、以下の技術・サービスを組み合わせて、Amazon WorkSpaces による仮想デスクトップ環境を構築しました。

技術・サービス 役割
AWS CloudFormation インフラのコード化と再現性確保(Amazon VPC、サブネット、Security Group、Simple AD)
AWS Directory Service(Simple AD) WorkSpaces のユーザー認証基盤
Amazon WorkSpaces クラウド上の仮想デスクトップ環境(AutoStop による従量課金)
IP アクセスコントロールグループ 接続元 IP によるアクセス制限
Web Access(WSP) ブラウザからの WorkSpaces 接続
Chocolatey 開発ツールの一括インストール(Python、Node.js、Git、AWS CLI、Visual Studio Code など)
Kiro IDE AI 搭載の開発環境

付録

1. Security Group を活用した接続先リソースへのアクセス制御

本ハンズオンでは、ディレクトリスタック内に WorkSpaces 用の Security Group(dev-001-ws-sg)を作成しました。

WorkSpaces から同一 VPC 内の Amazon RDS や Amazon EC2 へ接続したい場合は、接続先の Security Group のインバウンドルールに、この dev-001-ws-sg をソースとして追加してください。

付録-sg.png

この記事は私が書きました

印鑰 幸太

記事一覧

全ての AWS 認定を取得。AWSサービスでは、AWS CloudFormationが好きです。ジム通いが趣味です。

印鑰 幸太

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。