2016-11-29 36 views
0

我爲我的圖像(AMI)中的新實例創建了新模板(*.json- see ettach)如何將EC2實例自動添加到現有安全組,彈性IP和VPC?

如何將實例自動添加到現有的安全組,彈性ip和VPC

感謝

{ 
"AWSTemplateFormatVersion": "2010-09-09", 
"Description": "Ec2 block device mapping", 
"Resources": { 
    "MyEC2Instance": { 
     "Type": "AWS::EC2::Instance", 
     "Properties": { 
      "ImageId": "ami-1ff5111", 
      "AvailabilityZone": "us-west-1a", 
      "KeyName": "Test", 
      "Tags": [{ 
       "Key": "Name", 
       "Value": "RoiTest" 
      }] 
     } 
    }, 
+0

請幫助我謝謝 – ROIR

回答

1

CloudFormation User GuideResource Types Reference section是一個很好的起點,以尋找細節,比如你問的人。具體來說,您應該查看AWS:EC2:InstanceAWS::EC2::EIPAssociation參考。

要將EC2實例與VPC安全組關聯,請添加SecurityGroupIds屬性。要在VPC內部創建實例,您實際上必須定義其子網(它又與VPC關聯),因此您需要添加SubnetId屬性。最後,將彈性IP與創建EIP關聯資源的實例相關聯。

這是你的模板將是什麼樣子:

{ 
    "AWSTemplateFormatVersion": "2010-09-09", 
    "Description": "Ec2 block device mapping", 
    "Resources": { 
    "MyEC2Instance": { 
     "Type": "AWS::EC2::Instance", 
     "Properties": { 
     "ImageId": "ami-1ff5111", 
     "AvailabilityZone": "us-west-1a", 
     "SubnetId": "<your existing subnet id here>", 
     "SecurityGroupIds": [ "<your existing security group id here>" ], 
     "KeyName": "Test", 
     "Tags": [{ 
      "Key": "Name", 
      "Value": "RoiTest" 
     }] 
     } 
    }, 
    "MyEIPAssociation": { 
     "Type": "AWS::EC2::EIPAssociation", 
     "Properties": { 
     "AllocationId": "<your existing elastic IP allocation id here>", 
     "InstanceId": { "Ref": "MyEC2Instance" } 
     } 
    }, 
    ... (other resources in your template) 
    } 
} 

這可能是指向該SecurityGroupIds屬性值是一個數組有用的,所以你可以有多個安全組的實例。

+0

謝謝!它部分工作。我仍然無法聯繫準備好的現有安全組 哪裏可以在代碼中寫入? – ROIR

+0

如果您在VPC內部創建EC2實例,則它只能與同一VPC中的安全組相關聯。您確定您現有的安全組是否爲VPC安全組,並且它與您在其中創建EC2實例的相同VPC相關聯? – rbarni

+0

首先,謝謝。我沒有創建vpc的ec2實例。我該如何做到這一點?,我需要在我的json模板中使用wirte嗎?當然,我也需要證券集團。現在'如果我開始我的模板我有新的實例,但沒有關聯任何vpc'安全組。請幫幫我 :) – ROIR

相關問題