我可以使用AWS Tools for Powershell创建新的EC2实例并设置私有IP吗?

时间:2015-03-26 22:38:50

标签: powershell amazon-web-services amazon-ec2 amazon-vpc aws-powershell

的cmdlet:

New-EC2Instance -ImageId ami-abcdefg123 -MinCount 1 -MaxCount 1 -KeyName Keypair `
                -SecurityGroupId sg-abcdefg -InstanceType m1.small ` 
                -SubnetId subnet-01bd1e76

如何更改此设置以向此实例添加私有IP地址?此外,我不希望分配一个公共IP地址。

1 个答案:

答案 0 :(得分:0)

应始终在实例启动时为您分配一个私有IP地址。在EC2 classic中,每次启动实例时都会从EC2-Classic范围分配。在VPC中,此地址是静态的(在停止/启动时不会重置)并且来自子网的地址范围。

您可以禁用公共IP分配,但请注意公共IP分配的默认设置:

  

EC2-Classic:您的实例收到公共IP地址。这种行为   无法改变。

     

默认子网:您的实例默认接收公共IP地址,   除非您在启动期间另行指定,否则您修改了子网   公共IP地址属性。

     

非默认子网:您的实例未收到公共IP地址   默认情况下,除非您在启动期间另行指定,否则您将进行修改   子网的公共IP地址属性。

由于您已在New-EC2Instance中指定了SubnetId,我可以放心地假设您正在使用VPC,并且由于您提出此问题我可以认为VPC是配置为默认设置公共IP地址。

在这种情况下,切换公共IP地址的分配就像指定-AssociatePublicIP的{​​{1}}参数一样简单。

示例1:只需在EC2启动时关闭

New-EC2Instance

示例2:禁用子网中所有新实例的默认公共IP。在脚本中指定此选项时使用-Force以跳过交互式确认。

New-EC2Instance -ImageId ami-abcdefg123 -MinCount 1 -MaxCount 1 -KeyName Keypair `
                -SecurityGroupId sg-abcdefg -InstanceType m1.small ` 
                -SubnetId subnet-1a2b3c4d -AssociatePublicIP $false

<强>文档