Домой Без рубрики Как создать, запустить и настроить экземпляр Amazon EC2 с помощью простого Ansible...

Как создать, запустить и настроить экземпляр Amazon EC2 с помощью простого Ansible Script? (порождает ВМ удаленно)

404

Amazon AWS, без сомнения, best public cloud там Как мы обсуждали в предыдущих уроках, Ansible — очень удобный инструмент для системных администраторов для поддержки инфраструктуры своей компании.

В этом руководстве мы рассмотрим шаги по созданию, запуску и настройке экземпляра Amazon EC2 с использованием простых скриптов Ansible.

Подробности:

  1. укажите instance_type: t2.micro
  2. указать security_group: crunchify_security_grp
    • Измените группу безопасности в соответствии с вашими потребностями.
  3. указать изображение: ami-crunchify231di
    • Вам необходимо создать образ Amazon перед выполнением этого.
  4. указать пару ключей: crunchify
    • Это ваш ключ безопасности для пароля без входа в систему.
  5. выберите регион по умолчанию: us-east-2
    • Регион по умолчанию, который я бы порекомендовал.
  6. количество виртуальных машин, которые вы хотите запустить: 1
    • начать с ВМ 1.
  7. создать базовую группу брандмауэров
  8. создать экземпляр Amazon EC2
  9. Подождите, например, чтобы прийти
  10. Получить IP-адрес и сохранить в файл crunchify.txt
    • вам нужно создать crunchify.txt перед выполнением этого скрипта.
  11. Пометить вновь созданный экземпляр как crunchify

Шаг 1)

Установите ansible на macOS . Убедитесь, что вы правильно настроили Ansible

Шаг 2)

Вам нужно экспортировать свой AWS Access Key а также Secret Access Key , Следуйте инструкциям по настройке интерфейса командной строки Amazon AWS для получения ключей.

1
2
экспорт AWS_ACCESS_KEY_ID = JHKHLJLHJHJK2SHIY27AIF
export AWS_SECRET_ACCESS_KEY = QLKJDKIAYXNIWN2ZHIY27AI54345HKLHJ

Шаг 3) Создайте файл crunchify-host

1
2
[ местный ]
localhost ansible_connection = local ansible_python_interpreter = python

Шаг 4) Создайте файл crunchify-ec2.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
   имя : Предоставление ЕС2 Instance. Подробные шаги по Crunchify .
     хосты : местный
     соединение : местный
     collect_facts : Ложь
     теги : резервирование
     # обязательные параметры
     ВАРС :
       instance_type : T2 . микро
       security_group : crunchify_security_grp
       изображение : амиcrunchify231di
       пара ключей : crunchify
       регион : насвосток2 # Изменить регион
       считать : 1
     # Задача, которая будет использоваться для запуска / создания экземпляра EC2
     задачи :
       имя : Создайте группа безопасности
         local_action :
           модуль : ec2_group
           имя : {{security_group}}
           описание : Группа безопасности для Серверы Crunchify EC2
регион: {{регион}}
правила:
— прото: tcp
from_port: 22
to_port: 22
cidr_ip: 0.0.0.0/0
— прото: tcp
from_port: 8080
to_port: 8080
cidr_ip: 0.0.0.0/0
— прото: tcp
from_port: 443
to_port: 443
cidr_ip: 0.0.0.0/0
rules_egress:
— прото: все
cidr_ip: 0.0.0.0/0
зарегистрироваться: basic_firewall
        
— Название: Запуск Crunchify»s новый EC2 Экземпляр
         local_action : ec2
                       группа = { { security_group } }
                       instance_type = { { instance_type } }
                       изображение = { { образ } }
                       подождите = правда
                       wait_timeout = 500
                       регион = { { область, край } }
                       пара ключей = { { пара ключей } }
                       count = { { count } }
         зарегистрироваться : ec2_crunchify
       имя : Добавьте вновь созданный экземпляр (ы) EC2 в локальная группа хост
         local_action : lineinfile
                       Путь = crunchify. текст
                       regexp = { { предмет . public_ip } }
                       inserttafter = '/ [crunchify /]' линия = { { предмет . public_ip } }
         with_items : '{{ec2_crunchify.instances}}'
       имя : Добавить новый экземпляр для Crunchify в группе хостов
add_host:
имя хоста: {{item.public_ip}}
имя группы: запущено
with_items: {{ec2_crunchify.instances}}
— Имя: ДАВАЙТЕ ждать SSH к придумать. Обычно это занимает ~ 10 секунд
         local_action : ждать
                       хост = { { предмет . public_ip } }
                       порт = 22
                       состояние = началось
         with_items : '{{ec2_crunchify.instances}}'
       имя : Добавить тег к Экземпляр (ы)
         local_action : ec2_tag resource = { { предмет . Я бы } } регион = { { область, край } } состояние = настоящее
         with_items : '{{ec2_crunchify.instances}}'
         args :
           теги :
             Имя : crunchify

Шаг 5) Выполнить сборник игр

1
ansibleplaybook я , / хосты crunchifyec2 . YML

Ansible Result:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Баш3 . 2 $ ansibleplaybook я , / хосты crunchifyec2 . YML
ИГРАТЬ [Предоставление ЕС2 Instance. Подробные шаги по Crunchify . ] ************************************************** ************************************************** ************
ЗАДАЧА [ Создать группа безопасности ] ************************************************** ************************************************** ********************************************
оК: [ localhost > localhost ]
ЗАДАЧА [ Мастер Запуск нового EC2 Экземпляр ] ************************************************** ************************************************** *******************************
изменилось : [ localhost > localhost ]
ЗАДАЧА [Добавьте вновь созданный экземпляр (ы) EC2 в локальный хост группа] ************************************************** ************************************************** ******
изменилось : [ localhost > localhost ] = > ( item = { u 'ramdisk' : Нет , ты 'ядро' : Нет , u 'root_device_type' : U 'EBS', u 'private_dns_name' : u 'ip-172-31-41-108.us-east-2.compute.internal' , u 'block_device_mapping' :
{ u '/ dev / sda1' : { u 'status' : ты привязан , u 'delete_on_termination' : Правда , u 'volume_id' : u 'vol-06d37e8354c769d93' } } , u 'key_name' : и 'crunchify', u 'public_ip' : u '3.19.60.48' , u 'image_id' : u 'ami-crunchify231di' , ты 'арендатор' : ты по умолчанию , u 'private_ip' : u '172.31.41.108' , у «групп» :
{ u 'sg-0eb80f388be5a7c35' : u 'crunchify_security_grp' } , u 'public_dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , u 'код_состояния' : 16 , ты 'id' : u 'i-0e447dd1223a40f8e' , вы 'теги' : { } , U 'размещение' : ты 'us-east-2c' , u 'ami_launch_index' : ты '0' , u 'dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , у 'регион' : ты нас-восток-2 , вы 'ebs_optimized' : Неверно , u 'launch_time' : u '2019-05-10T18: 48: 18.000Z' , u 'instance_type' : u 't2.micro' , ты состояние : ты бегаешь , ты архитектура : u 'x86_64' , Вы 'гипервизор' : и 'Xen', u 'virtualization_type' : и 'HVM', u 'root_device_name' : u '/ dev / sda1' } )
ЗАДАЧА [ Добавить новый экземпляр для принимающая группа ] ************************************************** ************************************************** *************************************
изменилось : [ localhost ] = > ( item = { u 'ramdisk' : Нет , ты 'ядро' : Нет , u 'root_device_type' : U 'EBS', u 'private_dns_name' : u 'ip-172-31-41-108.us-east-2.compute.internal' , u 'block_device_mapping' :
{ u '/ dev / sda1' : { u 'status' : ты привязан , u 'delete_on_termination' : Правда , u 'volume_id' : u 'vol-06d37e8354c769d93' } } , u 'key_name' : и 'crunchify', u 'public_ip' : u '3.19.60.48' , u 'image_id' : u 'ami-crunchify231di' , ты 'арендатор' : ты по умолчанию , u 'private_ip' : u '172.31.41.108' , у «групп» :
{ u 'sg-0eb80f388be5a7c35' : u 'crunchify_security_grp' } , u 'public_dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , u 'код_состояния' : 16 , ты 'id' : u 'i-0e447dd1223a40f8e' , вы 'теги' : { } , U 'размещение' : ты 'us-east-2c' , u 'ami_launch_index' : ты '0' , u 'dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , у 'регион' : ты нас-восток-2 , вы 'ebs_optimized' : Неверно , u 'launch_time' : u '2019-05-10T18: 48: 18.000Z' , u 'instance_type' : u 't2.micro' , ты состояние : ты бегаешь , ты архитектура : u 'x86_64' , Вы 'гипервизор' : и 'Xen', u 'virtualization_type' : и 'HVM', u 'root_device_name' : u '/ dev / sda1' } )
ЗАДАЧА [Подождите SSH к придумать] ************************************************** ************************************************** ********************************************
оК: [ localhost > localhost ] = > ( item = { u 'ramdisk' : Нет , ты 'ядро' : Нет , u 'root_device_type' : U 'EBS', u 'private_dns_name' : u 'ip-172-31-41-108.us-east-2.compute.internal' , u 'block_device_mapping' :
{ u '/ dev / sda1' : { u 'status' : ты привязан , u 'delete_on_termination' : Правда , u 'volume_id' : u 'vol-06d37e8354c769d93' } } , u 'key_name' : и 'crunchify', u 'public_ip' : u '3.19.60.48' , u 'image_id' : u 'ami-crunchify231di' , ты 'арендатор' : ты по умолчанию , u 'private_ip' : u '172.31.41.108' , у «групп» :
{ u 'sg-0eb80f388be5a7c35' : u 'crunchify_security_grp' } , u 'public_dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , u 'код_состояния' : 16 , ты 'id' : u 'i-0e447dd1223a40f8e' , вы 'теги' : { } , U 'размещение' : ты 'us-east-2c' , u 'ami_launch_index' : ты '0' , u 'dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , у 'регион' : ты нас-восток-2 , вы 'ebs_optimized' : Неверно , u 'launch_time' : u '2019-05-10T18: 48: 18.000Z' , u 'instance_type' : u 't2.micro' , ты состояние : ты бегаешь , ты архитектура : u 'x86_64' , Вы 'гипервизор' : и 'Xen', u 'virtualization_type' : и 'HVM', u 'root_device_name' : u '/ dev / sda1' } )
ЗАДАЧА [ Добавить тег к Экземпляр (ы)] ************************************************** ************************************************** *********************************************
изменилось : [ localhost > localhost ] = > ( item = { u 'ramdisk' : Нет , ты 'ядро' : Нет , u 'root_device_type' : U 'EBS', u 'private_dns_name' : u 'ip-172-31-41-108.us-east-2.compute.internal' , u 'block_device_mapping' :
{ u '/ dev / sda1' : { u 'status' : ты привязан , u 'delete_on_termination' : Правда , u 'volume_id' : u 'vol-06d37e8354c769d93' } } , u 'key_name' : и 'crunchify', u 'public_ip' : u '3.19.60.48' , u 'image_id' : u 'ami-crunchify231di' , ты 'арендатор' : ты по умолчанию , u 'private_ip' : u '172.31.41.108' , у «групп» :
{ u 'sg-0eb80f388be5a7c35' : u 'crunchify_security_grp' } , u 'public_dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , u 'код_состояния' : 16 , ты 'id' : u 'i-0e447dd1223a40f8e' , вы 'теги' : { } , U 'размещение' : ты 'us-east-2c' , u 'ami_launch_index' : ты '0' , u 'dns_name' : u 'ec2-3-19-60-48.us-east-2.compute.amazonaws.com' , у 'регион' : ты нас-восток-2 , вы 'ebs_optimized' : Неверно , u 'launch_time' : u '2019-05-10T18: 48: 18.000Z' , u 'instance_type' : u 't2.micro' , ты состояние : ты бегаешь , ты архитектура : u 'x86_64' , Вы 'гипервизор' : и 'Xen', u 'virtualization_type' : и 'HVM', u 'root_device_name' : u '/ dev / sda1' } )
PLAY RECAP * *********************************************** ************************************************** ************************************************** ****************
локальный                    : хорошо = 6      изменилось = 4      недоступен = 0      не удалось = 0   

Давайте проверим, что новый экземпляр успешно создан со всеми нашими спецификациями.

Идти к Amazon AWS console проверить экземпляр.

ЧИТАТЬ ТАКЖЕ:  Лучшие расширения Google Chrome для поисковой оптимизации (SEO) [издание 2019 г.]

Link: https://us-east-2.console.aws.amazon.com/ec2/v2/home?region=us-east-2#Instances:sort=instanceId

Убедитесь, что вы проверили все свои настройки .

Проверьте свои теги . Это очень полезно, если вы имеете дело с hundreds of instances ,

Проверьте файл crunchify.txt, который имеет IP-адрес недавно созданного хоста:

1
2
Баш3 . 2 $ кот crunchify. текст
18.217.28.189

Вот и все. Поздравление. Вы только что создали и запустили новый экземпляр EC2 в облаке Amazon AWS удаленно, используя Ansible .

Дайте мне знать, если у вас возникнут проблемы с созданием экземпляра в облаке Amazon EC2.

Как создать, запустить и настроить экземпляр Amazon EC2 с помощью простого Ansible Script? (порождает ВМ удаленно)

0.00 (0%) 0 votes