Amazon Web Services ブログ

Amazon EC2 M4 インスタンスと M4 Pro Mac インスタンスの発表

2001 年から macOS を使用し、4 年前のリリースから Amazon EC2 Mac インスタンスを使用してきた私は、AWS での継続的インテグレーションとデリバリー (CI/CD) パイプラインのスケーリングで大勢のお客様をサポートしてきました。今日は、Amazon EC2 M4 インスタンスと M4 Pro Mac インスタンスの一般提供が開始されたことをお知らせしたいと思います。

Apple プラットフォーム向けのアプリケーションを構築している開発チームには、複雑な構築プロセスを処理し、複数の iOS シミュレータを同時に実行するための強力なコンピューティングリソースが必要です。開発プロジェクトの規模が大きくなり、より高度になるにつれて、チームもパフォーマンスを強化し、メモリ容量を増やして、迅速な開発サイクルを維持しなければなりません。

Apple M4 Mac mini を中核としたインスタンス
EC2 M4 Mac (API では mac-m4.metal) インスタンスは、Apple M4 Mac mini コンピュータ上に構築され、AWS Nitro System を搭載しています。10 コア CPU (4 個のパフォーマンスコアと 6 個の効率性コア)、10 コア GPU、16 コア Neural Engine、24 GB ユニファイドメモリを備えた Apple シリコン M4 チップを使用しており、iOS と macOS のアプリケーション構築ワークロードのパフォーマンスを強化します。M4 Mac インスタンスは、アプリケーションの構築時やテスト時に EC2 M2 Mac インスタンスよりも最大 20% 優れたアプリケーション構築パフォーマンスを実現します。

EC2 M4 Pro Mac (API では mac-m4pro.metal) インスタンスは、14 コア CPU、20 コア GPU、16 コア Neural Engine、48 GB ユニファイドメモリを備えた Apple シリコン M4 Pro チップを搭載しています。これらのインスタンスは、EC2 M2 Pro Mac インスタンスよりも最大 15% 優れたアプリケーション構築パフォーマンスを実現します。増強されたメモリとコンピューティング能力により、複数のデバイスシミュレータを使用してさらに多くのテストを同時実行することが可能になります。

M4 インスタンスと M4 Pro Mac インスタンスにはそれぞれ 2 TB のローカルストレージがあり、キャッシュ、構築、テストのパフォーマンスを向上させる低レイテンシーのストレージを提供します。

どちらのインスタンスタイプも、macOS Sonoma のバージョン 15.6 以降を Amazon マシンイメージ (AMI) としてサポートしています。AWS Nitro System は、高速 Thunderbolt 接続を使用することで、最大 10 Gbps の Amazon Virtual Private Cloud (Amazon VPC) ネットワーク帯域幅と 8 Gbps の Amazon Elastic Block Store (Amazon EBS) ストレージ帯域幅を提供します。

Amazon EC2 Mac インスタンスは AWS サービスとシームレスに統合するため、以下が可能になります。

  • AWS CodeBuildAWS CodePipeline を使用して自動 CI/CD パイプラインを構築する
  • AWS Secrets Manager でビルドシークレット (Apple の開発用証明書やキーなどの) の複数バージョンを保存して管理する
  • AWS CloudFormation を使用して開発インフラストラクチャを管理する
  • Amazon CloudWatch を使用してインスタンスのパフォーマンスをモニタリングする

使用開始方法の説明
EC2 M4 インスタンスと M4 Pro Mac インスタンスは、AWS マネジメントコンソールAWS コマンドラインインターフェイス (AWS CLI)、または AWS SDK を使用して起動できます。

このデモでは、コンソールから M4 Pro インスタンスを起動しましょう。まず、インスタンスを実行するための専有ホストを割り当てます。AWS マネジメントコンソールで [EC2]、[専有ホスト] の順に移動し、[専有ホストの割り当て] を選択します。

次に、[名前タグ] に入力してから、[インスタンスファミリー] (mac-m4pro) と [インスタンスタイプ] (mac-m4pro.metal) を選択します。[アベイラビリティーゾーン] を 1 つ選択し、[ホストのメンテナンス] のチェックを外します。

EC2 Mac M$ – 専有ホスト

または、コマンドラインインターフェイスを使用することも可能です。

aws ec2 allocate-hosts                          \
        --availability-zone-id "usw2-az4"       \
        --auto-placement "off"                  \
        --host-recovery "off"                   \
        --host-maintenance "off"                \
        --quantity 1                            \
        --instance-type "mac-m4pro.metal"

専有ホストが私のアカウントに割り当てられたら、割り当てられたホストを選択して、[アクション] メニュー、[インスタンスをホストで起動] の順に選択します。

コンソールには、このタイプのホスト向けに [サポートされている最新の macOS バージョン] が他の情報とともに表示されているのがわかります。今回は macOS 15.6 です。

EC2 Mac M4 – 専有ホストの起動 

[インスタンスを起動] ページで [名前] に入力します。ここでは macOS Sequoia の Amazon マシンイメージ (AMI) を選択します。このときに、[アーキテクチャ] が 64 ビット ARM、[インスタンスタイプ]mac-m4pro.metal であることを確認します。

残りのパラメータは Amazon EC2 Mac 固有のものではなく、ネットワークとストレージの設定です。開発用のインスタンスを起動するときは、200 Gb 以上のボリュームを選択するようにしてください。Xcode をダウンロードしてインストールするには、デフォルトの 100 GB ボリュームサイズでは不十分です。

EC2 Mac M4 – 専有ホストの起動詳細準備ができたら、ページの最下部にあるオレンジ色の [インスタンスを起動] ボタンを選択します。コンソールにはインスタンスが直ちに実行中として表示されますが、SSH 経由で接続できるようになるまで最大 15 分かかる場合があります。

または、このコマンドを使用することも可能です。

aws ec2 run-instances \
    --image-id "ami-000420887c24e4ac8"  \ # AMI ID depends on the region !
    --instance-type "mac-m4pro.metal"   \
    --key-name "my-ssh-key-name"        \
    --network-interfaces '{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Groups":["sg-0c2f1a3e01b84f3a3"]}' \ # Security Group ID depends on your config
    --tag-specifications '{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"My Dev Server"}]}' \
    --placement '{"HostId":"h-0e984064522b4b60b","Tenancy":"host"}' \ # Host ID depends on your config 
    --private-dns-name-options '{"HostnameType":"ip-name","EnableResourceNameDnsARecord":true,"EnableResourceNameDnsAAAARecord":false}' \
    --count "1" 

ターミナルからの Xcode のインストール
インスタンスにアクセスできるようになったら、SSH を使用してインスタンスに接続し、開発ツールをインストールできます。Xcode 16.4 のダウンロードとインストールには xcodeinstall を使用します。

ノートパソコンから、Apple Developer 認証情報を使用してセッションを開始します。

# on my laptop, with permissions to access AWS Secret Manager
» xcodeinstall authenticate -s eu-central-1                                                                                               

Retrieving Apple Developer Portal credentials...
Authenticating...
🔐 Two factors authentication is enabled, enter your 2FA code: 067785
✅ Authenticated with MFA.

先ほど起動した EC2 Mac インスタンスに接続します。次に、Xcode をダウンロードしてインストールします。

» ssh ec2-user@44.234.115.119                                                                                                                                                                   

Warning: Permanently added '44.234.115.119' (ED25519) to the list of known hosts.
Last login: Sat Aug 23 13:49:55 2025 from 81.49.207.77

    ┌───┬──┐   __|  __|_  )
    │ ╷╭╯╷ │   _|  (     /
    │  └╮  │  ___|\___|___|
    │ ╰─┼╯ │  Amazon EC2
    └───┴──┘  macOS Sequoia 15.6

ec2-user@ip-172-31-54-74 ~ % brew tap sebsto/macos
==> Tapping sebsto/macos
Cloning into '/opt/homebrew/Library/Taps/sebsto/homebrew-macos'...
remote: Enumerating objects: 227, done.
remote: Counting objects: 100% (71/71), done.
remote: Compressing objects: 100% (57/57), done.
remote: Total 227 (delta 22), reused 63 (delta 14), pack-reused 156 (from 1)
Receiving objects: 100% (227/227), 37.93 KiB | 7.59 MiB/s, done.
Resolving deltas: 100% (72/72), done.
Tapped 1 formula (13 files, 61KB).

ec2-user@ip-172-31-54-74 ~ % brew install xcodeinstall 
==> Fetching downloads for: xcodeinstall
==> Fetching sebsto/macos/xcodeinstall
==> Downloading https://github.com/sebsto/xcodeinstall/releases/download/v0.12.0/xcodeinstall-0.12.0.arm64_sequoia.bottle.tar.gz
Already downloaded: /Users/ec2-user/Library/Caches/Homebrew/downloads/9f68a7a50ccfdc479c33074716fd654b8528be0ec2430c87bc2b2fa0c36abb2d--xcodeinstall-0.12.0.arm64_sequoia.bottle.tar.gz
==> Installing xcodeinstall from sebsto/macos
==> Pouring xcodeinstall-0.12.0.arm64_sequoia.bottle.tar.gz
🍺  /opt/homebrew/Cellar/xcodeinstall/0.12.0: 8 files, 55.2MB
==> Running `brew cleanup xcodeinstall`...
Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`.
Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
==> No outdated dependents to upgrade!

ec2-user@ip-172-31-54-74 ~ % xcodeinstall download -s eu-central-1 -f -n "Xcode 16.4.xip"
                        Downloading Xcode 16.4
100% [============================================================] 2895 MB / 180.59 MBs
[ OK ]
✅ Xcode 16.4.xip downloaded

ec2-user@ip-172-31-54-74 ~ % xcodeinstall install -n "Xcode 16.4.xip"
Installing...
[1/6] Expanding Xcode xip (this might take a while)
[2/6] Moving Xcode to /Applications
[3/6] Installing additional packages...XcodeSystemResources.pkg
[4/6] Installing additional packages...CoreTypes.pkg
[5/6] Installing additional packages...MobileDevice.pkg
[6/6] Installing additional packages...MobileDeviceDevelopment.pkg
[ OK ]
✅ file:///Users/ec2-user/.xcodeinstall/download/Xcode%2016.4.xip installed

ec2-user@ip-172-31-54-74 ~ % sudo xcodebuild -license accept

ec2-user@ip-172-31-54-74 ~ % 

EC2 Mac M4 – xcode のインストール

知っておくべきこと
開発目的で使用する場合は、少なくとも 200 GB の EBS ボリュームを選択してください。Xcode をインストールするには、100 Gb のデフォルトボリュームサイズでは不十分です。私は、通常 500 Gb を選択します。インスタンスの起動後に EBS ボリュームサイズを増やす場合は、APFS ファイルシステムのサイズも忘れずに変更してください

別の手段として、Mac mini で利用できる低レイテンシーのローカル 2 Tb SSD ドライブに開発ツールとフレームワークをインストールすることも選択できます。そのボリュームのコンテンツは、専有ホストではなく、インスタンスライフサイクルに結び付けられていることに注意してください。つまり、インスタンスを停止して再起動すると、すべてのコンテンツが内部 SSD ストレージから削除されます。

mac-m4.metal インスタンスと mac-m4pro.metal インスタンスは、macOS Sequoia 15.6 以降をサポートします。

既存の EC2 Mac インスタンスは、移行したインスタンスが macOS 15 (Sequoia) を実行している場合に移行できます。既存のインスタンスからカスタム AMI を作成して、この AMI から M4 または M4 Pro インスタンスを起動してください。

最後に、私が作成したチュートリアルを参照することをお勧めします。これらのチュートリアルは、Amazon EC2 Mac の使用を開始するために役立ちます。

料金と利用可能なリージョン
現在、EC2 M4 インスタンスと M4 Pro Mac インスタンスを利用できるのは米国東部 (バージニア北部) と米国西部 (オレゴン) リージョンですが、将来は他のリージョンでも利用可能になる予定です。

Amazon EC2 Mac インスタンスは、オンデマンドと Savings Plans の料金モデルを使用して、専有ホストとして購入できます。EC2 Mac インスタンスの料金は 1 秒単位で請求され、最小割り当て期間は Apple macOS ソフトウェアライセンス契約に従って 24 時間になっています。24 時間の最小割り当て期間が終了すると、ホストはいつでも解放でき、追加の契約は必要ありません。

私は Apple 開発者と密接に連携しているので、皆さんが開発サイクルを加速するためにこれらの新しいインスタンスをどのように使用するのかを見るのが楽しみです。パフォーマンスの向上、メモリ容量の増強、AWS サービスとの統合の組み合わせは、iOS、macOS、iPadOS、tvOS、watchOS、VisionOS プラットフォーム向けのアプリケーションを構築するチームに新たな可能性をもたらします。アプリケーション開発以外にも、Apple シリコンの Neural Engine を使用するこれらのインスタンスは、機械学習推論ワークロードを実行するためのコスト効率性に優れた候補になります。このトピックについては、AWS re:Invent 2025 で詳しくお話しする予定になっており、EC2 Mac インスタンスで機械学習ワークロードを最適化するためのベンチマークとベストプラクティスをご紹介します。

EC2 M4 インスタンスと M4 Pro Mac インスタンスの詳細については、Amazon EC2 Mac インスタンスページ、または EC2 Mac ドキュメントを参照してください。これらのインスタンスは、AWS で Apple 開発ワークフローをモダナイズするために今すぐご利用いただけます。

– seb

原文はこちらです。