Блог Amazon Web Services

Новость – Amazon EC2 Mac инстансы для компиляции и тестирования macOS, iOS, ipadOS, tvOS, и watchOS приложений

 

На протяжении моей карьеры, я делал всё от меня зависящее, чтобы быть в курсе всех новинок – как со стороны программноо обеспечения, так и со стороны «железа». Когда я был подростком, у меня был Altair 8800 и Apple II. На первом курсе колледжа кто-то дал мне номер телефона и сказал «набери этот номер со своего модема». И я набрал, ответом мне было “PENTAGON TIP,” так я получил доступ к ARPANET!

Я с удовольствием наблюдал за развитием индустрии комьютеров, с упоением читая каждый выпуск ByteInfoWorld, и других изданий, которые уже давно канули в Лету. В начале 1983 прошёл слух, что компания Apple Computer собирается запустить новую компьютерную систему – дешевую, компактную, автономную и простую в использовании. SteveJobs представил Macintosh в январе 1984 и мой работодатель тут же заказал несколько, вместе с парочкой систем Apple Lisa, которые использовались как станции для разработки. Меня самого, как разработчика, привлекла богатая коллекция встроенных API и сервисов, доступных в Mac. И я до сих пор дорожу своей бумажной копией документации Inside Macintosh (“phone book edition” – выпущенной издателем телефонных справочников Lakeside Press)!

 

Новый тип инстансов MAC

На протяжении последних нескольких лет, пользователи AWS говорили нам, что хотят запускать macOS на Amazon Elastic Compute Cloud (EC2). Мы, в свою очередь, задавали много вопросов в ответ, чтобы лучше узнать потребности наших клиентов. И сегодня, я рад представить новый тип инстансов – Mac!

Первый (128KB) Mac

Вы можете использовать инстансы Amazon EC2 Mac, работающие на Mac mini и AWS Nitro System, для копиляции, тестирования, сборки и подписывания Xcode-приложений для платформы Apple (macOS, iOS, iPadOS, tvOS, watchOS, и Safari). Инстансы основаны на 8 поколении 6-ядерных процессоров Intel Core i7 (Coffee Lake) с частотой 3.2 GHz, с Turbo Boost разгоном до 4.6 GHz. Инстанс содержит 32 GiB памяти  и имеет доступ к другим AWS сервисам, таким как: Amazon Elastic Block Store (EBS)Amazon Elastic File System (EFS)Amazon FSx for Windows File ServerAmazon Simple Storage Service (S3)AWS Systems Manager, и другим.

С точки зрения сетевой инфраструктуры, инстансы работают в Virtual Private Cloud (VPC) и включают ENA интерфейс с пропускной способностью до 10 Gbps. С функцией EBS-оптимизации, и возможностью достигать до 55,000 IOPS (16KB block size) и 8 Gbps пропускной способности для передачи данных, EBS тома, подключённые к инстансу могут предоставить достаточный уровень производительности, необходимый для компиляции и сборки кода, которой обычно требуется множество I/O-операций.

Mac инстансы поставляются с OS на выбор: macOS 10.14 (Mojave) и 10.15 (Catalina). К ним можно получить доступ из командной строки (SSH) или через протокол удалённого доступа (VNC). Образы AMI (Amazon Machine Images) для EC2 Mac инстансов оптимизированы для EC2, и включают AWS утилиты, с которыми вы уже привыкли работать в других AWS AMI: ENA driver, AWS Command Line Interface (CLI), CloudWatch AgentCloudFormation Helper Scripts, поддержка AWS Systems Manager, и наличие учетной записи ec2-user. Вы можете использовать предоставленные AMIs «как-есть», или вы можете установить ваши собственные пакеты и собрать пользовательский образ AMI (репозиторий homebrew-aws содержит дополнительные пакеты и документацию с описанием как это сделать).

Вы можете использовать новый тип Mac инстансов для создания ферм для сборки программного обеспечения, ферм рендеринга и CI/CD ферм, которые используют все перечисленные ранее окружения Apple платформы. Вы можете запустить новый инстанс за минуты, что даёт вам возможность быстро и эффективно компилировать ваши приложения для разных целевых окружений, без необходимости покупать и управлять вашим оборудованием вручную. Вы платите только за факт потребления ресурсов, и получаете все преимущества EC2 – эластичность, масштабируемость, безопасность и отказоустойчивость.

EC2 Mac инстансы в действии

Как обычно, я попросил команду EC2 предоставить мне доступ к инстансу с целью познакомиться с ним поближе. Инстансы доступны в качестве Выделенного хостинга (Dedicated Host), поэтому я начал с создания хоста:

$ aws ec2 allocate-hosts --instance-type mac1.metal \
  --availability-zone us-east-1a --auto-placement on \
  --quantity 1 --region us-east-1

Затем, я запустил мой Mac инстанс из интерфейса командной строки (так же это можно проделать с помощью AWS консоли, API, и CloudFormation):

$ aws ec2 run-instances --region us-east-1 \
  --instance-type mac1.metal \
  --image-id  ami-023f74f1accd0b25b \
  --key-name keys-jbarr-us-east  --associate-public-ip-address

Я немного прогулялся, и, по возвращении, мой инстанс уже был готов к работе. Через AWS консоль я указал подходящее имя:

И, наконец, подключился к моему инстансу:

Далее я могу установить мой инструментарий разработчика, клонировать код на инстанс, и запустить сборку моих приложений.

Также, я могу запустить сервер VNC на инстансе и подключиться к нему с помощью VNC клиента:

Обратите внимание, что протокол VNC не считается безопасным, поэтому используйте его осмотрительно. Я настроил группу безопасности, разрешающую доступ только c IP моей рабочей станции:

Для большей безопасности, я могу настроить туннелирование VNC поверх SSH; тогда не понадобится открывать порт 5900.

Что нужно знать

Краткие сведения о Mac инстансах:

Обновления AMI – мы планируем выпускать новые образы AMI при каждом обновлении основной (major) или дополнительной (minor) версии каждой поддерживаемой Apple OS. Обновления образов AMI для включения последних версий Amazon пакетов планируется на ежеквартальной основе.

Выделенный хостинг – инстансы запускаются в режиме Выделенного хостинга EC2  с минимальным сроком аренды 24 часа. В основном, это прозрачно для пользователей, но при этом означает, что этот тип инстансов не может быть использован в Auto Scaling Group.

Модель покупки – вы можете запускать Mac инстансы в режиме «по требованию» (On-demand), также вы можете купить их по тарифам Savings Plan.

Apple M1 Chip – EC2 Mac инстансы с поддержкой Apple M1 chip уже в разработке и планируются в 2021 году.

Попробуйте уже сегодня

Вы можете начать использование Mac инстансов в регионах US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), и Asia Pacific (Singapore) прямо сейчас, посмотрите это видео для дополнительной информации!

— Jeff;