Mac インスタンス上のオペレーティングシステムとソフトウェアの更新 - Amazon Elastic Compute Cloud

Mac インスタンス上のオペレーティングシステムとソフトウェアの更新

警告

ベータ版またはプレビュー版の macOS バージョンのインストールは、Amazon EC2 M1 Mac インスタンスでのみ可能です。Amazon EC2 は macOS のベータ版やプレビュー版をサポートしていないため、実稼働前の macOS バージョンに更新した後もインスタンスが機能し続けることは保証されません。

ベータ版またはプレビュー版の macOS バージョンを Amazon EC2 にインストールすると、インスタンスの停止または終了時に、x86 Mac インスタンスが Amazon EC2 Mac 専有ホストのパフォーマンスを低下させるため、そのホストで新しいインスタンスを開始または起動できなくなります。

x86 Mac インスタンスと Apple シリコン Mac インスタンスでソフトウェアを更新する手順

x86 Mac インスタンスでのソフトウェアの更新

x86 Mac インスタンスでは、softwareupdate コマンドを使用して、Apple からオペレーティングシステムの更新をインストールできます。

x86 Mac インスタンスで Apple からオペレーティングシステムの更新プログラムをインストールするには
  1. 次のコマンドを使用して、利用可能な更新プログラムを含むパッケージを一覧表示します。

    [ec2-user ~]$ softwareupdate --list
  2. すべての更新プログラムをインストールするか、特定の更新プログラムのみをインストールします。特定の更新プログラムをインストールするには、次のコマンドを使用します。

    [ec2-user ~]$ sudo softwareupdate --install label

    すべての更新プログラムをインストールするには、次のコマンドを使用します。

    [ec2-user ~]$ sudo softwareupdate --install --all --restart

システム管理者は、AWS Systems Manager を使用することで、事前に承認されたオペレーティングシステムの更新を x86 Mac インスタンスにロールアウトできます。詳細については、AWS Systems Manager ユーザーガイドを参照してください。

Homebrew を使用して、EC2 macOS AMI にパッケージへの更新プログラムをインストールします。これにより、インスタンスでこのパッケージの最新バージョンを使用できます。また、Homebrew を使用して Amazon EC2 macOS に共通の macOS アプリケーションをインストールして実行することもできます。詳細については、Homwbrew ドキュメントを参照してください。

Homebrew を使用して更新プログラムをインストールするには
  1. 次のコマンドを使用して Homwbrew を更新します。

    [ec2-user ~]$ brew update
  2. 次のコマンドを使用して、利用可能な更新プログラムを含むパッケージを一覧表示します。

    [ec2-user ~]$ brew outdated
  3. すべての更新プログラムをインストールするか、特定の更新プログラムのみをインストールします。特定の更新プログラムをインストールするには、次のコマンドを使用します。

    [ec2-user ~]$ brew upgrade package name

    すべての更新プログラムをインストールするには、次のコマンドを使用します。

    [ec2-user ~]$ brew upgrade

Apple Silicon Mac インスタンスでソフトウェアを更新する

考慮事項

Elastic Network Adapter (ENA) ドライバー

ネットワークドライバー設定が更新されたため、ENA ドライバーバージョン 1.0.2 は macOS 13.3 以降と互換性がありません。ベータ版、プレビュー版、または実稼働版の macOS バージョン 13.3 以降をインストールする必要があり、最新の ENA ドライバーをインストールしていない場合は、次の手順を使用して新しいバージョンのドライバーをインストールします。

ENA ドライバーの新しいバージョンをインストールするには
  1. ターミナルウィンドウで、SSH を使用して Apple Silicon Mac インスタンスに接続します。

  2. 次のコマンドを使用して、ENA Applications アプリケーションをファイルにダウンロードします。

    [ec2-user ~]$ brew install amazon-ena-ethernet-dext
    トラブルシューティングのヒント

    警告が表示されたら No available formula with the name amazon-ena-ethernet-dext、次のコマンドを実行します。

    [ec2-user ~]$ brew update
  3. exit と入力して return キーを押して、インスタンスとの接続を切断します。

  4. VNC クライアントを使用して ENA アプリケーションをアクティブ化します。

    1. インスタンスのグラフィカルユーザーインターフェイス (GUI) に接続する を使用して VNC クライアントを設定します。

    2. 画面共有アプリケーションを使用してインスタンスに接続したら、Applications フォルダーに移動して ENA アプリケーションを開きます。

    3. [Activate] を選択します。

    4. ドライバーが正しくアクティブ化されたことを確認するには、ターミナルウィンドウで次のコマンドを実行します。コマンドの出力は、古いドライバが終了状態で、新しいドライバがアクティブ状態であることを示しています。

      systemextensionsctl list;
    5. インスタンスを再起動すると、新しいドライバーのみが表示されます。

Apple Silicon Mac インスタンスでのソフトウェアの更新

Apple Silicon Mac インスタンスでは、オペレーティングシステムのインプレースアップデートを実行するために数ステップの手順を実行する必要があります。最初に、VNC (仮想ネットワークコンピューティング) クライアントで GUI を使用してインスタンスの内部ディスクにアクセスします。この手順では、組み込みの VNC クライアントである macOS 画面共有を使用します。次に、Amazon EBS ボリュームに aws-managed-user としてサインインして、管理ユーザー (ec2-user) に所有権を委任します。

この手順を進めると、2 つのパスワードが作成されます。1 つのパスワードは管理ユーザー (ec2-user) 用で、もう 1 つのパスワードは特別な管理ユーザー (aws-managed-user) 用です。これらのパスワードは手順を進めるときに使用しますので、覚えておいてください。

注記

macOS Big Sur でこの手順を実行すると、macOS Big Sur 11.7.3 から macOS Big Sur 11.7.4 へのアップデートなど、マイナーアップデートのみしか実行できません。macOS Monterey 以降では、主要なソフトウェアアップデートを実行できます。

内部ディスクにアクセスするには
  1. ローカルコンピュータのターミナルで、次のコマンドで SSH を使用して Apple Silicon Mac インスタンスに接続します。詳細については、「SSH を使用したインスタンスへの接続」を参照してください。

    ssh -i /path/key-pair-name.pem ec2-user@instance-public-dns-name
  2. 次のコマンドを使用して macOS スクリーン共有をインストールして起動します。

    [ec2-user ~]$ sudo launchctl enable system/com.apple.screensharing sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
  3. 次のコマンドを実行して、ec2-user のパスワードを設定します。パスワードは後で使用するので覚えておいてください。

    [ec2-user ~]$ sudo /usr/bin/dscl . -passwd /Users/ec2-user
  4. exit と入力して return キーを押して、インスタンスとの接続を切断します。

  5. ローカルコンピュータのターミナルで、次のコマンドを使用して VNC ポートへの SSH トンネルを使用してインスタンスに再接続します。

    ssh -i /path/key-pair-name.pem -L 5900:localhost:5900 ec2-user@instance-public-dns-name
    注記

    次の VNC 接続と GUI の手順が完了するまで、この SSH セッションを終了しないでください。インスタンスを再起動すると、接続は自動的に終了します。

  6. ローカルコンピュータから、次の手順を使用して localhost:5900 に接続します。

    1. [検索] を開いて、[移動] を選択します。

    2. [サーバーに接続] を選択します。

    3. [サーバーアドレス] フィールドに、vnc://localhost:5900 と入力します。

  7. macOS ウィンドウで、ステップ 3 で作成したパスワードを使用して、ec2-user として Apple Silicon Mac インスタンスのリモートセッションに接続します。

  8. 次のいずれかのオプションを使用して、InternalDisk という名前の内部ディスクにアクセスします。

    1. macOS Ventura 以上の場合: [システム設定] を開き、左側のペインで [一般] を選択し、ペインの右下で [起動ディスク] を選択します。

    2. macOS Monterey 以下の場合: [システム環境設定] を開いて、[起動ディスク] を選択し、ウィンドウの左下にあるロックアイコンを選択してペインのロックを解除します。

    トラブルシューティングのヒント

    内部ディスクをマウントする必要がある場合は、ターミナルで次のコマンドを実行します。

    APFSVolumeName="InternalDisk" ; SSDContainer=$(diskutil list | grep "Physical Store disk0" -B 3 | grep "/dev/disk" | awk {'print $1'} ) ; diskutil apfs addVolume $SSDContainer APFS $APFSVolumeName
  9. InternalDisk という名前の内部ディスクを選択し、[再起動] を選択します。メッセージが表示されたら、もう一度 [再起動] を選択します。

    重要

    内部ディスクの名前が InternalDisk ではなく Macintosh HD の場合は、専有ホストを更新できるようにインスタンスを停止して再起動する必要があります。詳細については、「Amazon EC2 Mac インスタンスを停止または終了する」を参照してください。

管理ユーザーに所有権を委任するには、次の手順に従います。SSH でインスタンスに再接続すると、特別な管理ユーザー (aws-managed-user) を使用して内部ディスクから起動されます。aws-managed-user 用の初期パスワードは空白なため、最初の接続時に上書きする必要があります。その後、ブートボリュームが変更されたため、手順を繰り返して macOS の画面共有をインストールして起動する必要があります。

Amazon EBS ボリュームの管理者に所有権を委任するには
  1. ローカルコンピュータのターミナルで、次のコマンドを使用して Apple Silicon Mac インスタンスに接続します。

    ssh -i /path/key-pair-name.pem aws-managed-user@instance-public-dns-name
  2. WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! の警告が表示されたら、以下のいずれかのコマンドを使用してこの問題を解決します。

    1. 次のコマンドを使用して、既知のホストを削除します。次に、前の手順を繰り返します。

      rm ~/.ssh/known_hosts
    2. 前の手順の SSH コマンドに、次の形式を追加します。

      -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no
  3. 次のコマンドを実行して、aws-managed-user のパスワードを設定します。aws-managed-user 初期パスワードは空白であるため、最初の接続時に上書きする必要があります。

    1. [aws-managed-user ~]$ sudo /usr/bin/dscl . -passwd /Users/aws-managed-user password
    2. プロンプトが表示されたら、Permission denied. Please enter user's old password:、Enter キーを押します。

      トラブルシューティングのヒント

      passwd: DS error: eDSAuthFailed のエラーが発生した場合は、次のコマンドを使用します。

      [aws-managed-user ~]$ sudo passwd aws-managed-user
  4. 次のコマンドを使用して macOS スクリーン共有をインストールして起動します。

    [aws-managed-user ~]$ sudo launchctl enable system/com.apple.screensharing sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.screensharing.plist
  5. exit と入力して return キーを押して、インスタンスとの接続を切断します。

  6. ローカルコンピュータのターミナルで、次のコマンドを使用して VNC ポートへの SSH トンネルを使用してインスタンスに再接続します。

    ssh -i /path/key-pair-name.pem -L 5900:localhost:5900 aws-managed-user@instance-public-dns-name
  7. ローカルコンピュータから、次の手順を使用して localhost:5900 に接続します。

    1. [検索] を開いて、[移動] を選択します。

    2. [サーバーに接続] を選択します。

    3. [サーバーアドレス] フィールドに、vnc://localhost:5900 と入力します。

  8. macOS ウィンドウで、ステップ 3 で作成したパスワードを使用して、aws-managed-user として Apple Silicon Mac インスタンスのリモートセッションに接続します。

    注記

    Apple ID でサインインするように求めるメッセージが表示されたら、[後でセットアップ] を選択します。

  9. Amazon EBS ボリュームには、次のいずれかのオプションを使用してアクセスします。

    1. macOS Ventura 以降の場合: [システム設定] を開き、左側のペインで [一般] を選択し、ペインの右下で [起動ディスク] を選択します。

    2. macOS Monterey 以前の場合: [システム環境設定] を開き、[起動ディスク] を選択し、ウィンドウの左下にあるロックアイコンを使用してペインのロックを解除します。

    注記

    再起動するまで、管理者パスワードの入力を求められたら、上記で設定した aws-managed-user 用のパスワードを使用してください。このパスワードは、ec2-user 用に設定したパスワードやインスタンスのデフォルトの管理者アカウントとは異なる場合があります。以下の手順では、インスタンスの管理者パスワードをいつ使用するかを指定します。

  10. Amazon EBS ボリューム ([起動ディスク] ウィンドウの InternalDisk という名前が付いていないボリューム) を選択し、[再起動] を選択します。

    注記

    Apple Silicon Mac インスタンスに複数の起動可能な Amazon EBS ボリュームがアタッチされている場合は、必ず各ボリュームにそれぞれ固有の名前を使用してください。

  11. 再起動を確認し、プロンプトが表示されたら [ユーザーを認証] を選択します。

  12. [このボリュームペインのユーザーを認証] で、管理者ユーザー (デフォルトで ec2-user) が選択されていることを確認し、[承認] を選択します。

  13. 前の手順の手順 3 で作成した ec2-user パスワードを入力し、[続行] を選択します。

  14. プロンプトが表示されたら、特別管理ユーザー (aws-managed-user) のパスワードを入力します。

  15. ローカルコンピュータからターミナルで、ec2-user ユーザー名を使用して SSH を使用してインスタンスに再接続します。

    トラブルシューティングのヒント

    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! の警告が表示されたら、次のコマンドを実行し、SSH を使用してインスタンスに再接続します。

    rm ~/.ssh/known_hosts
  16. ソフトウェアアップデートを実行するには、x86 Mac インスタンスでのソフトウェアの更新 の下にあるコマンドを使用します。