必見の記事

【速報】EC2がMac対応! Amazon EC2 Mac Instancesがリリースされたので触ってみた #reinvent

AWS Late Night Week 1でAmazon EC2 Mac Instancesが公開されました!早速触ってみたのでレポートします。
2020.12.01

どうも、もこ@札幌オフィスです

re:Invent 2020の前夜祭、AWS Late Night Week 1で、「まあ前夜祭だし新サービスなんて出ないでしょw」とのんびりしてたら、突然Mac Instanceが発表されました!早速使ってみたのでレポートします!

Amazon EC2 Mac Instancesが公開!

まずはこれを見て欲しい。

トラック満載の物凄い量の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のサポートも間もなく開始されるとのこと。

https://aws.amazon.com/jp/blogs/aws/new-use-mac-instances-to-build-test-macos-ios-ipados-tvos-and-watchos-apps/

早速触ってみる

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で接続してみたブログが公開されていますので、ぜひ合わせてご確認ください!

参考

https://aws.amazon.com/blogs/aws/new-use-mac-instances-to-build-test-macos-ios-ipados-tvos-and-watchos-apps/