亚马逊AWS官方博客

全新 – Amazon EC2 M1 Mac 实例

去年,在 re: Invent 2021 大会期间,我写了一篇博客文章,宣布推出 EC2 M1 Mac 实例的预览版。我知道你们当中许多人请求访问预览版,我们尽了最大努力,却无法让所有人满意。不过,大家现在已经无需等待了。我很高兴地宣布 EC2 M1 Mac 实例正式上市。

EC2 Mac 实例是通过 Thunderbolt 连接到 AWS Nitro System 的专用 Mac mini 计算机,使 Mac mini 计算机可以像另一个 EC2 实例一般出现和运行。它连接到您的 Amazon Virtual Private Cloud (Amazon VPC),从 Amazon Elastic Block Store (EBS) 卷启动,并使用 EBS 快照、Amazon 机器映像(AMI)、安全组和其他 AWS 服务,例如 Amazon CloudWatchAWS Systems Manager

借助 EC2 M1 Mac 实例的高可用性,您可以访问围绕 Apple 设计的 M1 系统级芯片(SoC)构建的计算机。如果您是 Mac 开发人员,并且正在重新架构应用程序以原生支持使用 Apple 芯片的 Mac,那么现在您可以构建和测试自己的应用程序,并充分利用 AWS 的所有优势。为 iPhone、iPad、Apple Watch 和 Apple TV 构建应用程序的开发人员也将从中受益,得以加快构建速度。与适用于 iPhone 和 Mac 应用程序构建工作负载、基于 x86 的 EC2 Mac 实例相比,EC2 M1 Mac 实例的性价比提高了 60%。

例如,我测试了在我编写的示例项目上清理、构建、存档和运行单元测试所需的时间。新的 EC2 M1 Mac 实例平均可在 49 秒内完成这一组任务。这比在上一代 EC2 Mac 实例上运行的同一组任务快了 47.8%。

要了解如何从 AWS 管理控制台AWS Command Line Interface (CLI) 启动 EC2 M1 Mac 实例,请阅读我上一篇关于该主题的博客文章

EC2 Mac M1 实例

在推出预览版的六个月里,我们收集了您的反馈,并根据您的需求对服务进行了微调。

我们在文档中添加了新的常见问题解答部分,以帮助您开始使用 EC2 M1 Mac 实例。我们的所有 macOS AMI 都预装了用于管理和可观察性的座席,例如 Systems ManagerCloudWatch ,以及 AWS Command Line Interface (CLI) AWS SDK 等工具。EC2 M1 Mac 实例可与其他 AWS 服务集成,例如用于文件存储的 Amazon Elastic File System (Amazon EFS)AWS Auto ScalingAWS Secrets Manager

例如,我使用 Secrets Manager 来安全地存储我的构建密钥,例如在 App Store 上分发之前用于签署我的二进制文件的签名密钥和证书。在我的笔记本电脑上,我首先确保从 macOS 钥匙串中导出证书。然后,我使用以下命令将我的证书上传到 Secrets Manager

aws secretsmanager create-secret            \
       --name apple-signing-dev-certificate \
       --secret-binary fileb://./secrets/apple_dev_seb.p12 

在 EC2 M1 Mac 实例上,为了在构建阶段之前准备我的实例,我下载证书,对其进行解码(采用 base64 编码),然后将其存储在 EC2 M1 Mac 实例钥匙串中,代码设计工具将在构建过程中找到它。

# 从Secrets Manager 下载证书
SIGNING_DEV_KEY=$($aws secretsmanager get-secret-value  \
      --secret-id apple-signing-dev-certificate         \
      —query SecretBinary —输出文本)
	  

# 将证书另存为文件
echo $SIGNING_DEV_KEY | base64 -d > seb_dev_certificate.p12

# 在钥匙串中导入证书 
安全导入 seb_dev_certificate.p12\
                -P “my_cert_password”   \
                -k my.dev.keychain      \
                -T /usr/bin/security -T /usr/bin/codesign -T /usr/bin/xcodebuild

# 从磁盘中删除证书
rm seb_dev_certificate.p12

还有一些配置步骤可以从 macOS 命令行获取代码签名工作。您可以查看我做的这个演示文稿我的代码存储库了解详情。

我们正在准备一些活动,以帮助您了解有关 EC2 M1 Mac 实例使用案例和配置的更多信息。首先,我们最近举办了在线网络研讨会,以了解如何利用 EC2 Mac 实例进行 iOS 开发免费注册后,内容可供您按需使用。其次,我们正在筹备今年晚些时候召开的一个为期一天的面对面开发者大会。会议议程将包含技术内容和研讨会。请继续关注社交媒体,以了解更多信息。

最后但同样重要,但与 EC2 Mac 实例无关的一个消息是,苹果 WWDC 2022大会于上个月,于 2022 年 6 月 6 日至 8 日举行,内容已在线上提供。这是了解更多有关 Apple 系统开发的绝佳机会。

现在就去构建吧 ;-)

– seb