【问题标题】:The key pair 'AdvancedCFN' does not exist (Service: AmazonEC2; Status Code: 400; Error Code:密钥对“AdvancedCFN”不存在(服务:AmazonEC2;状态代码:400;错误代码:
【发布时间】:2019-11-17 03:42:40
【问题描述】:

我不断收到此声明,另外还未能创建云形成堆栈:

密钥对“AdvancedCFN”不存在(服务:AmazonEC2;状态代码:400;错误代码:InvalidKeyPair.NotFound

关于我做错了什么有什么想法吗?

当我从资源部分的 EC2 部分中删除行 KeyName: AdvancedCFN 时,堆栈将构建,但随后它会引发我正在运行旧版本的 PHP。当我运行:yum install -y httpd24 php70 mysql56-server php70-mysqlnd 时,它仍然说同样的事情,我在yum update -y command 之后插入这个命令

这里是 EC2 部分的代码:

EC2:
    Type: "AWS::EC2::Instance"
    DeletionPolicy: Delete
    Properties:
      ImageId: !FindInMap [RegionMap, !Ref "AWS::Region", AMALINUX] # Dynamic mapping + Pseudo Parameter
      InstanceType: !FindInMap [InstanceSize, !Ref EnvironmentSize, EC2]
      KeyName: AdvancedCFN
      UserData:
        "Fn::Base64":
          !Sub |
            #!/bin/bash
            yum update -y aws-cfn-bootstrap # good practice - always do this.
            /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource EC2 --configsets wordpress --region ${AWS::Region}
            yum -y update
            /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource EC2 --region ${AWS::Region}

有什么想法吗?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    确保存在名称为 AdvancedCFN 的密钥对。
    检查 EC2 控制台 > 网络和安全 > 密钥对。

    作为一种解决方法,将KeyName 设为参数。
    在模板中添加以下参数:

      KeyName:
        Description: Name of an existing EC2 KeyPair to enable SSH access to the ECS instances
        Type: 'AWS::EC2::KeyPair::KeyName'
    

    您可以按如下方式使用选定的键:

          KeyName: !Ref KeyName
    

    【讨论】:

      猜你喜欢
      • 2021-08-29
      • 2019-08-18
      • 2020-11-16
      • 1970-01-01
      • 1970-01-01
      • 2017-08-10
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      相关资源
      最近更新 更多