[UPDATE] Amazon EC2 Mac InstancesでmacOS Big Surが使えるようになりました!

Amazon EC2 Mac Instancesで新たにサポートされたmacOS Big Surを実際に起動してみました。OSバージョンなど確認までの手順をまとめてみます。なおApple M1チップではなくIntel CPUでの動作となります。
2021.02.28

はじめに

清水です。本日お伝えするアップデート情報はこちら!AWS上で動作するMac、Amazon EC2 Mac Instancesでこれまでのmac OS Mojaveとmac OS Catalinaのサポートに加え、新たにmacOSの最新版であるBig Surが利用できるようになりました!(2021/02/23にポストされたアップデート情報になります。)

昨年2020年のre:InventでリリースされたAmazon EC2 Mac Instances、そのre:Invent 2020のEC2 Mac Instancesに関するセッションにてmacOS Big Surのサポートが2021年Q1と予告されていましたが、今回晴れて利用可能になったこととなります。

なお、macOS Big Sur自体は最新のApple M1チップを搭載したMacハードウェアをサポートしていますが、今回のAmazon EC2 Mac InstancesのBig Surサポートは従来のMojva、Catalinaと変わらずIntel Core i7 CPUの利用となります。M1チップのサポートについては上記のセッションによると"coming soon in 2021!"とのことですので、もう少し待ちましょう。

本エントリでは、このmacOS Big SurをサポートしたEC2 Mac Instancesについて、実際にAMIから起動してみましたのでまとめてみたいと思います。なお、個人的にEC2 Mac Instances(とDedicated Hosts)に触るのがはじめてということもあり、スクリーンショット多めでお伝えしたいと思います。

Big SurなEC2 Mac Instancesを起動してみた

それでは実際に、macOS Big Surの動作するEC2 Mac Instancesを起動していきたいと思います。リージョンはオレゴン(us-west-2)を利用しました。VPCならびにパブリックなサブネットを事前に作成している状況とします。

起動ならびに接続手順はEC2 User GuideのMac instancesの項目、ならびに本DevelopersIOのエントリを参考に行いました。

Dedicated Hostsの割り当て

まずはEC2 Mac Instancesで必要なDedicated Hosts(専有ホスト)を準備します。マネジメントコンソールのEC2の画面からDedicated Hostsの項目に進み、右上[Allocate Dedicated Host]ボタンをクリックします。

Allocate Dedicated Hostの画面に遷移します。Name tagを適切に入力、続くInstance familyではたくさんリストアップされる中からmac1を選択します。

Instance typeではmac1.metalを選択、Availability Zoneは適切なもの(使用する想定のサブネットが属するもの)を選びます。Instance auto-placementはこちらのエントリなど参考に有効に設定、Host recoveryはmac1インスタンスタイプは現在サポートされていないようなので無効としています。最後のQuantityは1であることを確認します。

最後に、ページ最下部の[Allocate]を押下しDedicated Hostを割り当てます。

正常にDedicated Hostが割り当てられました。

EC2 Mac Instancesの起動

Dedicated Hostが準備できたので、続いていよいよEC2 Mac Instancesを起動します。

先ほどのEC2マネジメントコンソールのDedicated Hostsの項目から、作成したDedicated Hostを選択します。右上Actionsから[Launch Instance(s) onto host]で進みます。

AMI選択画面でmacOS Big Sur 11.2.1のAMIを選択します。

Instance Type選択画面ではデフォルトで選択されているmac1.metalであることを確認し、[Next: Configure Instance Details]ボタンで進みます。

Instance Details設定画面では、起動するVPCやサブネットの設定を行いました。

またTenancyがDedicated hostsになっていること(変更は不可でした)、Hostの項目が先ほど作成したDedicated HostのIDと合致していることを確認します。[Next: Add Storage]ボタンで次に進みます。

Storageについて、サイズはデフォルトの60GiBのままとしました。Volume Typeはデフォルトのgp2からgp3に変更し、IOPSは3,000、Throughputは128MB/s(同サイズのgp2と同等)としています。[Next: Add Tags]で進みます。

Tag追加画面ではNameタグのみ付与し、[Next: Configure Security Group]ボタンで進みます。

Security Group選択画面です。あらかじめMac Instance用に作成しておいたSecurity Groupを選択し、[Review and Launch]ボタンで次に進みます。このSecurity Groupでは接続元となるIPアドレスに対し、SSH用のTCP 22番、リモートデスクトップ(VNC)接続用のTCP 5900番を許可しています。

EC2起動ウィザード最後のReview画面で内容を確認し、[Launch]ボタンをクリックします。

使用するキーペアを選択して、[Launch Instance]ボタンでEC2の起動を完了させます。キーペアは既存のものを使用しました。

InstancesのページでInitializingとなっていることを確認しておきましょう。

またDedicated Hostsのページ、Running instancesにもインスタンスが追加されていることが確認できます。

EC2 Mac InstancesにSSHで接続してみる

起動したMac Instanceについて、Status checkがInitializingから2/2 checks passedに変わったことを確認したら、SSHで接続してみます。なおInitializingから状態が変わるまで、注視していたわけではありませんが、10分後に確認したら2/2 checks passedになっていた、という具合です。

SSHの方法は通常のLinuxインスタンスなどと変わりありませんね。

ssh -i /path/my-key-pair.pem ec2-user@my-instance-public-dns-name

いざ、実際に接続してみます。接続に成功すると、りんごとEC2のアスキーアートが出迎えてくれます。macOSのバージョンについても表示されており、11.2.1であることが確認できます。

 % ssh -i /path/to/my-key-pair.pem ec2-user@ec2-54-XXX-XXX-239.us-west-2.compute.amazonaws.com
The authenticity of host 'ec2-54-XXX-XXX-239.us-west-2.compute.amazonaws.com (54.XXX.XXX.239)' can't be established.
ECDSA key fingerprint is SHA256:Oa8qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-54-XXX-XXX-239.us-west-2.compute.amazonaws.com,54.XXX.XXX.239' (ECDSA) to the list of known hosts.

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

ec2-user@ip-10-191-21-57 ~ %

sw_versコマンドでも確認しておきましょう。こちらもProductVersionとして11.2.1が表示されます。

ec2-user@ip-10-191-21-57 ~ % sw_vers
ProductName:    macOS
ProductVersion: 11.2.1
BuildVersion:   20D75

EC2 Mac InstanceにApple Remote Desktopで接続してみる

続いてApple Remote Desktop、いわゆるVNCでのGUI接続を行なってみます。

Remote Desktop接続の準備

まずは準備として、SSHで接続したままいくつか設定を行なっていきます。1つ目はec2-uuserアカウントのパスワード設定です。sudo passwd es2-userコマンドを実行します。

ec2-user@ip-10-191-21-57 ~ % sudo passwd ec2-user
Changing password for ec2-user.
New password:
Retype new password:

################################### WARNING ###################################
# This tool does not update the login keychain password.                      #
# To update it, run `security set-keychain-password` as the user in question, #
# or as root providing a path to such user's login keychain.                  #
###############################################################################

ec2-user@ip-10-191-21-57 ~ %

WARNINGが表示されてしまいましたが、su ec2-userをしたところパスワードの変更自体はできているようでした。

ec2-user@ip-10-191-21-57 ~ % su ec2-user
Password:
ec2-user@ip-10-191-21-57 ~ %

security set-keychain-passwordコマンドも実行しようとしてみましたが、Old Passwordを求められるようです。パスワード設定時のキーチェーンなのでここなどがヒントになりそうかな、と目星をつけつつも、今回は検証目的なのでいったんこのまま先に進めます。(機会があればGUIでの変更も検討しようかと。)

続いて2つ目、Apple Remote Desktopエージェントを起動し、リモートデスクトップアクセスを有効にします。以下のコマンドを実行しました。

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
    -activate -configure -access -on \
    -restart -agent -privs -all

実行結果は以下です。こちらもWarningがありますが、いったんこのまま進めます。

ec2-user@ip-10-191-21-57 ~ % sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
    -activate -configure -access -on \
    -restart -agent -privs -all

Starting...
Warning: macos 10.14 and later only allows control if Screen Sharing is enabled through System Preferences.
Activated Remote Management.
Stopped ARD Agent.
ec2-user: Set user remote control privileges.
ec2-user: Set user remote access.
Done.
ec2-user@ip-10-191-21-57 ~ %

最後に3つ目として、EC2 Mac Instanceへの接続元となるマシン(こちらもMac)から、改めてSSH接続をします。このときローカルポート5900のすべてのトラフィックをEC2 Mac Instanceに転送するようポート転送を有効にします。

ssh -L 5900:localhost:5900 -i /path/my-key-pair.pem ec2-user@my-instance-public-dns-name

以下が実際に実行した状態です。

 % ssh -L 5900:localhost:5900 -i /path/to/my-key-pair.pem ec2-user@ec2-54-XXX-XXX-239.us-west-2.compute.amazonaws.com
Last login: Sat Feb 27 13:07:20 2021 from XXX.XXX.XXX.XXX

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

ec2-user@ip-10-191-21-57 ~ %

ローカルのMacからRemote Desktop接続

ローカルのMacから接続してみます。ポート転送を有効にしたSSHを接続した状態で操作を続けていきます。Finderのメニューで「移動」 > 「サーバへ接続…」をクリックします。

サーバアドレスにvnc://localhostと入力して[接続]で進みます。

ユーザ名とパスワードの入力が求められます。ユーザ名はec2-user、パスワードは先ほど設定したものを入力して、[サインイン]をクリックします。

デスクトップ画面が表示されました!改めてec2-userのパスワードを入力します。

ログイン後の画面です。個人的にBig SurのUIには初遭遇なのですごい新鮮です!

「このMacについて(About This Mac)」を確認してみます。macOS Big Surと表記されていますね!CPUはIntel Core i7です。

Big Surで大幅な改良が加えられたというSafari、デザインも変わっています。新たに導入されたというコントロールセンターも表示してみました。

まとめ

Amazon EC2 Mac Instancesで新たにサポートされたmacOS Big Sur (11.2.1)を実際に起動、SSHならびにApple Remote Desktopで接続し、OSのバージョン情報を確認してみました。個人的にBig Surを触るのははじめてだったのですが、新しいOSでもビックリするぐらいサッーと試せるというクラウドのメリット享受できているかと思います。EC2 Mac Instancesのリリースから3ヶ月経たずに最新OSがサポートされたこともうれしいですね。対応が予定されているというM1チップのサポートについても期待したいと思います。