0

新しいサブネットとVPCを作成する必要はありません。すでに作成してあり、私は自分のcloudformテンプレートでそれらを使用したいのです。どのようにして、輻輳情報にサブネットとVPC IDを指定しますか?

どのパラメータでこれを指定するのですか、これはどのように動作するのですか?

「AWS :: EC2 :: VPC」と「AWS :: EC2 :: Subnet」のドキュメントを見ると、これらのリソースは、のVPCとサブネットの作成にのみ使用されるようです。

インスタンスリソースを既存のVPCとサブネットに直接指して、使用したいのですか?

編集:

たとえば私は、テンプレート内のインスタンスのリソースを持っていると私はこのような既存のサブネットに直接それを指している場合:テンプレートの検証時に、私はこのエラーを取得する

{ 
    "Resources": { 
    "MyServer": { 
     "Type": "AWS::EC2::Instance", 
     "Properties": { 
     "InstanceType": { 
      "Ref": "InstanceType" 
     }, 
"SubnetId": { 
    "Ref": "subnet-abc123" 
}, 
... 

Template contains errors.: Template format error: Unresolved resource dependencies [subnet-abc123] in the Resources block of the template 

マッピングでこれを実行しようとしましたが、まだエラーが発生しました。 私はマッピングでこの持っている:インスタンスリソースで

"Mappings": { 
    "SubnetID": { 
     "TopKey": { 
     "Default": "subnet-abc123" 
     } 
    } 

そして、この:

"SubnetId": { 
    "Fn::FindInMap": [ 
    "SubnetID", 
    { 
     "Ref": "TopKey" 
    }, 
    "Default" 
    ] 
} 

をし、検証しようとしたとき、私はこのエラーを取得:

Template contains errors.: Template format error: Unresolved resource dependencies [TopKey] in the Resources block of the template 

答えて

2

あなただけのそれらの値を挿入し、特定のVPCとサブネットを使用する場合:

{ 
    "Resources": { 
    "MyServer": { 
     "Type": "AWS::EC2::Instance", 
     "Properties": { 
     "InstanceType": "t2.micro", 
     "SubnetId": "subnet-abc123", 
     "ImageId": "ami-abcd1234" 
     } 
    } 
} 

サブネットは常にVPCに属しているので、サブネットを指定すると自動的に一致するVPCを選択します。

2

Parametersでそれらを指定しますセクションを参照し、Resourcesセクションで参照してください。 CFはVPCを最初に選択し、次にサブネットを選択させます。

"Parameters" : { 

    "VpcId" : { 
     "Type" : "AWS::EC2::VPC::Id", 
     "Description" : "VPCId of Virtual Private Cloud (VPC).", 
     "Default" : "" 
    }, 

    "VpcSubnet": { 
     "Description" : "SubnetId in VPC", 
     "Type" : "AWS::EC2::Subnet::Id", 
     "Default" : "" 
    }, 


    "Resources" : { 
    ... 
    "Ec2Instance" : { 
     "Properties" : { 
     "SubnetId" : { "Ref" : "VpcSubnet" }, 
+0

しかし、すでに存在するVPCとサブネットをどのように指摘しますか?既存のサブネットとVPC IDをプラグインできる場所ではどこにも表示されません。vpc-abc123またはサブネット-123456 – red888

+0

パラメータの値として指定します。これをAWSコンソールで試してみると、実際にはHTMLフォームにオプションが表示されます。このソリューションを試してみると、どのように動作するかがわかります。 –

関連する問題