AppStream 2.0で日本語入力しよう!

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

はじめましてこんにちわ、プロフェッショナルサービス課の佐藤です。
去年の10月にJOINしておきながら、初ブログ投稿です。
今回はそのあたりには触れずに、AppStream 2.0で日本語入力を行う方法について紹介したいと思います。

はじめに

AppStream 2.0ではImageBuilderが利用できるようになっていますが、2018年4月現在、使用できるOSイメージがEnglishのみです。
このためIMEを利用した日本語入力についてWeb検索するとクライアント側で入力した文字をコピーペーストする方法などが出てきますが、AppStrema 2.0上でも直接、日本語入力することは可能です。
このエントリでは日本語入力を行うための方法を記載しますのでAppStream 2.0でイメージを動かすまでの流れと、ImageBuilderの使用については弊社 伊藤のこちらこちらの記事をご参照ください。

ImageBuilderの起動

まずはImageBuilderを起動して、Windowsにログインしましょう。
言語パックをインストールしますので、インターネットに接続できる環境でImage Builderを作るとスムーズに進めることができます。

今回はBaseのイメージを元に作成したtestというImageBuilderを使って作業していきます。

言語パックの追加と言語設定変更

この時点では、当たり前ながら表示はすべてEnglishです。
コントロールパネルを起動して日本語言語パックの追加を行っていきます。
コントロールパネルから「Add a language」をクリックします。

言語の設定が表示されるので「Add a language」をクリックします。

追加する言語パックの画面が表示されるので、「日本語」を探して選択後に「Add」をクリックします。

言語の設定画面に戻りますので、「日本語」を選択して「Move up」で一番上に移動してから「Options」をクリックします。

言語オプションの画面に移り、言語パックのダウンロードとインストールを行います。
「Download and Install language pack」をクリックしてください。5分から10分ほどでインストールが完了します。
インストールが完了したら「Save」をクリックします。

サインインし直すことで、表示は日本語で表示できるようになっていますが、引き続いて地域などの設定を変えていきます。
「Change date, time, or number formats」をクリックしてください。

地域の設定画面が表示されます。
Formatタブが選択されていることを確認して、Formatを「Japanese(Japan)」を選択してください。
デフォルトのままでも問題無いのですが、念のため変更しています。

続いてLocationタブを選択してHome locationを「Japan」に変更します。

これまで行った設定を他のユーザにも反映させたいので、Administrativeタブに移動して「Copy settings…」をクリックします。

ようこそ画面、他ユーザに設定をコピーするので、下の方のチェックボックスを2つとも「On」にして「OK」をクリックします。
再起動を促されますので、ImageBuilderを再起動しましょう。

EC2Config設定変更

AppStream 2.0で使用できるイメージ作成する際にSysprepが行われるようです。
そのため英語に戻ってしまいますので、Sysprep応答ファイルを編集しておくことで日本語が使用出来るようにします。

メモ帳を管理者権限で開き、「C:\Program Files\Amazon\Ec2ConfigService」フォルダにある「Sysprep2008.xml」ファイルを開きます。

「InputLocale」「UILanguage」「UserLocale」の項目をun-USから「ja-JP」に変更して、「保存」します。

編集前sysprep2008.xml

編集後sysprep2008.xml

注意:SystemLocaleの変更は現在サポートされておりませんので変更してImage化すると、作成されたFleetが何時間たっても起動しない状態となってしまいます。

Image作成

日本語化が完了しましたら、あと少しです。
Image Assistantを使用して、Imageの作成を行います。
ImageBuilderでデスクトップに「Image Assistant」のアイコンがあるので、ダブルクリックするとImage作成のウィザードが起動します。
「Add Application」をクリックして、サンプルとしてメモ帳を配信できるようにしていきます。

notepad.exe追加して、「Next」をクリック

続いて「Launch」をクリックします。
その後、メモ帳が起動されてきますので、「Continue」をクリックしてください。

NameとDisplay nameにわかりやすい名前をつけて「Next」をクリックしてください。

最後に「Disconnect and Create Image」をクリックしてください。
大体20〜30分くらいでImageが作成されます。

Fleet / Stack作成

FleetとStackを作成することで、AppStream 2.0が利用できるようになります。
AWSドキュメントのAppStream 2.0 スタックとフリートを作成するを参考に作成してください。

動作確認

今回は動作確認だけの想定のため、一時的なURLを生成します。
URLを作成するたびに1ユーザ分のRDS CALの費用が発生するので、何度も接続したい場合はユーザプールを使ってください。

作成したFleetを選択して、「Actions」「Create Streaming URL」の順に選択します。

「User id」にユーザ名を入力し、有効期限を選択します。

「Copy Link」をクリックしてください。
AppStream 2.0に接続するためのURLがコピーされます。
表示されているURLは一部になっていますのでご注意してください。

ChromeやFirefox等のブラウザにURLを貼り付けするとAppStream 2.0に接続されます。
メモ帳のアイコンをクリックして起動します。

このように日本語で入力ができるようになっているはずです。
JISキーボードであれば変換キー、USキーボードであればshift + caps lock等で日本語に切り替えが可能となっています。

さいごに

今回の方法でAppStream 2.0で日本語入力が出来ずに諦めていた方のお役に立てたら嬉しいです。
また、こちらの手順を実施してもシステムロケールが日本に変更できないため、アプリケーションの表示で文字化けが発生するケースがあるかと思います。
多言語対応なアプリケーションの場合は、アプリケーション側での言語設定を確認してみてください。
日本語入力以外にもAppStream 2.0をユーザ展開する上では、アプリのインストールだけではなく事前にIE設定などを行
って全員に同じ設定をコピーする等々でてきますが、そちらの手順についてはまた別の機会に書こうと思います。
長文となってしまいましたが、最後までお付き合い頂いてありがとうございました。

AWS運用自動化サービス「Cloud Automator」