Amazon EBS ボリュームが「アタッチ」状態でスタックしているのはなぜですか?

最終更新日: 2020 年 9 月 24 日

Amazon Elastic Block Store (Amazon EBS) を Amazon Elastic Compute Cloud (Amazon EC2) インスタンスに接続しましたが、10〜15 分経ってもまだ「アタッチ」状態です。

解決方法

EBS ボリュームをアタッチしようとしたときに、指定したデバイス名がまだ使用されていないことを確認してください。指定したデバイス名が EC2 インスタンスのブロックデバイスドライバによってすでに使用されている場合、操作が失敗します。

EBS ボリュームを Amazon EC2 インスタンスにアタッチするときに、ボリュームのデバイス名を指定できます (デフォルトでは、1 つが入力されています)。EC2 インスタンスのブロックデバイスドライバーがボリュームをマウントし、名前を割り当てます。ボリューム名は、割り当てた名前と異なる場合があります。

デバイスの名前付けの詳細については、Linux インスタンスでのデバイスの名前付けまたは Windows インスタンスでのデバイスの名前付けを参照してください。

Amazon EC2 では使用されていないが、EC2 インスタンス内のブロックデバイスドライバによって使用されているデバイス名を指定した場合、Amazon EBS ボリュームのアタッチは失敗します。代わりに、EBS ボリュームがアタッチ状態でスタックします。これは通常、次のいずれかの理由によるものです。

ブロックデバイスドライバが指定されたデバイス名を再マッピングしています

HVM EC2 インスタンスでは、/dev/sda1/dev/xvda に再マップされます。セカンダリ Amazon EBS ボリュームを /dev/xvda にアタッチしようとすると、セカンダリ EBS ボリュームはインスタンスに正常にアタッチできません。これにより、EBS ボリュームがアタッチ状態でスタックすることがあります。

ブロックデバイスドライバでデバイス名が解放されませんでした

ユーザーが Amazon EBS ボリュームのデタッチを強制的に開始した場合、Amazon EC2 インスタンスのブロックデバイスドライバをすぐに再利用するためにデバイス名を解放することはできません。ボリュームをアタッチするときにデバイス名を使用しようとすると、ボリュームがアタッチ状態でスタックします。別のデバイス名を選択するか、インスタンスを再起動する必要があります。

以下の手順を実行することで、ボリュームがアタッチ状態でスタックしているほとんどの問題を解決できます。

重要: 開始する前に、データをバックアップしてください。詳細については、Amazon EC2 のベストプラクティスを参照してください。

  1. Amazon EC2 コンソールボリュームペインで、ボリュームを選択します。
  2. アクションメニューを開き、[ボリュームを強制的に接続解除] を選択します。
  3. ボリュームをインスタンスにもう一度接続します。ただし、別のデバイス名を使用してください。たとえば、/dev/sdf の代わりに /dev/sdg を使用します。
    注意: インスタンスが実行状態になっている必要があります。

これらの手順で問題が解決しない場合、または機能していないデバイス名を使用する必要がある場合は、次の手順をお試しください。