sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

AppStream 2.0 で PC を操作する感じで日本語入力できるようになったよ

AppStream 2.0 は完全に理解した那須です。

以前に AppStream 2.0 の日本語対応について記事を書きました。

nasrinjp1.hatenablog.com

つい先日、AWS さんからシステムロケール対応したよーってアナウンスが出たので、↑この記事に書いてある流れも正式なものになりましたね。

ただ、日本語表示はいうほど問題ではなかったんですが、日本語入力はちょっと運用で使うには厳しいものがありました。 具体的には、半角/全角キーを押したら日本語入力できるようになるけどその後 Shift+CapsLock を押さないと英数入力に戻れない、という症状で、PC がだいたいわかる人だったらまーいっかと思えるんですが、普段 PC をあまり触らないけど仕事でがんばって使ってるって人には厳しいなーと思ってたんですよね。

で、ふとドキュメントを見てみると、Default Input Method を定義できる旨が書いてありました。

docs.aws.amazon.com

何の根拠もないけど、なんか直ってる気がするな

と思ったのでやってみました。

 

イメージビルダーでやったこと

  • AppStream 2.0 エージェントの最新化(イメージビルダーが勝手にやってくれます)
  • 配信するアプリのインストール
  • 上のドキュメントの通りに Default Input Method やその他のデフォルト設定
  • イメージアシスタントでイメージ作成してフリートに割り当てる

これだけです。

 

さあ試してみよう

www.youtube.com

半角/全角キーだけで英数と日本語の入力切替ができました!

 

これで運用にも使えそう

日本語の表示と入力が問題なくできれば運用できそうですね。 ユーザ数とフリート起動時間で課金される AppStream 2.0 ですがうまく使えばそんなに高くない費用で使えますので、スモールスタートでいろいろ使える場面を想像して使っていきましょう!

多段 Bastion 環境で Bastion インスタンス内に秘密鍵を置きたくない!

やっと AmazonLinux2 に慣れてきました、那須です。

以前、SSH ポートフォワーディングを使って RDP する記事を書きました。

nasrinjp1.hatenablog.com

これ書いてて、Bastion アカウントの Bastion インスタンスに運用対象 VPC の Bastion インスタンスのキーペアを置かないと実現できない仕組みなので、なんか気持ち悪いなーと思ってたんですよね。 なんとかならないものかと…

で、社内の Bastion を整理しようといろいろ調べものをしているうちに↓この記事を見つけました。

qiita.com

これこれ!やりたかったのこういうこと!!

というわけで、先日書いた記事のもうちょっとすっきりしたバージョンを書いておきます。

 

やりたいこと

図にするとこういうこと。

f:id:nasrinjp1:20181213222604p:plain
キーペアは Bastion に置きたくない

 

前提条件

ssh-agent を使いますので、ssh-agent サービスは起動しておいてくださいね。

f:id:nasrinjp1:20181213223203p:plain
ssh-agent サービス

 

手順

秘密鍵の登録

手元の PC(Windows10) に各 Bastion インスタンスにログインするために必要なキーペアをダウンロードしておきます。 下記コマンドで ssh-agent に各 Bastion の秘密鍵を登録しましょう。

PS C:\> ssh-add <Bastion アカウントの秘密鍵のパス>
PS C:\> ssh-add <運用対象 VPC の秘密鍵のパス>

今どの秘密鍵を登録しているのかは下記コマンドで確認できますよ。

PS C:\> ssh-add -l
2048 SHA256:hogehoge C:\<Path>\bastion1.pem (RSA)
2048 SHA256:hogehoge C:\<Path>\bastion2.pem (RSA)

SSH ポートフォワーディングコマンド実行!

先日書いた記事内のコマンドとの差異は↓これだけです。

  • 最初の ssh で -A オプション追加
  • 本稼働の AmazonLinux2 の秘密鍵の指定削除

実際に実行してみましょう。

PS C:\> ssh -i "Bastion用秘密鍵のパス" -A -t -L 13389:localhost:13389 ec2-user@BastionのAmazonLinux2 ssh -L 13389:WindowsServerのプライベートIP:3389 ec2-user@本稼働のAmazonLinux2
Last login: Wed Dec 12 13:00:56 2018 from xx.xx.xx.xx

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-xx-xx-xx-xx ~]$

これで運用対象 VPC のBastion インスタンスにログインできているはずです。

この状態で、localhost:13389 に RDP すると運用対象の Windows Server にログインできますよ。

 

まとめ

なんらかの原因で bastion アカウントが不正利用された場合でも、秘密鍵がそこになければ運用対象の環境に入られることはこれでなくなりますね。 これで不安要素がまたひとつなくなりました。 とはいえ世の中何が起こるかわからないので、油断せずにセキュリティには注意を払いながら運用していきましょう!