この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
どうも、もこ@札幌オフィスです
re:Invent 2020の前夜祭、AWS Late Night Week 1で、「まあ前夜祭だし新サービスなんて出ないでしょw」とのんびりしてたら、突然Mac Instanceが発表されました!早速使ってみたのでレポートします!
Amazon EC2 Mac Instancesが公開!
まずはこれを見て欲しい。
Run macOS on AWS for the first time with new Amazon EC2 Mac instances. Start developing, building, testing, and signing Apple apps on AWS. Learn more: https://t.co/3faNVwprmv pic.twitter.com/ZEe4L6OORb
— Amazon Web Services (@awscloud) December 1, 2020
トラック満載の物凄い量のMac mini。これこそ「力こそパワー」って感じです。
公式リリースを見てみると、「AWS Nitro Systemと連携したMac mini」で、CPUはIntel Core i7(Coffee Lake)、Turbo Boost時で4.6GHzで動き、EBS、EFS、Amazon FSx for Windows Server、Amazon S3、Amazon Systems Managerなどと連携して動かせるそうです。
EC2上でMacを使えるように、ビルド、テスト、署名などのXcodeが必要な作業をEC2上で行うことができるようになるため、CI/CDやビルド・署名作業などはもちろん、開発環境ごとEC2に乗っけるなんてことも出来るようになりそうです。
SSHまたはリモートデスクトップ(VNC)を用いて操作を行うことが可能なようで、現在はmacOS Mojave10.14とmacOSCatalina 10.15をサポートし、macOS Big Sur11.0のサポートも間もなく開始されるとのこと。
早速触ってみる
macOSを触るには専有ホストの割り当てが必要なため、早速インスタンスファミリーをmac1にして専有ホスト割り当てをしていきます。リリース直後のせいか、us-east-1リージョンでは作成出来なかったため、ap-southeast-1(シンガポールリージョン)で作成していきます。
$ aws ec2 allocate-hosts --instance-type mac1.metal --availability-zone ap-southeast-1a --auto-placement on --quantity 1 --region ap-southeast-1
{
"HostIds": [
"h-036fb08252f470284"
]
}
EC2起動画面に行くと、AMI選択画面でAmazon Linux 2の下にmacOSが表示されています!
インスタンスタイプとして新たに「mac1.metal」が追加されていることを確認できます。12vCPUでメモリは32GB。
ホストで先程CLIで作成したホストを選択します。
次のステップで、Security Groupを設定します。
SSHとVNC(5900)を開けるように設定してみました。
作成後、数十分で起動してきました!
ec2-user
とEC2起動時に設定したキーペアを使ってSSH出来ました!
system_profilerで詳細を見てみると、Macmini8,1でi7 6Core(12vCPU)、メモリが32GBな事を確認できます。
% system_profiler SPHardwareDataType
Hardware:
Hardware Overview:
Model Name: Mac mini
Model Identifier: Macmini8,1
Processor Name: 6-Core Intel Core i7
Processor Speed: 3.2 GHz
Number of Processors: 1
Total Number of Cores: 6
L2 Cache (per Core): 256 KB
L3 Cache: 12 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
Boot ROM Version: 1554.50.3.0.0 (iBridge: 18.16.12561.0.0,0)
Serial Number (system): C07CG0GYJYVY
Hardware UUID: C86B1823-6FDF-5405-8FE7-DA07BE68CD53
Activation Lock Status: Disabled
EBSについても正常にマウントされていることが確認できます。
% 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% 151213 312373187 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
% system_profiler SPNVMeDataType
NVMExpress:
Apple SSD Controller:
APPLE SSD AP0128M:
Capacity: 121.33 GB (121,332,826,112 bytes)
TRIM Support: Yes
Model: APPLE SSD AP0128M
Revision: 1161.40.
Serial Number: C0701050051JRN1AM
Link Width: x4
Link Speed: 8.0 GT/s
Detachable Drive: No
BSD Name: disk1
Partition Map Type: GPT (GUID Partition Table)
Removable Media: No
S.M.A.R.T. status: Verified
Generic SSD Controller:
Amazon Elastic Block Store:
Capacity: 32.21 GB (32,212,254,720 bytes)
TRIM Support: Yes
Model: Amazon Elastic Block Store
Revision: 1.0
Serial Number: vol0d10da7858ccde6db
Link Width: x8
Link Speed: 8.0 GT/s
Detachable Drive: No
BSD Name: disk0
Partition Map Type: GPT (GUID Partition Table)
Removable Media: No
S.M.A.R.T. status: Verified
Volumes:
EFI:
Capacity: 209.7 MB (209,715,200 bytes)
File System: MS-DOS FAT32
BSD Name: disk0s1
Content: EFI
Volume UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B
disk0s2:
Capacity: 32 GB (32,002,498,560 bytes)
BSD Name: disk0s2
Content: Apple_APFS
高性能なEBSをアタッチする事で、EC2 Mac上で大量のIOが発生するような処理も実行できそうです。
また、Thunderbolt経由でNitroと繋がっていることも確認できました
% system_profiler SPThunderboltDataType
... 抜粋
Thunderbolt Bus 0:
Vendor Name: Apple Inc.
Device Name: Mac mini
UID: 0x00013C84F480EC00
Route String: 0
Firmware Version: 47.1
Domain UUID: 4CEF5F0B-0268-885A-A6CF-142323A58708
Port:
Status: No device connected
Link Status: 0x7
Speed: Up to 40 Gb/s x1
Current Link Width: 0x1
Receptacle: 2
Link Controller Firmware Version: 1.34.0
Port:
Status: Device connected
Link Status: 0x2
Speed: Up to 40 Gb/s x1
Current Link Width: 0x2
Receptacle: 1
Link Controller Firmware Version: 1.34.0
Nitro Thunderbolt Adapter T-01:
Vendor Name: Amazon Web Services
Device Name: Nitro Thunderbolt Adapter T-01
Vendor ID: 0x7439
Device ID: 0xBC
Device Revision: 0x2
UID: 0x74399F4978E83100
Route String: 3
Firmware Version: 50.5
Port (Upstream):
Status: Device connected
Link Status: 0x2
Speed: Up to 40 Gb/s x1
Current Link Width: 0x2
Link Controller Firmware Version: 1.37.0
Port:
Status: No device connected
Link Status: 0x7
Speed: Up to 40 Gb/s x1
Current Link Width: 0x1
Link Controller Firmware Version: 1.37.0
まとめ
re:Invent前夜祭でこのデカいアップデートが来たためめちゃめちゃびっくりしています!re:Inventはまだ始まったばっかりですが、日本時間の今夜行われるKeynoteやSessionなどにも期待です!
また、M1 ChipなEC2 Mac Instanceは、2021年頃に公開予定とのことなので、M1 Mac Bookを買おうか検討する際に試しにEC2上で動くかを検証してみる、なんてことも出来そうです。
また、VNCでMacにGUIで接続してみたブログが公開されていますので、ぜひ合わせてご確認ください!