Автоматизація інфраструктури є важливою частиною ефективного управління хмарними середовищами. Нещодавно я використав AWS CloudFormation для запуску EC2 інстансу всього за кілька кроків, використовуючи вже налаштовану Security Group. Ось як я це зробив:
## Крок 1: Опис CloudFormation шаблону
Я створив файл YAML для визначення ресурсів, необхідних для EC2 інстансу. Ключові компоненти шаблону включали:
– **EC2 Instance**: Визначає тип інстансу, AMI ID та пару ключів для доступу.
– **Security Group Reference**: Оскільки Security Group вже була налаштована, шаблон просто посилається на її ID замість створення нової.
Переконайтеся, що стек та AMI знаходяться в одній регіоні, інакше стек не створиться.
## Крок 2: Створення параметрів для повторного використання
Для того, щоб шаблон був гнучким, я додав параметри для:
– Типу інстансу (`t3.micro`). Залежить від типів інстансів, доступних у вашому регіоні.
– Назви пари ключів для доступу через SSH
– AMI ID, залежно від регіону
Це гарантує, що той самий шаблон можна буде використовувати для різних налаштувань.
## Крок 3: Написання шаблону CloudFormation
Ось шаблон YAML:
~~~
AWSTemplateFormatVersion: ‘2010-09-09’
Resources:
MyEC2Instance:
Type: ‘AWS::EC2::Instance’
Properties:
ImageId: ami- #додайте ваш AMI ID
InstanceType: ‘t3.micro’
SecurityGroupIds:
– ‘sg-‘ #додайте SG ID
UserData:
Fn::Base64: !Sub |
#!/bin/bash
echo “Hello Hiba Iam EC2” > /var/www/html/index.html
yum install -y httpd
service httpd start
chkconfig httpd on
~~~
Зверніть увагу, що AWSTemplateFormatVersion: ‘2010-09-09’ — це єдине правильне значення на даний момент.
UserData запустить сервер Apache для хостингу сайту з повідомленням “Hello Hiba Iam EC2”.
## Крок 4: Розгортання CloudFormation стеку
1. Увійдіть до AWS Management Console.
2. Перейдіть до **CloudFormation** та натисніть **Create Stack**.
3. Завантажте файл шаблону YAML. “Ви можете синхронізувати код з GitHub репозиторію, але ця опція недоступна для всіх регіонів”.
4. Вкажіть значення для параметрів, включаючи:
5. Натисніть **Next** та дотримуйтесь інструкцій для розгортання стеку.
## Крок 5: Перевірка розгортання
Після завершення створення стеку:

– Перейдіть до **EC2 Dashboard**, щоб переконатися, що інстанс працює.
– Перевірте пов’язану Security Group, щоб упевнитися, що правильна конфігурація застосована.
## Чому цей підхід?
– **Ефективність**: Використання існуючої Security Group зменшує потребу в дублюванні налаштувань.
– **Повторне використання**: Параметри роблять шаблон адаптованим до різних середовищ.
– **Простота**: Автоматизація процесу мінімізує помилки, що виникають через людський фактор, і заощаджує час.
Комбінуючи можливості CloudFormation з попередньо налаштованими ресурсами, розгортання інфраструктури стає швидшим, більш стабільним і масштабованим.