Amazon EC2 M4 and M4 Notifications for Mac Instance | Amazon Web Services

As someone who has been using MacOS since 2001 since 2001 and Amazon EC2 Mac Instance since they were launched 4 years ago, I have helped many customers scaling their continuous integration and delivery (CI/CD) pipes. Today I am excited to share that the Amazon EC2 M4 and M4 instance for Mac is now generally available.

Development teams creating Apple platform applications need powerful computing means to process comprehensive assembly processes and trigger multiple iOS simulators simultaneously. As developing projects are increasing and more sophisticated, teams require increased performance and memory capacity to maintain fast development cycles.

Apple M4 Mac Mini in core
EC2 M4 Mac Instance (known as mac-m4.metal In API) they are built on the Apple M4 Mac Mini and are built on AWS Nitro. They include Apple Silicon M4 chips with 10 -core CPU (four power and six efficiency core), 10 -core GPU, 16 -core nerve engine and 24 GB of unified memory, which provides increased performance for iOS and MacOS. When creating and testing the M4 Mac Instance applications, they give up to 20 percent better application performance compared to the EC2 M2 MAC instances.

EC2 M4 for Mac (mac-m4pro.metal In API) the instances are powered by Apple Silicon M4 Pro with a 14-core processor, 20-core GPU, 16-core nerve engine and 48 GB unified memory. These instances offer up to 15 percent better application performance compared to the EC2 M2 instances for Mac. Increased memory and computing power allows multiple tests to be performed in parallel using multiple devices.

Each M4 and M4 instance for Mac now comes up with 2 TB of local storage and provides low latent storage for improving cache storage and creating and testing.

Both types of instances are supported by MacOS Sonoma version 15.6 and later as Amazon Machine (AMIS) pictures. The AWS Nitro system provides up to 10 Gbps network widths of the Amazon Virtual Private Cloud (Amazon VPC) and 8 GBPS Amazon Elastic Block Store (Amazon EBS) by a bandwidth via high -speed Thunderbolt connection.

The Amazon EC2 Mac instance integrates into AWS services, which means you can:

Let me show you how to start
You can start the EC2 M4 or M4 for Mac via the AWS Management Console, the AWS (AWS Cli) or AWS SDKS commands.

For this demo we set up an instance of M4 Pro from the console. First I assign a reserved host to start my instances. I go to EC2 on the AWS management console, then Reserved hostsand i will choose Host.

Then I enter Name and i will pick Instance family (mac-m4pro) a The type of instance (mac-m4pro.metal). I choose one Availability zone And I clearly Host maintenance.

EC2 Mac M $ - Reserved hosts

I can alternatively use the command line interface:

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"

After the reserved host is assigned to my account, I will select the host I just assigned, then I select Action Menu and select Start instances on the host.

Note that the console provides you, among other things The latest supported version of MacOS For this type of host. In this case it is MacOS 15.6.

EC2 Mac M4 - a specified trial of hosts

I will enter the instance page and Name. I choose the Secreen Macos Sequoia Amazon Machine Image (Ami). I am providing Architecture is a 64 -bit arm and The type of instance is mac-m4pro.metal.

The rest of the parameters is not specific to the Amazon EC2 Mac: network configuration and storage. When you start an instance for development use, make sure you select a bundle with a minimum of 200 GB or more. The default volume size of 100 GB is not enough to download and install XCode.

EC2 MAC M4 - Details of Host StartingWhen he is ready Start an instance Orange button on the bottom of the page. The instance quickly appears as Run in the console. However, it may take up to 15 minutes to allow you to connect via SSH.

I can alternatively use this command:

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" 

Install Xcode from the terminal
After reaching an instance, I can connect with SSH and install my development tools. Download and installation Xcode 16.4 I use XCodeinstall.

From my laptop I open a session with login information for Apple developers:

# 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.

I’ll join the instance of the EC2 Mac, which I just started. Then I download and install 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 - Install Xcode

What to know
For development purposes, select EBS volume with at least 200 GB. The default volume of 100 GB is not enough to install Xcode. I usually choose 500 GB. When you start the instance, you increase the size of the EBS volume, be sure to change the size of the APFS file system.

Alternatively, you can decide to install your development tools and framework on the local 2 TB SSD Drive available in Mac Mini. Pay attention that the content of this volume is tied to the life cycle of an instance, not to a reserved host. This means that everything will be erased from the internal SSD storage when stopping and restarting the instance.

Themac-m4.metal and mac-m4pro.metal MacOS sequoia supports 15.6 and later.

You can migrate your existing EC2 Mac instance when a migrated instance starts MacOS 15 (Sequoia). Create your own Ami from your existing instance and run an instance of M4 or M4 for from this Ami.

Finally, I recommend checking the tutorials I wrote to help you start with the Amazon EC2 Mac:

Prices and availability
The EC2 M4 and M4 instances for Mac are currently available on US East (N. Virginia) and US West (Oregon), with other regions scheduled for the future.

The Amazon EC2 Mac instance is available to buy as reserved hosts through prices on request and savings. The EC2 Mac Instance Instance Instance is a minimum allocation time per second to comply with the Apple MacOS license agreement. At the end of the 24 -hour minimum allocation period, the host can be issued at any time without further commitment

As someone who works closely with Apple developers, I wonder how you use these new instances to speed up your development cycles. Combinations of increased performance, increased memory capacity and integration with AWS Services open new options for teams creating applications for iOS, MacOS, iPados, TVOS, Watchos and Visionos platforms. In addition to application development, Apple Silicon’s neural engine, these instances make the cost -effective candidates for an inference workload for machine learning (ML). I will discuss this topic in detail on AWS Re: Invent 2025, where I will share benchmarks and proven procedures for optimizing the ML work load on EC2 Mac instances.

If you want to learn more about the EC2 M4 and M4 instances for Mac, visit the Amazon EC2 MAC instance, or see the EC2 Mac documentation. You can start using these instances today to modernize workflows for Apple on AWS.

– seb

Leave a Comment