Amazon Web Services ブログ

新登場 – Amazon EC2 Mac インスタンスを使用した macOS、iOS、ipadOS、tvOS、watchOS アプリの構築とテスト

私は、これまでのキャリア全体を通じて、新しいハードウェアとソフトウェアの状況をしっかりと把握しておくことに全力を注いできました。10 代のころは Altair 8800Apple II を持っていました。大学の 1 年目、誰かが「モデムでここに電話して」と言って私に電話番号をくれました。 電話をしてみると、相手は「PENTAGON TIP」と答え、ARPANET にアクセスできました!

私は、興味津々で躍進する PC 業界を追い掛け、ByteInfoWorld、そして廃刊されて久しいその他の雑誌の新刊が出るたびに貪るように読みました。1983 年の始め、Apple Computer が手頃な価格で購入できるコンパクトで自己内蔵型、かつ非常に使いやすい新しいシステムを近々発売するといううわさが流れました。1984 年の 1 月にスティーブ・ジョブズが Macintosh を発表すると、私が勤めていた会社はすぐさま Macintosh 数台をクロス開発ホストとして使用された Apple Lisa システム一組と共に注文しました。デベロッパーとして、私は Mac の豊富な組み込み API とサービスに魅了され、分厚い電話帳のような Inside Macintosh ドキュメントは今でも私の宝物です!

新しい Mac インスタンス
この数年間、AWS のユーザーから Amazon Elastic Compute Cloud (EC2) で macOS を実行したいという希望が寄せられていました。これらのユーザーのニーズをより良く理解するために沢山の質問を投げかけてきましたが、本日、待ちに待った新しい Mac インスタンスをご紹介したいと思います!

初代の (128 KB) Mac

Mac mini ハードウェアと AWS Nitro System を搭載した Amazon EC2 Mac インスタンスは、macOS、iOS、iPadOS、tvOS、watchOS、および Safari などの Apple プラットフォーム向けの Xcode アプリケーションの構築、テスト、パッケージ化、および署名に使用できます。このインスタンスは、3.2 GHz (Turbo Boost 使用時は最大 4.6 GHz) で動作する 6 コアの第 8 世代 Intel Core i7 (Coffee Lake) プロセッサを使用しています。メモリは 32 GiB で、Amazon Elastic Block Store (EBS)Amazon Elastic File System (EFS)Amazon FSx for Windows ファイルサーバーAmazon Simple Storage Service (S3)AWS Systems Manager などの AWS のその他サービスにアクセスできます。

ネットワークについては、このインスタンスは Virtual Private Cloud (VPC) で実行され、スループットが最大 10 Gbps の ENA ネットワーキングが含まれます。EBS 最適化、そして最大 55,000 IOPS (16 KB のブロックサイズ) と 8 Gbps のデータ転送スループットを実現する能力により、インスタンスにアタッチされた EBS ボリュームは、I/O 集約型のビルド操作をサポートするために必要なパフォーマンスを提供できます。

Mac インスタンスは macOS 10.14 (Mojave) と 10.15 (Catalina) を実行し、コマンドライン (SSH) またはリモートデスクトップ (VNC) 経由でアクセスできます。EC2 Mac インスタンス向けの AMI (Amazon マシンイメージ) は EC2 最適化されており、他の AWS AMI にある ENA ドライバーAWS コマンドラインインターフェイス (CLI)CloudWatch エージェントCloudFormation ヘルパースクリプトAWS Systems Manager のサポート、および ec2-user アカウントなどの AWS の便利アイテムが含まれています。これらの AMI はそのまま使用することも、独自のパッケージをインストールしてカスタム AMI を作成することもできます (homebrew-aws リポジトリには、追加のパッケージと、カスタム AMI の作成方法に関するドキュメントが提供されています)。

これらのインスタンスは、先ほどお話した Apple 環境のすべてを対象とするビルドファーム、レンダーファーム、および CI/CD ファームの作成に使用できます。新しいインスタンスは数分でプロビジョニングできるので、独自のハードウェアを所有して運用する必要なく、複数のターゲットに対してコードを迅速かつコスト効率よく構築することが可能になります。課金されるのは使用分の料金のみで、EC2 が提供する伸縮性、スケーラビリティ、セキュリティ、および信頼性を活かすことができます。

EC2 Mac インスタンスの活用例
今回も、インスタンスの全機能をテストするために、インスタンスへのアクセスを EC2 チームに依頼しました。インスタンスは専有ホストとして利用できるので、ホストを割り当てることから始めました。

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

次に、コマンドラインを使って Mac インスタンスを起動しました (コンソール、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

ルナを短い散歩に連れ出して戻ってくると、インスタンスの使用準備が整っていたので、コンソールを使ってこのインスタンスにふさわしい名前を付けました。

その後、インスタンスに接続しました。

ここから、開発ツールをインストールし、インスタンスにコードをクローンして、ビルドを開始できます。

インスタンスで VNC サーバーを起動し、VNC クライアントを使ってインスタンスに接続することも可能です。

VNC プロトコルは安全だと見なされないため、この機能は慎重に使用される必要があることに注意してください。今回は、私のデスクトップの IP アドレスからのアクセスだけを許可するセキュリティグループを使用しました。

SSH 経由で VNC トラフィックをトンネリングすることも可能です。この方法はより安全であり、ポート 5900 を開く必要がなくなります。

知っておくべきこと
以下は、Mac インスタンスのキーポイント情報です。

AMI の更新 – AWS では、Apple がサポート対象の各 OS のメジャーまたはマイナーバージョンをリリースするたびに、新しい AMI を公開する予定です。また、更新された Amazon パッケージが含まれる AMI を四半期ごとに作成することも計画しています。

専有ホスト – インスタンスは最小テナンシーが 24 時間の EC2 専有ホストとして起動されます。これは概ね明らかだと思いますが、インスタンスを Auto Scaling グループの一部として使用できないことを意味します。

購入モデル – Mac インスタンスはオンデマンドで実行でき、Savings Plan を購入することも可能です。

Apple M1 チップApple M1 チップ搭載の EC2 Mac インスタンスはすでに作成中で、2021 年に提供される予定です。

今すぐインスタンスを起動しましょう
Mac インスタンスは、本日から米国東部 (バージニア北部)米国東部 (オハイオ)米国西部 (オレゴン)欧州 (アイルランド)、およびアジアパシフィック (シンガポール) の各リージョンで利用を開始していただけます。詳細については、この動画をご覧ください!

Jeff;