Ошибка проверки шаблона: Ошибка формата шаблона: нераспознанные типы ресурсов: [AWS::EC2::KeyPair::KeyName]
Я использую приведенный ниже шаблон формирования для создания машины 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"
]]
}
}
}
}
}
}
1 ответ
Решение
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
тип параметра.