如何正确登录由 CloudFormation 创建的 AWS EC2 实例

如何正确登录由 CloudFormation 创建的 AWS EC2 实例

我刚刚开始使用 AWS 服务,更具体地说是云形成我正在遵循一些 AWS 教程,到目前为止一切顺利,但有一件事让我很困惑:一旦我生成模板,如下所示:

AWSTemplateFormatVersion: 2010-09-09
Resources:
 Ec2Instance:
  Type: AWS::EC2::Instance
  Properties:
    InstanceType:
      Ref: InstanceTypeParameter1
    ImageId: ami-07d02ee1eeb0c996c
Parameters:
  InstanceTypeParameter1:
    Type: String
    Default: t2.micro
    AllowedValues:
      - t2.micro
      - m1.small
      - m1.large
    Description: Choose the ec2 instance type
  myKeyPair: 
    Description: Amazon EC2 Key Pair
    Type: "AWS::EC2::KeyPair::KeyName"

上传模板后,点击下一个,我可以选择Amazon EC2 密钥对正如你在图片中看到的:

输入 ssh 密钥

然后我转到 EC2 控制台,查看 CloudFromation 刚刚创建的实例,但无法使用 SSH 协议登录。正如您在图像

我想登录由 CloudFormation 创建的 EC2 实例,我认为使用 myKeyPair 参数:

  myKeyPair: 
    Description: Amazon EC2 Key Pair
    Type: "AWS::EC2::KeyPair::KeyName"

本来可以产生魔力,但实际上却没有。那么:我该怎么做呢?

答案1

好吧,我找到了解决办法:

如前所述,在 .yaml 中参数你需要要求用户选择一个钥匙与以下一起使用:

Parameters:
.........
  myKeyPair: 
    Description: Amazon EC2 Key Pair
    Type: "AWS::EC2::KeyPair::KeyName"

事实上,当我创建 Stack 时,网页提示要求我选择一个已保存的键: 选择一个已保存的密钥

但我没有把收集到的钥匙在里面参数部分资源部分...我需要做的只是在特性部分内部资源, 如下:

Parameters:
.........
  myKeyPair: 
    Description: Amazon EC2 Key Pair
    Type: "AWS::EC2::KeyPair::KeyName"

Resources:
.......
  EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
       ................
      KeyName:
        Ref: KeyName
       ................

这招成功了!!!

相关内容