Я создаю экземпляр EC2 с использованием CloudFormation, в котором упоминаются VPC, подсеть и группа безопасности. Однако, когда экземпляр запускается, я не могу подключиться к нему по ssh и получить следующее сообщение:
ssh -i aws_jenkins.pem ec2-user@34.217.129.89
Невозможно установить подлинность хоста '34 .217.129.89 (34.217.129.89).
Отпечаток ключа ECDSA - SHA256: rs3bjVKolzdmktzfiSd0Oo5RU6dLdT / PGHpycStgFK8.
Отпечаток ключа ECDSA: MD5: 7f: cc: 61: c4: f3: 1a: b7: 45: 9a: f0: da: e8: 0c: a4: d9: bc.
Вы уверены, что хотите продолжить подключение (да / нет)? да
Предупреждение. Постоянно добавлено «34 .217.129.89» (ECDSA) в список известных хостов.
В доступе отказано (publickey, gssapi-keyex, gssapi-with-mic).
Однако, если я создаю еще один EC2 из консоли AWS
Использование одного и того же ImageID, VPC, Subnet, SecurityGroup и Key.
Я могу SSH к нему.
Но почему экземпляр, созданный с помощью CloudFormation, не поддерживает SSH
Я не могу решить эту проблему, любое понимание / решение очень ценится.
AWSTemplateFormatVersion: 2010-09-09
Parameters:
EnvironmentName:
Description: An environment name that will be prefixed to resource names
Type: String
VpcCIDR:
Description: Please enter the IP range (CIDR notation) for this VPC
Type: String
Default: 10.192.0.0/16
PublicSubnet1CIDR:
Description: Please enter the IP range (CIDR notation) for the public subnet in the first Availability Zone
Type: String
Default: 10.192.10.0/24
PublicSubnet2CIDR:
Description: Please enter the IP range (CIDR notation) for the public subnet in the second Availability Zone
Type: String
Default: 10.192.11.0/24
InstanceType:
Description: WebServer EC2 instance type
Type: String
Default: t2.micro
AllowedValues: [ t1.micro, t2.nano, t2.micro, t2.small, t2.medium]
ConstraintDescription : must be a valid EC2 instance type.
KeyName:
Description: The EC2 Key Pair to allow SSH access to the instances
Type: AWS::EC2::KeyPair::KeyName
Default: jenkins-test
ConstraintDescription: must be the name of an existing EC2 KeyPair.
SSHLocation:
Description: The IP address range that can be used to SSH to the EC2 instances
Type: String
MinLength: 9
MaxLength: 18
Default: 0.0.0.0/0
AllowedPattern: "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})"
ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x.
Resources:
VPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: !Ref VpcCIDR
EnableDnsSupport: true
EnableDnsHostnames: true
Tags:
- Key: Name
Value: !Ref EnvironmentName
InternetGateway:
Type: AWS::EC2::InternetGateway
DependsOn: VPC
Properties:
Tags:
- Key: Name
Value: !Ref EnvironmentName
InternetGatewayAttachment:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
InternetGatewayId: !Ref InternetGateway
VpcId: !Ref VPC
PublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
AvailabilityZone: !Select [ 0, !GetAZs ]
CidrBlock: !Ref PublicSubnet1CIDR
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: !Sub ${EnvironmentName}-Public-Subnet-(AZ1)
PublicSubnet2:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
AvailabilityZone: !Select [ 1, !GetAZs ]
CidrBlock: !Ref PublicSubnet2CIDR
MapPublicIpOnLaunch: true
Tags:
- Key: Name
Value: !Sub ${EnvironmentName}-Public-Subnet-(AZ2)
PublicRouteTable:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref VPC
Tags:
- Key: Name
Value: !Sub ${EnvironmentName} Public Routes
DefaultPublicRoute:
Type: AWS::EC2::Route
DependsOn: InternetGatewayAttachment
Properties:
RouteTableId: !Ref PublicRouteTable
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref InternetGateway
PublicSubnet1RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: !Ref PublicRouteTable
SubnetId: !Ref PublicSubnet1
PublicSubnet2RouteTableAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
RouteTableId: !Ref PublicRouteTable
SubnetId: !Ref PublicSubnet2
InstanceSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Enable SSH access and HTTP to instance
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: !Ref SSHLocation
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: !Ref SSHLocation
VpcId: !Ref VPC
Tags:
- Key: Name
Value: TestSecurity_group
MyInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-061392db613a6357b
InstanceType: !Ref InstanceType
SubnetId: !Ref PublicSubnet1
KeyName: !Ref KeyName
SecurityGroupIds:
- !Ref InstanceSecurityGroup
Tags:
- Key: Name
Value: TestServer