有没有办法禁用特定VM的一些流浪汉命令?

时间:2014-08-07 12:34:04

标签: amazon-web-services amazon-ec2 vagrant

我使用插件vagrant-aws为Vagrant使用Amazon EC2实例。我将实例与vagrant up --provider=aws连接起来...... vagrant haltvagrant reload和特别是vagrant destroy这样的命令在我的情况下变得非常危险,因为它们可能会破坏实例! 所以,问题是如何禁用一些流浪汉命令(例如在Vagrantfile中)我需要将配置的Vagrantfile提供给其他开发人员,因此他们有可能关闭重要的服务器。谢谢!

3 个答案:

答案 0 :(得分:7)

免责声明:我是插件制作者。

使用vagrant-triggers插件,您可以在Vagrantfile中写下:

config.trigger.reject [:destroy, :halt]

答案 1 :(得分:1)

好的,解决此问题的最简单方法是使用以下命令创建策略:

{
    "Action": [
        "ec2:TerminateInstances",
        "ec2:StopInstances",
        "ec2:RebootInstances",
        "ec2:StartInstances",
        "ec2:RunInstances"
         ],
    "Effect": "Deny",
    "Resource": "*"
}

也许这对某人有用。谢谢!

答案 2 :(得分:-1)

查看Vagrant ManagedServers插件。它旨在管理和共享开发人员之间的基于云的实例,即使在生产环境中也是如此。

请注意,通常(没有上述插件)仅共享Vagrantfile并不足以访问相同的EC2实例。实例详细信息存储在.vagrant目录中,每个开发人员都会自行创建一个服务器。