LoginSignup
4
4

More than 5 years have passed since last update.

vagrant-awsで立てたインスタンスを手で削除してしまったとき

Last updated at Posted at 2015-03-05

そもそも

vagrant-awsでインスタンスを建てる検証をしていたのですが、起動はvagrantでやったものの、停止はAWSの管理コンソールから消してしまっていました。それを忘れていて、もう検証終わったから鍵とかIAMも消しちゃえと消してしまってほったらかしてました。月日が流れ、ふとvagrant global-statusを叩くと多数のゾンビプロセスが・・・。しかもproviderがawsのものがrunningステータスのままになっていました。

vagrant haltしてみる

AWSのIDと鍵がないため、エラーになりました。まあそうですよね。鍵情報が残っていれば、haltできるはずです。

There are errors in the configuration of this machine. Please fix
the following errors and try again:

AWS Provider:
* An access key ID must be specified via "access_key_id"
* A secret access key is required via "secret_access_key"

※ 上記はhaltした際のログが残ってなかったのでvagrant upしたときのものです。たぶん同じ

vagrant global-status --pruneを使ってみる

調べた所このコマンドでゾンビプロセスが消せるということがわかり、勝ったな、と思っていましたが、結局鍵情報がないため途中で失敗してしまいました。試していないのですが、鍵情報さえあれば、vagrant global-statusの情報が更新されると思います。

アンインストールする?

それは最後の手段だろ!ということでパス

~/.vagrant.d/data/machine-indexのファイルを消してみる

ここにindexとindex.lockというファイルがありました。json形式のファイルだったため、jqでパースしてみると、こんな感じに

    },
    "b9b5925b43a842a086829654f371a643": {
      "local_data_path": "<project>/.vagrant",
      "name": "test",
      "provider": "virtualbox",
      "state": "aborted",
      "vagrantfile_name": null,
      "vagrantfile_path": "<project>/ci-test",
      "updated_at": null,
      "extra_data": {
        "box": {
          "name": "chef/centos-6.5",
          "provider": "virtualbox",
          "version": "1.0.0"
        }
      }
    },
    "6b2809189e6444079b084c232fbf7300": {
      "local_data_path": "<project>/.vagrant",
      "name": "test",
      "provider": "aws",
      "state": "running",
      "vagrantfile_name": null,
      "vagrantfile_path": "<project>",
      "updated_at": null,
      "extra_data": {
        "box": {
          "name": "dummy",
          "provider": "aws",
          "version": "0"
        }
      }
    },

これだ!!!
ということで、両ファイルを削除したところ、すべての仮想マシン情報が出なくなりました。その後、試しにvirtualboxにインスタンスを立ててみたところ、特にエラーもなく使えました。たぶんjson形式で情報を管理しているんでしょうね。
こんなことが起きないようにインスタンスの取り扱いには注意しましょう。他に対処方法があったなら知りたいです。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4