0

を使用して、以下の 4 つのリソースを正常に作成しましたCloud Formation Template (CFT)

  1. VPC
  2. サブネット
  3. インターネットゲートウェイ
  4. アタッチゲートウェイ

今、EC2 インスタンスでセキュリティ グループを作成しようとしています。コードは次のとおりです。

  Type: AWS::EC2::SecurityGroup
  Properties:
      GroupDescription: Allow http and ssh to client host
      VpcId:
         Ref: InsuranceVPC
      SecurityGroupIngress:
      - IpProtocol: tcp
        FromPort: 80
        ToPort: 80
        CidrIp: 0.0.0.0/0
      - IpProtocol: tcp
        FromPort: 22
        ToPort: 22
        CidrIp: 0.0.0.0/0
      SecurityGroupEgress:
      - IpProtocol: tcp
        FromPort: 80
        ToPort: 80
        CidrIp: 0.0.0.0/0

Ec2Instance: 
  Type: AWS::EC2::Instance
  Properties: 
    ImageId: "ami-08706cb5f68222d09"
    KeyName: 
      Ref: "DevOpsAutomation"
    NetworkInterfaces: 
      - AssociatePublicIpAddress: "true"
        DeviceIndex: "0"
        GroupSet: 
          - Ref: "InsuranceSecurityGroup"
        SubnetId: 
          Ref: "InsuranceSubnet"

ただし、リソースの同じリージョンに存在するキーである (CFT、上記のコード) で Key パラメーターを使用すると、CFT スタックが次のエラーで失敗します。

Template format error: Unresolved resource dependencies [DevOpsAutomation] in the Resources block of the template note: DevOpsAutomation is my keyname

検証した手順:

  1. CFT テンプレート リソースとキーが同じリージョンにある
  2. 削除され、新しく作成されたキー ペア
  3. 別の鍵ペアを使用しようとしました
  4. EC2 インスタンスが使用できるように、CFT スタックと共にキーをインポートするオプションがどこにもありませんでした。
  5. スタックを作成している間でも、キーはスタックのセクションに表示されません(keypairセクションに表示されます) parameter

私の質問は、AWS アカウントに存在するキーペアを使用して (CFT の一部として) EC2 インスタンスを作成するにはどうすればよいですか?

4

2 に答える 2