|
Como alguien que ha estado usando MacOS desde 2001 y Amazon EC2 Mac instancias desde su lanzamiento hace 4 años, he ayudado a numerosos clientes a escalar sus tuberías continuas de integración y entrega (CI/CD) en AWS. Hoy, estoy emocionado de compartir que las instancias de Amazon EC2 M4 y M4 Pro ahora están generalmente disponibles.
Los equipos de desarrollo que construyen aplicaciones para plataformas Apple necesitan poderosos recursos informáticos para manejar procesos de construcción complejos y ejecutar múltiples simuladores de iOS simultáneamente. A medida que los proyectos de desarrollo se crecen y más sofisticados, los equipos requieren una mayor capacidad de rendimiento y memoria para mantener los rápidos ciclos de desarrollo.
Apple M4 Mac Mini en el núcleo
Instancias de EC2 M4 Mac (conocidas como mac-m4.metal
en la API) se basan en Apple M4 Mac Mini computadoras y se basan en el sistema AWS Nitro. Cuentan con chips Apple Silicon M4 con CPU de 10 núcleos (cuatro núcleos de rendimiento y seis núcleos de eficiencia), GPU de 10 núcleos, motor neuronal de 16 núcleos y memoria unificada de 24 GB, ofreciendo un rendimiento mejorado para las cargas de trabajo de compilación de aplicaciones iOS y MacOS. Al construir y probar aplicaciones, las instancias M4 MAC ofrecen un rendimiento de compilación de aplicaciones hasta un 20 por ciento mejor en comparación con las instancias de EC2 M2 MAC.
EC2 M4 Pro Mac (mac-m4pro.metal
En la API), las instancias están alimentadas por Chips Apple Silicon M4 Pro con CPU de 14 núcleos, GPU de 20 núcleos, motor neuronal de 16 núcleos y memoria unificada de 48 GB. Estas instancias ofrecen un rendimiento de compilación de aplicaciones hasta un 15 por ciento mejor en comparación con las instancias de EC2 M2 Pro Mac. El aumento de la memoria y la potencia informática permiten ejecutar más pruebas en paralelo utilizando múltiples simuladores de dispositivos.
Cada instancia M4 y M4 Pro Mac ahora viene con 2 TB de almacenamiento local, proporcionando almacenamiento de baja latencia para mejorar el almacenamiento en caché y el rendimiento de compilación y prueba.
Ambos tipos de instancias admiten MacOS Sonoma versión 15.6 y más tarde como Amazon Machine Images (AMIS). El sistema AWS Nitro proporciona hasta 10 Gbps de ancho de banda de red de Amazon Virtual Private Cloud (Amazon VPC) y 8 Gbps de ancho de banda de almacenamiento de Amazon Elastic Block Store (Amazon EBS) a través de conexiones de rumbo de alta velocidad.
Las instancias de Amazon EC2 Mac se integran sin problemas con los servicios de AWS, lo que significa que puede:
Déjame mostrarte cómo empezar
Puede iniciar instancias EC2 M4 o M4 Pro Mac a través de la consola de administración de AWS, la interfaz de línea de comandos AWS (AWS CLI) o AWS SDKS.
Para esta demostración, comencemos una instancia M4 Pro desde la consola. Primero asigno un anfitrión dedicado para ejecutar mis instancias. En la consola de administración de AWS, navego a EC2, luego Anfitriones dedicadosy selecciono Asignar anfitrión dedicado.
Entonces, entro en un Etiqueta de nombre y selecciono el Familia de instancias (mac-m4pro
) y un Tipo de instancia (mac-m4pro.metal
). Elijo uno Zona de disponibilidad y lío Mantenimiento del host.
Alternativamente, puedo usar la interfaz de línea de comandos:
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"
Después de que el host dedicado se asigna a mi cuenta, selecciono el host que acabo de asignar, luego selecciono el Comportamiento menú y elija Iniciar instancias en el host.
Observe que la consola le brinda, entre otra información, el Últimas versiones de macOS compatibles para este tipo de host. En este caso, es MacOS 15.6.
En la página de Iniciar una instancia, ingreso un Nombre. Selecciono un MacOS Sequoia Imagen de Amazon Machine (AMI). Me aseguro de que el Arquitectura es un brazo de 64 bits y el Tipo de instancia es mac-m4pro.metal
.
El resto de los parámetros no son específicos de Amazon EC2 Mac: la red y la configuración de almacenamiento. Al comenzar una instancia para el uso del desarrollo, asegúrese de seleccionar un volumen con un mínimo de 200 GB o más. El tamaño de volumen predeterminado de 100 GB no es suficiente para descargar e instalar Xcode.
Cuando está listo, selecciono el Instancia de lanzamiento botón naranja en la parte inferior de la página. La instancia aparecerá rápidamente como Correr en la consola. Sin embargo, puede tomar hasta 15 minutos para permitirle conectarse a través de SSH.
Alternativamente, puedo usar este comando:
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"
Instalar Xcode desde el terminal
Una vez accesible la instancia, puedo conectarme usando SSH e instalar mis herramientas de desarrollo. Yo uso XcodeInstall para descargar e instalar Xcode 16.4.
Desde mi computadora portátil, abro una sesión con mis credenciales de desarrollador de Apple:
# 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.
Me conecto a la instancia de EC2 Mac que acabo de lanzar. Luego, descargo e instalo Xcode:
» ssh [email protected]
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 ~ %
Cosas que saber
Seleccione un volumen EBS con 200 GB mínimo para fines de desarrollo. El tamaño de volumen predeterminado de 100 GB no es suficiente para instalar Xcode. Suele seleccionar 500 GB. Cuando aumente el tamaño del volumen EBS después del lanzamiento de la instancia, recuerde cambiar el tamaño del sistema de archivos APFS.
Alternativamente, puede optar por instalar sus herramientas de desarrollo y marco en la unidad SSD Local 2 TB de baja latencia disponible en Mac Mini. Preste atención a que el contenido de ese volumen está vinculado al ciclo de vida de instancia, no al host dedicado. Esto significa que todo se eliminará del almacenamiento SSD interno cuando se detenga y reinicie la instancia.
Elmac-m4.metal
y mac-m4pro.metal
Las instancias admiten MacOS Sequoia 15.6 y posterior.
Puede migrar sus instancias EC2 MAC existentes cuando la instancia migrada ejecuta MacOS 15 (Sequoia). Cree un AMI personalizado a partir de su instancia existente e inicie una instancia M4 o M4 Pro a partir de este AMI.
Finalmente, sugiero que revise los tutoriales que escribí para ayudarlo a comenzar con Amazon EC2 Mac:
Precios y disponibilidad
Las instancias EC2 M4 y M4 Pro Mac están actualmente disponibles en US East (N. Virginia) y US West (Oregon), con regiones adicionales planificadas para el futuro.
Las instancias de Amazon EC2 Mac están disponibles para su compra como hosts dedicados a través de los modelos de precios de planes de ahorro y de ahorro. La facturación por instancias de EC2 Mac es por segundo con un período de asignación mínimo de 24 horas para cumplir con el Acuerdo de Licencia de Software Apple MacOS. Al final del período de asignación mínima de 24 horas, el anfitrión se puede liberar en cualquier momento sin más compromiso
Como alguien que trabaja en estrecha colaboración con los desarrolladores de Apple, tengo curiosidad por ver cómo usará estas nuevas instancias para acelerar sus ciclos de desarrollo. La combinación de mayor rendimiento, capacidad de memoria mejorada e integración con los servicios de AWS abre nuevas posibilidades para los equipos que crean aplicaciones para iOS, macOS, iPados, TVOS, WatchOS y VisionOS. Más allá del desarrollo de aplicaciones, el motor neuronal de Apple Silicon hace que estas instancias sean candidatos rentables para ejecutar cargas de trabajo de inferencia de aprendizaje automático (ML). Discutiré este tema en detalle en AWS Re: Invent 2025, donde compartiré puntos de referencia y las mejores prácticas para optimizar las cargas de trabajo de ML en las instancias de EC2 Mac.
Para obtener más información sobre las instancias EC2 M4 y M4 Pro Mac, visite la página de instancias de Amazon EC2 Mac o consulte la documentación de EC2 Mac. Puede comenzar a usar estas instancias hoy para modernizar sus flujos de trabajo de desarrollo de Apple en AWS.