Создание экземпляров EC2 вручную может занять много времени. К счастью, Ansible предоставляет эффективный и автоматизированный способ создания экземпляров EC2. В этой статье мы рассмотрим пошаговый процесс создания экземпляра EC2 и S3 Bucket с помощью Ansible Playbooks.
С чего начать:
Шаг 1. Войдите в консоль AWS https://aws.amazon.com/console/
Шаг 2. Запустите машину с Ubuntu.
Шаг 3. Создайте пользователя IAM и присвойте ему права администратора.
Шаг 4. Подключитесь к машине Ubuntu в консоли AWS.
Шаг 5. Обновите пакеты по умолчанию для машины Ubuntu. Для этого запустите команду c подходящими для вас параметрами.
sudo apt update
Шаг 6. Установите Ansible на машину с Ubuntu, следуя приведенной ниже команде:
sudo apt install ansible
Шаг 7. Установите модули Ansible Galaxy, следуя команде:
ansible-galaxy collection amazon.aws
Шаг 8. Установите пакеты python и boto, следуя приведенной ниже команде.
sudo apt install python3-pip
pip install --user boto3
Шаг 9. Настройте учетные данные AWS, следуя команде:
aws configure
Шаг 10. Создайте файл Ec2instance-S3bucket.yml
.
Параметры
- name: Create EC2 instance
hosts: localhost
gather_facts: yes
tasks:
- name: Create EC2 instance
community.aws.ec2_instance:
name: my-instance
instance_type: t2.micro
image_id: ami-0f5ee92e2d63afc18
key_name: test
security_groups: default
- name: Create S3 bucket
amazon.aws.s3_bucket:
name: my-bucket87653890-name
state: present
Содержимое плейбука
Теперь давайте пройдемся по содержимому этого плейбука:
hosts: localhost
указывает на то, что плейбук будет запускаться локально на управляющей машине
gather_facts:
указывает на то, будет или не будет Ansible собирать факты о хосте.
EC2_Instance
— это основная задача для создания экземпляра EC2. Мы указываем имя ключа, тип экземпляра, AMI-идентификатор, регион, группу безопасности и количество. Параметр ожидания указывает, что Ansible будет ждать создания экземпляра, прежде чем продолжить.
Replace:
Заменить t2.micro на желаемый тип экземпляра, ami-123456890 на желаемый Amazon Machine Image (AMI), ap-south-1 на желаемый регион, key-name на имя вашей пары ключей SSH, my-security-group с именем вашей группы безопасности, а my-instance на желаемое имя экземпляра.
Шаг 11. Запустите ansible playbook, следуя приведенной ниже команде.
ansible-playbook Ec2instance-S3bucket.yml
Проверяем
Шаг 1. Проверьте, создан ли экземпляр Ec2?
Шаг 2. Проверьте, создан ли S3 Bucket или нет?
Вот и все! Вы успешно создали экземпляр EC2 и S3 Bucket с помощью Ansible Playbook.
Если вы хотите научиться самостоятельно писать плейбуки в Ansible, использовать роли и модули, приходите на курс «Ansible: Infrastructure as Code». Новый поток стартует 21 августа. Посмотреть программу и записаться на курс можно на нашем сайте. Ждём на курсе!
Комментарии (5)
smarthomeblog
27.07.2023 15:34+3ИМХО пример так себе. Да и Терраформ для этих целей более подходящий вариант. А вот как поставить необходимый софт на виндовую EC2, к примеру, было бы намного интереснее.
Magister-Ice
27.07.2023 15:34Чем указанный инструмент лучше внутренних инструментов AWS (например Auto Scaling Group)?
trabl
27.07.2023 15:34+2Думаю что применение Ansible необходимо показывать на примере развёртывания не только серверов, но и их настройки минимальной хотя бы, установки условного nginx, ну и не на одном хосте естественно. Иначе новичку не совсем понятно зачем ему Ansible, когда он быстрее мышкой в веб интерфейсе AWS всё сделает.
D1abloRUS
Мне нужно уточнить, сейчас точно 2023?
maksim3201
Самое время, чтобы прорекламировать свою shitastrucrure as code.