こんにちは。
本記事は、株式会社日立システムズのアドベントカレンダーの12/1の記事です。
2020/12/1 に公開された、 Amazon EC2 Mac Instance を早速使ってみました。
https://aws.amazon.com/jp/blogs/aws/new-use-mac-instances-to-build-test-macos-ios-ipados-tvos-and-watchos-apps/
本稿記載時点では、以下のリージョンでのみサポートされています。
また、一部のリージョンでは、起動制限数が0になっているため、制限解除が必要です。
- 米東(北バージニア)
- 米東(オハイオ)
- 米西(オレゴン)
- 欧州(アイルランド)
- アジア太平洋(シンガポール)
今回は、シンガポールリージョンで試してみました。
準備
Dedicated Host を用意する
EC2 のコンソールへアクセスし、画面左側の「専有ホスト」をクリック
設定例:
- Name tag: 専有ホストの名称を指定。(例:machost)
- インスタンスファミリー: mac1
- 複数のインスタンスタイプをサポート: 有効化のチェックを外す
- インスタンスタイプ: mac1.metal
- アベイラビリティゾーン: 任意のアベイラビリティゾーンを指定する
その他の設定については、今回の検証では試していませんが、必要に応じて試してみてください。
設定が終わったら、スクロールし、[割り当て]ボタンをクリックする。
注意点
mac1.metal 専有ホストは作成後少なくとも24時間は解放できません。
EC2 Instance を起動する
Dedicated Host(専有ホスト)の設定が終わったら、次に EC2 インスタンスを起動します。
ステップ 1: Amazon マシンイメージ (AMI)
好みの macOS の AMI の右側にある、「選択」ボタンをクリック
ステップ 2: インスタンスタイプの選択
インスタンスタイプの選択はデフォルトで「mac1.metal」が選択されているので、そのままにして、画面右下の「次のステップ: インスタンスの詳細の設定」ボタンをクリック
ステップ 3: インスタンスの詳細の設定
起動台数やアベイラビリティゾーンの設定は、Dedicated Host割り当て時に設定したものにする。
IAM ロールなどは適宜設定。
画面スクロールし、真ん中あたりにある「ホスト」の箇所において、Dedicated Hostで割り当てを行ったホストを選択する。
ステップ 4: ストレージの追加
必要に応じて容量を増やしたり、個数を増やしたりする。
ステップ 5: タグの追加
必要に応じて Tag を設定する。
ステップ 6: セキュリティグループの設定
適宜、接続に使用するポートとアクセス元を指定する。
今回は、SSHを指定。GUI検証時に追加する予定。
ステップ 7: インスタンス作成の確認
一覧を確認し問題がなければ、「起動」ボタンをクリックして EC2 インスタンスを起動させます。
これで Amazon EC2 Mac インスタンスの起動は完了です!
いざ接続!
SSH
Windows 10 環境で鍵を使って TeraTerm を使って試しました。
ログイン直後の表示
アップルマークアスキーアートの横に EC2 アスキーアートが並んでいます。
.:'
__ :'__ __| __|_ )
.'` `-' ``. _| ( /
: .-' ___|\___|___|
: :
: `-; Amazon EC2
`.__.-.__.' macOS Catalina 10.15.7
ec2-user@ip-172-31-25-*** ~ %
uname コマンドの結果
uname -a を実行して結果を確認します。
ec2-user@ip-172-31-25-*** ~ % uname -a
Darwin ip-172-31-25-***.ap-southeast-1.compute.internal 19.6.0 Darwin Kernel Version 19.6.0: Thu Oct 29 22:56:45 PDT 2020; root:xnu-6153.141.2.2~1/RELEASE_X86_64 x86_64
sw_vers コマンドの結果
sw_vers を実行して結果を確認します。
ec2-user@ip-172-31-25-*** ~ % sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H15
brew コマンドの結果
brew list コマンドを実行して、何がインストールされているか確認します。
ec2-user@ip-172-31-25-*** ~ % brew list
awscli python@3.9
ec2-macos-init readline
ec2-macos-system-monitor sqlite
gdbm xz
openssl@1.1
amazon-ena-ethernet amazon-ssm-agent
ストレージの見え方を確認
df コマンドを実行して、ストレージの見え方を確認します。
ec2-user@ip-172-31-25-*** ~ % df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk2s5 30Gi 10Gi 11Gi 48% 488252 312036148 0% /
devfs 186Ki 186Ki 0Bi 100% 642 0 100% /dev
/dev/disk2s1 30Gi 5.7Gi 11Gi 34% 151351 312373049 0% /System/Volumes/Data
/dev/disk2s4 30Gi 2.0Gi 11Gi 16% 1 312524399 0% /private/var/vm
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /System/Volumes/Data/home
Macintosh HD ではないんですね。
プロセスの確認
ps -ef コマンドでプロセスを確認します
ちょっと多いので、折りたたんでいます。
詳細を開く
UID PID PPID C STIME TTY TIME CMD
0 1 0 0 6:08AM ?? 0:02.47 /sbin/launchd
0 40 1 0 6:10AM ?? 0:00.24 /usr/sbin/syslogd
0 41 1 0 6:10AM ?? 0:00.45 /usr/libexec/UserEventAgent (System)
0 44 1 0 6:10AM ?? 0:00.05 /System/Library/PrivateFrameworks/Uninstall.framework/Resources/uninstalld
0 45 1 0 6:10AM ?? 0:30.36 /usr/libexec/kextd
0 46 1 0 6:10AM ?? 0:00.32 /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/Support/fseventsd
0 47 1 0 6:10AM ?? 0:00.17 /System/Library/PrivateFrameworks/MediaRemote.framework/Support/mediaremoted
0 51 1 0 6:10AM ?? 0:00.26 /usr/sbin/systemstats --daemon
0 52 1 0 6:10AM ?? 0:00.49 /usr/libexec/configd
0 54 1 0 6:10AM ?? 0:00.03 endpointsecurityd
0 55 1 0 6:10AM ?? 0:00.16 /System/Library/CoreServices/powerd.bundle/powerd
0 59 1 0 6:10AM ?? 0:02.74 /usr/libexec/logd
0 60 1 0 6:10AM ?? 0:00.02 /usr/libexec/keybagd -t 15
0 63 1 0 6:10AM ?? 0:00.05 /usr/libexec/watchdogd
0 66 1 0 6:10AM ?? 0:00.03 /usr/libexec/warmd
0 67 1 0 6:10AM ?? 8:41.31 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support/mds
240 68 1 0 6:10AM ?? 0:00.11 /System/Library/CoreServices/iconservicesd
0 69 1 0 6:10AM ?? 0:00.35 /usr/libexec/diskarbitrationd
0 72 1 0 6:10AM ?? 0:00.27 /usr/libexec/coreduetd
0 75 1 0 6:10AM ?? 0:01.79 /usr/libexec/opendirectoryd
0 78 1 0 6:10AM ?? 0:00.22 /System/Library/CoreServices/launchservicesd
266 79 1 0 6:10AM ?? 0:00.05 /usr/libexec/timed
213 81 1 0 6:10AM ?? 0:00.05 /System/Library/PrivateFrameworks/MobileDevice.framework/Versions/A/Resources/usbmuxd -launchd
0 82 1 0 6:10AM ?? 0:01.23 /usr/sbin/securityd -i
0 83 1 0 6:10AM ?? 0:00.01 auditd -l
205 85 1 0 6:10AM ?? 0:00.17 /usr/libexec/locationd
0 89 1 0 6:10AM ?? 0:00.01 autofsd
244 90 1 0 6:10AM ?? 0:00.34 /usr/libexec/displaypolicyd -k 1
0 91 1 0 6:10AM ?? 0:00.27 /usr/libexec/dasd
0 94 1 0 6:10AM ?? 0:00.87 /usr/libexec/PerfPowerServices
0 97 1 0 6:10AM ?? 0:00.02 /System/Library/CoreServices/logind
0 98 1 0 6:10AM ?? 0:00.04 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond
0 99 1 0 6:10AM ?? 0:00.01 /usr/sbin/KernelEventAgent
0 101 1 0 6:10AM ?? 0:00.14 /usr/sbin/bluetoothd
261 102 1 0 6:10AM ?? 0:00.06 /usr/libexec/hidd
0 103 1 0 6:10AM ?? 0:00.06 /usr/libexec/sandboxd
0 104 1 0 6:10AM ?? 0:00.96 /usr/libexec/corebrightnessd --launchd
0 105 1 0 6:10AM ?? 0:00.35 /usr/libexec/AirPlayXPCHelper
0 106 1 0 6:10AM ?? 0:00.40 /usr/sbin/notifyd
0 107 1 0 6:10AM ?? 0:18.01 /usr/libexec/syspolicyd
0 108 1 0 6:10AM ?? 0:00.06 /usr/libexec/taskgated
241 110 1 0 6:10AM ?? 0:00.09 /usr/sbin/distnoted daemon
0 113 1 0 6:10AM ?? 0:00.66 /usr/sbin/cfprefsd daemon
0 114 1 0 6:10AM ?? 0:00.71 /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow console
263 116 1 0 6:10AM ?? 0:00.28 /System/Library/PrivateFrameworks/CoreAnalytics.framework/Support/analyticsd
0 117 1 0 6:10AM ?? 0:00.16 /System/Library/CoreServices/coreservicesd
0 118 1 0 6:10AM ?? 0:00.01 aslmanager
0 121 1 0 6:10AM ?? 0:00.40 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/authd.xpc/Contents/MacOS/authd
0 122 1 0 6:10AM ?? 0:00.15 /System/Library/PrivateFrameworks/TCC.framework/Resources/tccd system
0 132 1 0 6:10AM ?? 0:16.59 /usr/libexec/lsd runAsRoot
0 135 1 0 6:10AM ?? 0:00.27 /usr/libexec/nehelper
65 136 1 0 6:10AM ?? 0:00.17 /usr/sbin/mDNSResponder
0 140 1 0 6:10AM ?? 0:00.11 /usr/libexec/searchpartyd
0 150 1 0 6:10AM ?? 0:06.32 /usr/libexec/trustd
202 151 1 0 6:10AM ?? 0:00.29 /usr/sbin/coreaudiod
202 165 1 0 6:10AM ?? 0:00.03 /System/Library/Frameworks/CoreAudio.framework/Versions/A/XPCServices/com.apple.audio.DriverHelper.xpc/Contents/MacOS/com.apple.audio.DriverHelper
0 166 1 0 6:10AM ?? 0:00.26 /usr/libexec/mobileassetd
88 168 1 0 6:10AM ?? 0:03.71 /System/Library/PrivateFrameworks/SkyLight.framework/Resources/WindowServer -daemon
0 169 1 0 6:10AM ?? 0:00.00 /usr/libexec/smd
0 170 1 0 6:10AM ?? 0:00.29 /usr/libexec/diskmanagementd
0 171 1 0 6:10AM ?? 0:00.03 /System/Library/PrivateFrameworks/WirelessDiagnostics.framework/Support/awdd
0 172 1 0 6:10AM ?? 0:00.03 /System/Library/PrivateFrameworks/SystemAdministration.framework/XPCServices/writeconfig.xpc/Contents/MacOS/writeconfig
0 173 1 0 6:10AM ?? 0:00.14 /usr/libexec/airportd
242 174 1 0 6:10AM ?? 0:00.19 /usr/libexec/nsurlsessiond --privileged
0 175 1 0 6:10AM ?? 0:00.01 /usr/libexec/multiversed
0 176 1 0 6:10AM ?? 0:00.01 /System/Library/CryptoTokenKit/com.apple.ifdreader.slotd/Contents/MacOS/com.apple.ifdreader
0 177 1 0 6:10AM ?? 0:00.02 /usr/libexec/apfsd
0 178 1 0 6:10AM ?? 0:00.05 /usr/libexec/usbd
0 179 1 0 6:10AM ?? 0:00.01 /usr/libexec/firmwarecheckers/ethcheck/ethcheck --integrity-check-daemon
200 190 1 0 6:10AM ?? 0:00.01 /System/Library/PrivateFrameworks/BridgeOSSoftwareUpdate.framework/Support/bosUpdateProxy
0 191 1 0 6:10AM ?? 0:00.10 /System/Library/CoreServices/SubmitDiagInfo server-init
205 196 1 0 6:10AM ?? 0:01.57 /System/Library/PrivateFrameworks/GeoServices.framework/Versions/A/XPCServices/com.apple.geod.xpc/Contents/MacOS/com.apple.geod
205 197 1 0 6:10AM ?? 0:00.26 /usr/libexec/secinitd
205 198 1 0 6:10AM ?? 0:00.01 /usr/sbin/cfprefsd agent
205 200 1 0 6:10AM ?? 0:00.82 /usr/libexec/trustd --agent
0 268 1 0 6:10AM ?? 0:00.06 /usr/libexec/sysmond
0 269 51 0 6:10AM ?? 0:00.04 /usr/sbin/systemstats --logger-helper /private/var/db/systemstats
0 270 1 0 6:10AM ?? 0:01.74 /System/Library/PrivateFrameworks/XprotectFramework.framework/Versions/A/XPCServices/XprotectService.xpc/Contents/MacOS/XprotectService
0 271 1 0 6:10AM ?? 0:00.19 /System/Library/PrivateFrameworks/CoreDuetContext.framework/Resources/contextstored
0 276 1 0 6:10AM ?? 0:00.09 /usr/sbin/mDNSResponderHelper
0 277 1 0 6:10AM ?? 0:00.05 /usr/libexec/findmydeviced
24 278 1 0 6:10AM ?? 0:00.08 /usr/libexec/symptomsd
0 293 1 0 6:10AM ?? 0:00.30 /System/Library/PrivateFrameworks/ApplePushService.framework/apsd
0 295 1 0 6:10AM ?? 0:00.01 /System/Library/CoreServices/ReportCrash daemon
0 297 1 0 6:10AM ?? 0:00.01 /System/Library/Frameworks/PreferencePanes.framework/Versions/A/XPCServices/cacheAssistant.xpc/Contents/MacOS/cacheAssistant
0 298 1 0 6:10AM ?? 0:00.49 /usr/libexec/secinitd
0 341 1 0 6:11AM ?? 0:00.06 /usr/libexec/nesessionmanager
0 346 1 0 6:11AM ?? 0:00.06 /System/Library/Frameworks/SystemExtensions.framework/Versions/A/Helpers/sysextd
0 347 1 0 6:11AM ?? 0:00.05 /System/Library/Frameworks/Security.framework/Versions/A/XPCServices/com.apple.CodeSigningHelper.xpc/Contents/MacOS/com.apple.CodeSigningHelper
0 414 1 0 6:13AM ?? 0:00.10 /System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper -launchd
0 422 1 0 6:13AM ?? 0:00.03 /System/Library/Frameworks/AudioToolbox.framework/AudioComponentRegistrar -daemon
202 423 1 0 6:13AM ?? 0:00.01 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper
270 424 1 0 6:13AM ?? 0:00.02 /System/Library/DriverExtensions/AppleUserHIDDrivers.dext/AppleUserHIDDrivers com.apple.driverkit.AppleUserUSBHostHIDDevice0 0x1000006cc
0 425 1 0 6:13AM ?? 0:00.01 /usr/libexec/thermald
270 426 1 0 6:13AM ?? 0:00.00 /System/Library/DriverExtensions/AppleUserHIDDrivers.dext/AppleUserHIDDrivers com.apple.driverkit.AppleUserHIDEventDriver 0x1000006fc
0 428 1 0 6:13AM ?? 0:00.04 /usr/libexec/runningboardd
0 429 1 0 6:13AM ?? 0:00.17 /System/Library/Frameworks/InputMethodKit.framework/Resources/imklaunchagent
0 430 1 0 6:13AM ?? 0:00.05 /usr/libexec/UserEventAgent (LoginWindow)
0 431 1 0 6:13AM ?? 0:00.05 /usr/sbin/universalaccessd launchd -s
0 432 1 0 6:13AM ?? 0:00.47 /usr/libexec/pkd
205 433 1 0 6:13AM ?? 0:00.02 /usr/sbin/distnoted agent
0 434 1 0 6:13AM ?? 4:34.75 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mds_stores
89 448 1 0 6:13AM ?? 0:00.85 /usr/libexec/trustd --agent
88 451 1 0 6:13AM ?? 0:06.85 /System/Library/Frameworks/Metal.framework/Versions/A/XPCServices/MTLCompilerService.xpc/Contents/MacOS/MTLCompilerService
0 452 1 0 6:13AM ?? 0:00.01 /usr/local/Cellar/ec2-macos-system-monitor/1.1.0/libexec/bin/ec2monitoring-relayd
89 456 1 0 6:13AM ?? 0:00.02 /usr/sbin/distnoted agent
97 464 1 0 6:13AM ?? 0:00.52 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/fontd
0 469 1 0 6:13AM ?? 0:00.01 /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/CVMServer
0 470 1 0 6:13AM ?? 0:00.01 /usr/libexec/colorsync.displayservices
0 471 1 0 6:13AM ?? 0:00.02 /usr/libexec/colorsyncd
0 472 1 0 6:13AM ?? 0:00.03 /System/Library/PrivateFrameworks/AmbientDisplay.framework/Versions/A/XPCServices/com.apple.AmbientDisplayAgent.xpc/Contents/MacOS/com.apple.AmbientDisplayAgent
55 473 1 0 6:13AM ?? 0:00.02 /System/Library/CoreServices/appleeventsd --server
0 476 1 0 6:13AM ?? 0:00.02 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary
0 477 1 0 6:13AM ?? 0:00.02 /usr/sbin/distnoted agent
0 478 1 0 6:13AM ?? 0:00.02 /usr/libexec/bootinstalld
0 479 1 0 6:13AM ?? 0:00.02 /System/Library/PrivateFrameworks/ViewBridge.framework/Versions/A/XPCServices/ViewBridgeAuxiliary.xpc/Contents/MacOS/ViewBridgeAuxiliary
92 480 1 0 6:13AM ?? 0:03.61 /System/Library/Frameworks/Security.framework/Versions/A/MachServices/SecurityAgent.bundle/Contents/MacOS/SecurityAgent
0 481 1 0 6:13AM ?? 0:00.03 /System/Library/CoreServices/ManagedClient.app/Contents/MacOS/ManagedClient
0 482 1 0 6:13AM ?? 0:00.01 /usr/libexec/corecaptured
0 483 1 0 6:13AM ?? 0:00.02 /usr/sbin/spindump
88 484 1 0 6:13AM ?? 0:00.24 /System/Library/Frameworks/Metal.framework/Versions/A/XPCServices/MTLCompilerService.xpc/Contents/MacOS/MTLCompilerService
92 485 1 0 6:13AM ?? 0:00.15 /System/Library/Frameworks/VideoToolbox.framework/Versions/A/XPCServices/VTDecoderXPCService.xpc/Contents/MacOS/VTDecoderXPCService
92 486 1 0 6:13AM ?? 0:00.10 /System/Library/Frameworks/Metal.framework/Versions/A/XPCServices/MTLCompilerService.xpc/Contents/MacOS/MTLCompilerService
0 491 1 0 6:13AM ?? 0:00.01 /System/Library/PrivateFrameworks/AccountPolicy.framework/XPCServices/com.apple.AccountPolicyHelper.xpc/Contents/MacOS/com.apple.AccountPolicyHelper
0 492 1 0 6:13AM ?? 0:00.02 /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd
0 493 1 0 6:13AM ?? 0:00.02 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp -d
0 495 1 0 6:13AM ?? 0:00.02 /System/Library/Frameworks/CryptoTokenKit.framework/ctkahp.bundle/Contents/MacOS/ctkahp
0 496 1 0 6:13AM ?? 0:00.03 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd -tw
0 498 1 0 6:13AM ?? 0:00.02 /usr/sbin/systemsoundserverd
259 500 1 0 6:14AM ?? 0:00.02 /System/Library/Frameworks/CryptoTokenKit.framework/ctkd -s
501 514 1 0 6:14AM ?? 0:00.03 /usr/sbin/cfprefsd agent
501 515 1 0 6:14AM ?? 0:14.00 /usr/libexec/lsd
501 516 1 0 6:14AM ?? 0:01.21 /usr/libexec/trustd --agent
501 517 1 0 6:14AM ?? 0:00.02 /usr/sbin/distnoted agent
501 518 1 0 6:14AM ?? 0:00.07 /usr/libexec/secd
222 585 1 0 6:14AM ?? 0:00.08 /usr/sbin/netbiosd
0 588 1 0 6:14AM ?? 0:00.66 /opt/aws/ssm/bin/amazon-ssm-agent
0 674 1 0 6:14AM ?? 0:00.22 /System/Library/CoreServices/iconservicesagent runAsRoot
0 675 1 0 6:14AM ?? 0:00.07 /System/Library/Frameworks/Metal.framework/Versions/A/XPCServices/MTLCompilerService.xpc/Contents/MacOS/MTLCompilerService
0 676 1 0 6:14AM ?? 0:00.05 /System/Library/Frameworks/Metal.framework/Versions/A/XPCServices/MTLCompilerService.xpc/Contents/MacOS/MTLCompilerService
0 681 588 0 6:14AM ?? 0:01.27 /opt/aws/ssm/bin/ssm-agent-worker
0 697 1 0 6:14AM ?? 0:00.35 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/SpeechSynthesis.framework/Resources/com.apple.speech.speechsynthesisd
0 698 1 0 6:14AM ?? 0:00.01 /System/Library/Frameworks/AudioToolbox.framework/XPCServices/com.apple.audio.SandboxHelper.xpc/Contents/MacOS/com.apple.audio.SandboxHelper
200 745 1 0 6:15AM ?? 0:05.63 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated
0 747 1 0 6:15AM ?? 0:00.01 /System/Library/CoreServices/Software Update.app/Contents/Resources/suhelperd
0 748 1 0 6:15AM ?? 0:00.13 /usr/libexec/rtcreportingd
243 749 1 0 6:15AM ?? 0:00.15 /usr/libexec/nsurlstoraged --privileged
0 1712 1 0 6:34AM ?? 0:00.03 sshd: ec2-user [priv]
501 1719 1712 0 6:35AM ?? 0:00.01 sshd: ec2-user@ttys000
501 1720 1719 0 6:35AM ttys000 0:00.01 -zsh
0 1727 1720 0 6:36AM ttys000 0:00.00 ps -ef
VNC(GUI)接続
VNC 接続を行えるように、SSH 接続で Amazon EC2 Mac Instance に接続して以下の操作を行います。
また、AWSの発表記事にある通り、VNCにはセキュリティ脆弱性があるので、セキュリティグループの設定を厳しくしたり、記事中にあるとおり、SSH経由でVNCをトンネリングしたりすることも合わせてご検討ください。
(検証用途として)ec2-user のパスワードをリセット(再設定)する
今回はとりあえず、VNC で接続できることを確認したいので、サクッと ec2-user のパスワードをリセット(再設定)してしまいます。
passwd コマンドでも構わないのですが、 macOS ではユーザー管理はディレクトリ構造となっており、 dscl コマンドで実行します。
sudo dscl . -passwd /Users/ec2-user <Password文字列>
VNC Server を起動する
以下のコマンドを実行する
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw <Password文字列> -restart -agent -privs -all
VNC 接続をする
検証時は、自前の Macbook Pro(Big Sur)環境の画面共有(VNC)機能で行いました。
WindowsやLinuxなどの方は適宜、VNCアプリを使ってください。
macOS のFinder の「移動」ー>[サーバへ接続]を選択する。
サーバへ接続のウィンドウが開いたら、Amazon EC2 Mac Instance のIPアドレス(今回はグローバルIPv4アドレス)を以下のように指定し、接続ボタンをクリックする。
vnc://...
ユーザ名とパスワードを指定するウィンドウが開くので以下のように指定し、サインインボタンをクリックする。
すると、macOS ログイン画面が表示されるので、パスワードを指定し、Enterキーを押下する。
ログインが行えれば、以下のように macOS のデスクトップ画面が表示されます。
おまけ
Geekbench 5 を使ってベンチマークをとってみました。
Mac mini(Late 2018)のようです。
CPU ベンチの結果
Compute ベンチの結果
価格
シンガポールリージョンでは 1時間当たり 1.354 USD のようです。
まとめ
macOS が Amazon EC2 インスタンスでサポートされたことで、シンクライアントから AWS 上の mac による開発環境へ接続して利用するといったことができるようになりました。
しかも、ほぼまっさらな状態で利用ができるためカスタム AMI を利用しての開発環境統一といったこともしやすそうですね。
さらに、各種記事にもありましたが、iOSアプリなどの開発環境を集約できるといったことも期待されています。
また、最近リリースされた M1 Chip 搭載モデルにも対応予定とのことで、これからとても楽しみなサービスアップデートでした。
記載されている会社名、製品名、サービス名、ロゴ等は各社の商標または登録商標です。