タイプを Nitro ベースのインスタンスタイプに変更した後、Linux インスタンスが起動しないのはなぜですか?

最終更新日: 2022 年 10 月 7 日

Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスを Nitro ベースのインスタンスタイプに変更しましたが、起動しません。

簡単な説明

Linux インスタンスを Nitro ベースのタイプに変更した後に、起動しない一般的な理由を以下に示します。

  • Elastic Network Adapter (ENA) の enaSupport 属性がインスタンスに対して無効になっている。
  • ENA モジュールがインスタンスにインストールされていない。
  • NVMe モジュールがインスタンスにインストールされていないか、インストールされていても、NVMe モジュールがインスタンスの initramfs イメージにロードされていない。
  • 起動時にデバイス名を使用して「/etc/fstab」ファイルにファイルシステムをマウントしようとしている。Amazon Elastic Block Store (Amazon EBS) ボリュームは、NVMe デバイスとしてこれらのインスタンスタイプに公開されますが、デバイス名は変更されています。これを避けるには、UUID/ラベルを使ってファイルシステムをマウントしてください。詳細については、「Linux インスタンスの Amazon EBS および NVMe」を参照してください。

これらの問題を解決するには、ENA がオンになっていて、Linux インスタンスが Nitro ベースのインスタンスモジュールとファイルシステムのマウント要件を満たしていることを確認します。

または、AWSSupport-MigrateXenToNitroLinux Systems Manager Automation ランブックを実行することもできます。このランブックは、手動設定なしで Amazon EC2 Linux Xen を移行します。詳細については、「AWSSupport-MigrateXenToNitroLinux」を参照してください。

解決方法

ENA がオンになっていることを確認する

1.    ENA がオンになっていることを確認するには、「拡張ネットワーキングが有効化されているかどうかのテスト」を参照して、「インスタンス属性 (enaSupport)」の指示に従ってください。

2.    ENA がオンになっていない場合は、modify-instance-attribute アクションを実行します。詳細については、「Amazon Linux AMI での拡張ネットワーキングの有効化」を参照してください。

NitroInstanceChecks スクリプトを実行する

NitroInstanceChecks スクリプトがインスタンスを確認し、これらの要件に関する合格/不合格ステータスを提供します。

  • インスタンスに NVMe モジュールがインストールされているかどうかを確認します。インストールされている場合、スクリプトはモジュールが intiramfs イメージにロードされていることを確認します。
  • インスタンスに ENA モジュールがインストールされているかどうかを確認します。
  • /etc/fstab を分析し、デバイス名を使用してマウントされているブロックデバイスを見つけます。

このスクリプトは、以下の OS バージョンでサポートされています。

  • Red Hat の派生: Red Hat Linux、Red Hat Enterprise Linux、CentOS
  • Amazon Linux、Amazon Linux 2
  • Debian の派生: Debian、Ubuntu

: Red Hat の ENA ドライバーの詳細については、「Red Hat 6/7 を実行している Amazon EC2 インスタンスで、拡張ネットワークサポート用の最新の ENA ドライバーをインストールし、アクティブ化するにはどうすればよいですか?」を参照してください。

NitroInstanceChecks スクリプトを実行するには:

1.    バックアップを作成するため変更を加える前に、ボリュームのスナップショットを取るか、インスタンスの Amazon Machine Image (AMI) を作成します。

2.    インスタンスタイプを元のタイプに変更してください。

3.    スクリプトをインスタンスにダウンロードし、実行可能にします。

# chmod +x nitro_check_script.sh

4.    スクリプトを root ユーザーまたは sudo として実行します。

# sudo ./nitro_check_script.sh

5.    プロンプトで、y または n (または No) を入力します。y を入力して、スクリプトで /etc/fstab ファイル を再生成および変更し、各パーティションのデバイス名をその UUID に置き換えます。元の fstab ファイルは /etc/fstab.backup.$(date +%F-%H:%M:%S) として保存されます。たとえば、/etc/fstab.backup.2019-09-01-22:06:05 のようになります。n または No を入力すると、正しい /etc/fstab ファイルが出力に印刷されますが、置き換えはされません。

正常な出力は次のようになります。

------------------------------------------------
OK  NVMe Module is installed and available on your instance
OK  ENA Module is installed and available on your instance
OK  fstab file looks fine and does not contain any device names.
------------------------------------------------

6.    すべての要件を満たしたら、インスタンスを Nitro ベースのインスタンスタイプに変更します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?