mac EC2にVNCからつないでみた。 #reinvent

2020.12.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

せーのでございます。

いよいよ本日、2020/12/01よりre:Invent 2020が開催されております!

そして先程行われた「AWS Late Night Week 1」にて早速新機能が発表されました。まさかのmac EC2!!

細かい情報はもこのブログを見てもらうとして、やっぱりせっかくのmac、画面が見えないとmacぽくない。
ということでVNCでつないでGUIを表示してみました。

やってみた

とりあえず上のブログを参考にmac EC2をシンガポールリージョンで立ち上げ、SSHでログインしてみます。

ssh -i ./test.pem ec2-user@ec2-999-999-99-999.ap-southeast-1.compute.amazonaws.com
Last login: Tue Dec  1 05:54:37 2020 from 113.159.237.176

             .:'
         __ :'__       __|  __|_  )
      .'`  `-'  ``.    _|  (     /
     :          .-'   ___|\___|___|
     :         :
      :         `-;   Amazon EC2
       `.__.-.__.'    macOS Catalina 10.15.7

なんでしょう。なんかグッとくる画面ですね。

一応念の為に操作用のユーザーを増やしておきます。名前はseinoにしときます。

sudo dscl . -create /Users/seino
sudo dscl . -create /Users/seino UserShell /bin/bash
sudo dscl . -create /Users/seino RealName "Tsuyoshi Seino Classmethod"
sudo dscl . -create /Users/seino UniqueID "1010"
sudo dscl . -create /Users/seino PrimaryGroupID 80
sudo dscl . -create /Users/seino NFSHomeDirectory /Users/seino

ちなみにidは任意です。ターミナルから

id XXXX

と打って、使っていないことを確認して使ってください。
パスワードを作ってadmin権限をつけておきます。

sudo dscl . -passwd /Users/seino mynewpassword
dscl . -append /Groups/admin GroupMembership seino

これでユーザの完成です。

次にVNCサーバーの起動を行います。もともとmacには「画面共有」というVNCサーバが入っています。GUIからだと「システム環境設定」とっても楽に設定できるのですが

今はターミナルしか使えないので、コマンドでVNCサーバーを有効にします

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on \
-clientopts -setvnclegacy -vnclegacy yes \
-clientopts -setvncpw -vncpw mynewpassword \
-restart -agent -privs -all

この時にVNC用のパスワード(コマンド内の「mynewpassword」)を新たに設定したパスワードと同じく設定しておいてください。

最後にSSHを通じてmac EC2のVNCポート(5900)をローカルの空いているポートにフォワードします。
一回接続しているターミナルを消して、以下のコマンドを叩きます。

ssh -L 5901:localhost:5900 ec2-user@99.999.999.999 -i ./test.pem

通常のSSHログインにmac EC2のVNC:5900ポートからローカルの5901番へのフォワードを行っています。

Last login: Tue Dec  1 06:33:00 2020 from 999.999.999.999

             .:'
         __ :'__       __|  __|_  )
      .'`  `-'  ``.    _|  (     /
     :          .-'   ___|\___|___|
     :         :
      :         `-;   Amazon EC2
       `.__.-.__.'    macOS Catalina 10.15.7

このように先程と同じようにログインできれば成功です。

後はローカルのマシンからVNCでlocalhost:5901につなげばOKです。macの場合はFinderから「移動」 => 「サーバへ接続」を選択し、アドレスを指定します。

接続できたらログイン画面が出てくるので、先程作成したユーザとVNCのパスワードを入力します。

そうするとおなじみのmacのログイン画面が現れます。

あとは通常通りmacのセットアップを行えば

完成です。。てSiriはどう使うんだろ。

これで見慣れたmacのGUIが見られました。

まとめ

ということでmac EC2にVNCからログインしてみました。意外と簡単なので、macになれている方はぜひやってみてください。

ちなみにクラメソは今年もre:Inventを大特集しております。

膨大なセッションや日々アップデートされる新サービスをまとめてチェックしたい方はぜひこちらをご利用ください!