Создание экземпляра веб-сервера в AZ, создание целевой группы, создание балансировщика нагрузки с использованием шаблона CloudFormation для управления ресурсом AWS.
Вот такой сценарий:
Создать шаблон CloudFormation для создания следующих ресурсов и вывода
- Обязательные параметры ○ Группа безопасности веб-сервера
- Веб-сервер: AMI - Ubuntu Server 18.04 LTS, t2.micro, Установите веб-сервер apache с использованием пользовательских данных
- Целевая группа со ссылкой на созданный веб-сервер
- Приложение Балансировщик нагрузки
- Слушатель ссылается на балансировщик нагрузки и целевую группу
- URL-адрес выходного балансировщика нагрузки
Использование YAML:
AWSTemplateFormatVersion: 2010-09-09
Description: AWS cloudformation template to create ec2 instance with http apache web server, target group, and load balancer.
This template creates one or more Amazon EC2 instances and an application Load Balancer.
Parameters:
KeyName:
Description: Name of an existing EC2 Keypair to enable SSH access to the instance
Type: AWS::EC2::KeyPair::KeyName
Default: project04
ConstraintDescription: must be the name of an existing EC2 KeyPair.
InstanceType:
Description: WebServer EC2 instance type
Type: String
Default: t2.micro
AmiId:
Description: Ubuntu 18.04 LTS AMI Id
Type: String
Default: ami-0ac019f4fcb7cb7e6
SSHLocation:
Description: The IP address range that can be used to SSH to 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:
WebServerInstance:
Type: AWS::EC2::Instance
Properties:
InstanceType: !Ref 'InstanceType'
SecurityGroups: [!Ref 'WebServerSecurityGroup']
KeyName: !Ref 'KeyName'
ImageId: !Ref "AmiId"
UserData:
Fn::Base64:
Fn::Join:
-"
--|
#!/bin/bash
-'# Launching Instance'
-|
sudo apt-get update -y
sudo apt-get install -y apache2
WebServerSecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Enable SSH traffic and HTTP access
SecurityGroupIngress:
IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: !Ref 'SSHLocation'
IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
Outputs:
URL:
Description: The URL of the sample website
Value: !Join ['', ['http://', !GetAtt [WebServerInstance, PublicDNSName]]]
Нужна помощь и предоставить код YAML для:
- Целевая группа со ссылкой на созданный веб-сервер
- Приложение Балансировщик нагрузки
- Слушатель ссылается на балансировщик нагрузки и целевую группу
Просьба сообщить о предоставлении кода YAML для шаблона CloudFormation, который невозможно найти выше.