Template validation error: Template format error: Unrecognized resource types: [AWS::EC2::KeyPair::KeyName]

Template validation error: Template format error: Unrecognized resource types: [AWS::EC2::KeyPair::KeyName]

我正在使用下面的 could 形成模板来创建 EC2 机器并使用用户数据在其上安装弹性搜索。

我的帐户中有一个名为 "novus1" 的密钥对。当我尝试创建堆栈时。我得到无法识别的资源类型:[AWS::EC2::KeyPair::KeyName].

下面的JSON模板有问题吗?感谢任何支持。

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Basic template for Novus",
    "Resources": {
        "novus1": {
            "Description": "Name of an existing EC2 KeyPair to enable SSH access to the web server",
            "Type": "AWS::EC2::KeyPair::KeyName"
        },
        "Ec2Instance1": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "InstanceType": "t2.micro",
                "ImageId": "ami-4836a428",
                "KeyName": "novus1",
                "UserData": {
                    "Fn::Base64": {
                        "Fn::Join": ["", [
                            "rpm -ivh elasticsearch-5.2.1.rpm"
                        ]]
                    }
                }
            }
        }
    }
}

novus1 键名应该在模板的 Parameters 部分。您可以使用 Ref: 对象引用它:

{   
    "AWSTemplateFormatVersion": "2010-09-09",
    "Description": "Basic template for Novus",
    "Parameters": {
        "novus1": {
            "Type": "AWS::EC2::KeyPair::KeyName",
            "Description": "Name of an existing EC2 KeyPair to enable SSH access to the web server"
        }
    }
    "Resources": {
        "Ec2Instance1": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "InstanceType": "t2.micro",
                "ImageId": "ami-4836a428",
                "KeyName": {
                    "Ref": "novus1"
                },
                "UserData": {
                    "Fn::Base64": {
                        "Fn::Join": ["", [
                            "rpm -ivh elasticsearch-5.2.1.rpm"
                        ]]
                    }
                }
            }
        }
    }
}

有关 AWS::EC2::KeyPair::KeyName 参数类型的更多示例,请参阅 documentation