Содержание
- 1 Подробности:
- 2 Шаг 1)
- 3 Шаг 2)
- 4 Шаг 3) Создайте файл crunchify-host
- 5 Шаг 4) Создайте файл crunchify-ec2.yml
- 6 Шаг 5) Выполнить сборник игр
- 7 Ansible Result:
- 8 Давайте проверим, что новый экземпляр успешно создан со всеми нашими спецификациями.
- 9 Проверьте файл crunchify.txt, который имеет IP-адрес недавно созданного хоста:
Amazon AWS, без сомнения, best public cloud там Как мы обсуждали в предыдущих уроках, Ansible — очень удобный инструмент для системных администраторов для поддержки инфраструктуры своей компании.
В этом руководстве мы рассмотрим шаги по созданию, запуску и настройке экземпляра Amazon EC2 с использованием простых скриптов Ansible.
Подробности:
- укажите instance_type:
t2.micro - указать security_group:
crunchify_security_grp- Измените группу безопасности в соответствии с вашими потребностями.
- указать изображение:
ami-crunchify231di- Вам необходимо создать образ Amazon перед выполнением этого.
- указать пару ключей:
crunchify- Это ваш ключ безопасности для пароля без входа в систему.
- выберите регион по умолчанию:
us-east-2- Регион по умолчанию, который я бы порекомендовал.
- количество виртуальных машин, которые вы хотите запустить: 1
- начать с ВМ 1.
- создать базовую группу брандмауэров
- создать экземпляр Amazon EC2
- Подождите, например, чтобы прийти
- Получить IP-адрес и сохранить в файл crunchify.txt
- вам нужно создать crunchify.txt перед выполнением этого скрипта.
- Пометить вновь созданный экземпляр как 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
|
ansible — playbook — я , / хосты crunchify — ec2 . 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 $ ansible — playbook — я , / хосты crunchify — ec2 . 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 проверить экземпляр.
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.
0.00 (0%) 0 votes













