#amazon-web-services #amazon-ec2 #amazon-cloudformation
Вопрос:
Я пытаюсь настроить подключение экземпляра EC2 для экземпляра EC2:
AWSTemplateFormatVersion: 2010-09-09
Description: Part 1 - Spawn Ec2 instance with CloudFormation
Resources:
WebAppInstance:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: us-east-2a
ImageId: ami-074cce78125f09d61
InstanceType: t2.micro
Хотя приведенный выше шаблон позволяет мне создать экземпляр EC2, он не позволяет мне получить к нему доступ с помощью подключения экземпляра EC2.
Как настроить подключение экземпляра EC2 в шаблоне CloudFormation?
Решение
AWSTemplateFormatVersion: 2010-09-09
Description: Part 1 - Build a webapp stack with CloudFormation
Resources:
WebAppInstance:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: us-east-2a
ImageId: ami-074cce78125f09d61
InstanceType: t2.micro
SecurityGroupIds:
- !Ref WebAppSecurityGroup
WebAppSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: !Join ["-", [webapp-security-group, dev]]
GroupDescription: "Allow HTTP/HTTPS and SSH inbound and outbound traffic"
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 443
ToPort: 443
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
WebAppEIP:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
InstanceId: !Ref WebAppInstance
Tags:
- Key: Name
Value: !Join ["-", [webapp-eip, dev]]
Outputs:
WebsiteURL:
Value: !Sub http://${WebAppEIP}
Description: WebApp URL
Комментарии:
1. Запретить пользователям через IAM создавать SSH-ключи
2. @ErmiyaEskandary Это не та проблема, которую я пытаюсь решить. Экземпляры, которые я создаю с помощью приведенного выше шаблона, создают экземпляр EC2, но он не позволяет мне подключаться к нему с помощью EC2 Instance connect.
3. Ах, ХОРОШО — отредактируйте свой вопрос, поскольку, похоже, вы пытаетесь принудительно подключить экземпляр EC2 ( «единственный возможный способ получить ssh-доступ к компьютеру должен быть через EC2 instance connect» )
4. В дополнение к ответу Марчина, вы пытаетесь подключиться через пользовательский интерфейс? Если это так, у вашего экземпляра EC2 должен быть общедоступный IPv4-адрес. Так ли это?
5. Установка общедоступного IP-адреса устранила проблему
Ответ №1:
По Amazon Linux 2 (any version)
Ubuntu 16.04 or later
умолчанию установлено и работает подключение экземпляра EC2. Таким образом, вам не нужно ничего делать.
Для других AMI вы должны использовать user_data для самостоятельной установки и настройки подключения.
Комментарии:
1. Я попробовал это, но меня перенаправляют на экран, где появляется сообщение об ошибке «Нам не удалось подключиться к вашему экземпляру. Убедитесь, что сетевые параметры вашего экземпляра правильно настроены для подключения экземпляра EC2. Дополнительные сведения см. в разделе Задача 1. Настройка сетевого доступа к инстансу.»
2. @Salam Если ваши группы безопасности или VPC настроены неправильно, подключение экземпляра не будет работать.
3. Установка групп веб-безопасности с общедоступным ip4-адресом сделала свое дело.
4. @Salam Рад, что это сработало. Если какой-либо из ответов помог, принятие одного из них является хорошей практикой.
Ответ №2:
Убедитесь, что вам присвоен общедоступный IP-адрес.
Согласно документам:
Для подключения с помощью консоли Amazon EC2 (клиент на основе браузера) экземпляр должен иметь общедоступный IPv4-адрес.**
Вы также можете подключиться к экземпляру EC2 другими способами, если вы не хотите / не можете назначить общедоступный IPv4-адрес:
Если у экземпляра нет общедоступного IP-адреса, вы можете подключиться к экземпляру по частной сети с помощью SSH-клиента или командной строки EC2 Instance Connect. Например, вы можете подключиться из того же VPC или через VPN-соединение, транзитный шлюз или AWS Direct Connect.
К вашему сведению: для других AMI с дистрибутивами Linux, отличными от Amazon Linux 2 или Ubuntu 16.04 , вам потребуется дополнительная настройка, как указано в ответе Марчина.
ami-074cce78125f09d61
для us-east-2
меня подходит in, Amazon Linux 2 AMI (HVM), SSD Volume Type
который по умолчанию поддерживает подключение экземпляра EC2, так что ваш AMI должен быть в порядке.