Amazon EC2 Mac instances - Amazon Elastic Compute Cloud

Amazon EC2 Mac instances

Amazon EC2 Mac instances natively support the macOS operating system.

  • EC2 x86 Mac instances (mac1.metal) are built on 2018 Mac mini hardware powered by 3.2 GHz Intel eighth-generation (Coffee Lake) Core i7 processors.

  • EC2 M1 Mac instances (mac2.metal) are built on 2020 Mac mini hardware powered by Apple silicon M1 processors.

  • EC2 M2 Mac instances (mac2-m2.metal) are built on 2023 Mac mini hardware powered by Apple silicon M2 processors.

  • EC2 M2 Pro Mac instances (mac2-m2pro.metal) are built on 2023 Mac mini hardware powered by Apple silicon M2 Pro processors.

EC2 Mac instances are ideal for developing, building, testing, and signing applications for Apple platforms, such as iPhone, iPad, Mac, Vision Pro, Apple Watch, Apple TV, and Safari. You can connect to your Mac instance using SSH or Apple Remote Desktop (ARD).

Note

The unit of billing is the dedicated host. The instances running on that host have no additional charge.

Considerations

The following considerations apply to Mac instances:

  • Mac instances are available only as bare metal instances on Dedicated Hosts, with a minimum allocation period of 24 hours before you can release the Dedicated Host. You can launch one Mac instance per Dedicated Host. You can share the Dedicated Host with the AWS accounts or organizational units within your AWS organization, or the entire AWS organization.

  • Mac instances are available in different AWS Regions. For a list of Mac instance availability in each of the AWS Regions, see Amazon EC2 instance types by Region.

  • Mac instances are available only as On-Demand Instances. They are not available as Spot Instances or Reserved Instances. You can save money on Mac instances by purchasing a Savings Plan.

  • Mac instances can run one of the following operating systems:

    • macOS Mojave (version 10.14) (x86 Mac instances only)

    • macOS Catalina (version 10.15) (x86 Mac instances only)

    • macOS Big Sur (version 11) (x86 and M1 Mac instances)

    • macOS Monterey (version 12) (x86 and M1 Mac instances)

    • macOS Ventura (version 13) (all Mac instances, M2 and M2 Pro Mac instances support macOS Ventura version 13.2 or later)

    • macOS Sonoma (version 14) (all Mac instances)

  • EBS hotplug is supported.

  • AWS does not manage or support the internal SSD on the Apple hardware. We strongly recommend that you use Amazon EBS volumes instead. EBS volumes provide the same elasticity, availability, and durability benefits on Mac instances as they do on any other EC2 instance.

  • We recommend using General Purpose SSD (gp2 and gp3) and Provisioned IOPS SSD (io1 and io2) with Mac instances for optimal EBS performance.

  • Mac instances support Amazon EC2 Auto Scaling.

  • On x86 Mac instances, automatic software updates are disabled. We recommend that you apply updates and test them on your instance before you put the instance into production. For more information, see Update the operating system and software on Mac instances.

  • When you stop or terminate a Mac instance, a scrubbing workflow is performed on the Dedicated Host. For more information, see Stop and terminate your Mac instance.

Warning

Do not use FileVault. Enabling FileVault will result in the host failing to boot due to the partitions being locked. If data encryption is required, use Amazon EBS encryption to avoid boot issues and performance impact. With Amazon EBS encryption, encryption operations occur on the servers that host instances, ensuring the security of both data-at-rest and data-in-transit between an instance and its attached EBS storage. For more information, see Amazon EBS encryption in the Amazon EBS User Guide

Instance readiness

After you launch a Mac instance, you'll need to wait until the instance is ready before you can connect to it. For an AWS vended AMI with a x86 Mac instance or a Apple silicon Mac instance, the launch time can range from approximately 6 minutes to 20 minutes. Depending on the chosen Amazon EBS volume sizes, the inclusion of additional scripts to user data, or additional loaded software on a custom macOS AMI, the launch time might increase.

You can use a small shell script, like the one below, to poll the describe-instance-status API to know when the instance is ready to be connected to. In the following command, replace the example instance ID with your own.

for i in $(seq 1 200); do aws ec2 describe-instance-status --instance-ids=i-0123456789example \ --query='InstanceStatuses[0].InstanceStatus.Status'; sleep 5; done;

EC2 macOS AMIs

Amazon EC2 macOS is designed to provide a stable, secure, and high-performance environment for developer workloads running on Amazon EC2 Mac instances. EC2 macOS AMIs includes packages that enable easy integration with AWS, such as launch configuration tools and popular AWS libraries and tools.

For more information about EC2 macOS AMIs, see Amazon EC2 macOS AMIs release notes.

AWS provides updated EC2 macOS AMIs on a regular basis that include updates to packages owned by AWS and the latest fully-tested macOS version. Additionally, AWS provides updated AMIs with the latest minor version updates or major version updates as soon as they can be fully tested and vetted. If you do not need to preserve data or customizations to your Mac instances, you can get the latest updates by launching a new instance using the current AMI and then terminating the previous instance. Otherwise, you can choose which updates to apply to your Mac instances.

For information about how to subscribe to macOS AMI notifications, see Subscribe to macOS AMI notifications.

EC2 macOS Init

EC2 macOS Init is used to initialize EC2 Mac instances at launch. It uses priority groups to run logical groups of tasks at the same time.

The launchd plist file is /Library/LaunchDaemons/com.amazon.ec2.macos-init.plist. The files for EC2 macOS Init are located in /usr/local/aws/ec2-macos-init.

For more information, see https://github.com/aws/ec2-macos-init.

Amazon EC2 System Monitor for macOS

Amazon EC2 System Monitor for macOS provides CPU utilization metrics to Amazon CloudWatch. It sends these metrics to CloudWatch over a custom serial device in 1-minute periods. You can enable or disable this agent as follows. It is enabled by default.

sudo setup-ec2monitoring [enable | disable]
Note

Amazon EC2 System Monitor for macOS is not currently supported on Apple silicon Mac instances.

For information about pricing, see Pricing.

For more information about Mac instances, see Amazon EC2 Mac Instances.

For more information about hardware specifications and network performance of Mac instances, see General purpose instances.