by Sébastien Stormacq — September 12, 2025 · Amazon EC2 Mac Instances · Launch · News · Permalink · Comments
Permalink Comments Share · Voiced by Polly
I have used macOS since 2001 and Amazon EC2 Mac instances since they launched four years ago. In that time I have helped many customers scale their continuous integration and continuous delivery (CI/CD) pipelines on AWS. Today I’m thrilled to share that the M4 and M4 Pro Mac instances are now generally available.
Teams that build for Apple platforms need powerful compute to handle complex build pipelines and run multiple iOS simulators simultaneously. As projects grow in size and sophistication, they need more performance and memory to keep their development cycles fast.
EC2 M4 Mac instances (mac-m4.metal in the API) are based on the Apple M4 Mac mini and run on the AWS Nitro System. They include an Apple silicon M4 with a 10-core CPU (four performance cores and six efficiency cores), a 10-core GPU, a 16-core Neural Engine, and 24 GB of unified memory, delivering up to 20% faster iOS and macOS build performance than EC2 M2 Mac instances.
EC2 M4 Pro Mac instances (mac-m4pro.metal) use the Apple silicon M4 Pro with a 14-core CPU, 20-core GPU, 16-core Neural Engine, and 48 GB of unified memory. They deliver up to 15% faster build times compared to EC2 M2 Pro Mac instances, and the additional memory and compute let you run more parallel test suites across multiple simulators.
Each M4 and M4 Pro Mac instance now ships with 2 TB of local NVMe storage, providing low-latency storage to boost caching plus build-and-test performance.
Both instance types support macOS Sonoma 15.6 and later as Amazon Machine Images (AMIs). AWS Nitro provides up to 10 Gbps of Amazon VPC network bandwidth and up to 8 Gbps of Amazon EBS bandwidth via high-speed Thunderbolt connections.
EC2 Mac instances integrate with the rest of AWS, so you can:
Launch an EC2 M4 or M4 Pro Mac instance with the AWS Management Console, the AWS Command Line Interface (AWS CLI), or an AWS SDK.
In this walkthrough I start an M4 Pro instance from the console. First I allocate a dedicated host. In the AWS Management Console, I open EC2, choose Dedicated Hosts, and select Allocate Dedicated Host.
Next I add a tag, select the instance family mac-m4pro, and pick the mac-m4pro.metal instance type. I choose an Availability Zone and clear Host maintenance.
The console also shows the most recent macOS versions supported on this host family—in this case macOS 15.6.
On the Launch an instance page I enter a name, pick a macOS Sequoia AMI, make sure the architecture is 64-bit Arm, and select the mac-m4pro.metal instance type.
The remaining parameters are the usual EC2 settings for networking and storage. For development you should provision at least 200 GB; the default 100-GB volume is not enough to download and install Xcode.
When I’m ready, I choose the orange Launch instance button. The instance quickly appears in the Running state, although it can take up to 15 minutes before SSH becomes available.
You can also use the CLI:
aws ec2 run-instances \
--image-id "ami-000420887c24e4ac8" \ # AMI ID varies by Region
--instance-type "mac-m4pro.metal" \
--key-name "my-ssh-key-name" \
--network-interfaces '{"AssociatePublicIpAddress":true,"DeviceIndex":0,"Groups":["sg-0c2f1a3e01b84f3a3"]}' \ # use your security group
--tag-specifications '{"ResourceType":"instance","Tags":[{"Key":"Name","Value":"My Dev Server"}]}' \
--placement '{"HostId":"h-0e984064522b4b60b","Tenancy":"host"}' \ # supply your host ID
--private-dns-name-options '{"HostnameType":"ip-name","EnableResourceNameDnsARecord":true,"EnableResourceNameDnsAAAARecord":false}' \
--count 1
After the instance becomes reachable, connect via SSH and install your development tooling. I use xcodeinstall to download and install Xcode 16.4.
From my laptop I start a session that has permission to read AWS Secrets Manager and authenticate with the Apple Developer portal:
xcodeinstall authenticate -s eu-central-1
Retrieving Apple Developer Portal credentials...
Authenticating...
🔐 Two-factor authentication is enabled, enter your 2FA code: 067785
✅ Authenticated with MFA.
Then I connect to the EC2 Mac instance I just launched and download/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
brew tap sebsto/macos
brew install xcodeinstall
xcodeinstall download -s eu-central-1 -f -n "Xcode 16.4.xip"
xcodeinstall install -n "Xcode 16.4.xip"
sudo xcodebuild -license accept
mac-m4.metal and mac-m4pro.metal instance types support macOS Sequoia 15.6 and later.Finally, here are three guides I wrote to help you get started with EC2 Mac:
EC2 M4 and M4 Pro Mac instances are available in US East (N. Virginia) and US West (Oregon) today, with additional Regions to follow.
You purchase EC2 Mac instances as Dedicated Hosts with On-Demand pricing or Savings Plans. Billing is per second with a 24-hour allocation minimum, in accordance with Apple’s macOS Software License Agreement. After the 24-hour minimum you can release the host at any time with no further commitment.
As someone who works closely with Apple developers, I can’t wait to see how you use these new instances to accelerate your build cycles. The combination of higher performance, more memory, and deep AWS integration unlocks fresh possibilities for iOS, macOS, iPadOS, tvOS, watchOS, and visionOS teams. Beyond app development, the Apple Neural Engine makes these instances an efficient option for machine learning (ML) inference workloads. I will cover this topic in more detail at AWS re:Invent 2025, where I’ll share benchmarks and best practices for running ML inference on EC2 Mac.