在默认VPC中启动实例会产生错误

时间:2014-11-27 09:16:50

标签: amazon-web-services amazon-ec2 aws-cli

我正在尝试将网络服务器启动到我的网络服务器安全组中,但我明白了:

$ aws ec2 run-instances --image-id ami-someami --count 2 --instance-type m3.medium --key-name some_key --security-groups Webservers

A client error (InvalidParameterCombination) occurred when calling the RunInstances operation: VPC security groups may not be used for a non-VPC launch

是什么给出的?我只想在我的默认VPC中启动盒子。我不想指定子网,但即使我这样做,我也无法再指定我的安全组。我是EC2的新手,我宁愿不担心用我的VPC做非默认的事情,直到我不得不这样做。

2 个答案:

答案 0 :(得分:2)

安全组与特定的VPC相关联。

检查您的安全组是否与您启动Amazon EC2实例的VPC不同的VPC(在这种情况下,与默认VPC不同)。

如果是这样,请在默认VPC中创建一个新的安全组,并在启动实例时使用它。

如果您使用 EC2-Classic (非VPC),请从AWS CLI documentation on run-instances注意以下内容:

  

- security-groups(list)

     

[EC2-Classic,默认VPC]一个或多个安全组名称。对于非默认VPC,您必须改为使用安全组ID。

因此,请尝试使用带有ID的--security-group-ids

答案 1 :(得分:0)

错误:

  

VPC安全组不得用于非VPC启动

表示您尝试在VPC之外启动实例。请注意,安全组与实例关联。换句话说,安全组和子网之间存在关联,它们都链接到VPC。

当您切换到不同的实例(例如t2.micro)而没有指定vpc_icsubnet_id时,这是最常见的问题,例如包装工:

"vpc_id": "vpc-62086907",
"subnet_id": "subnet-01451564",

您应该检查实例的设置,例如:

  • 实例创建过程的参数
  • 您需要提供启动实例的子网ID for VPC(Packer / Vagrant为subnet_id,Ansible为vpc_subnet_id),
  • 配置AWS VPC时,请确保仅使用子网ID和组ID
  • 还要仔细检查您是否使用旧版本的AWS,因此请更新模板以构建VPC。

相关: