Ansible для AWS - управление облаком стало проще



В этом блоге Ansible для AWS рассказывается о преимуществах использования Ansibe с AWS и демонстрируется автоматизация создания и инициализации инстанса EC2.

Компании потратили много времени и денег на разработку и установку программного обеспечения для улучшения своей деятельности. Введение в облачные вычисления предложило их бизнесу доступ к программному обеспечению в Интернете в качестве услуги, которая оказалась более эффективной и безопасной. Интеграция такого инструмента автоматизации ИТ, как Ansible, который легко выделяет и управляет вашей облачной инфраструктурой, такой как AWS, - все равно что сорвать джекпот. Об этом мы и поговорим в этом блоге Ansible для AWS.

Дневник:





Если вы хотите освоить DevOps, ' конечно был бы вашим вариантом.

Почему компании переходят в облако?

Как упоминалось ранее, Could Computing позволяет компаниям получать доступ к серверам, например к программному обеспечению, через Интернет. Чтобы было понятно, облачные вычисления похожи на подключение к центральной электросети вместо выработки собственной энергии. Облако стало новой нормой, и это привело к экономии времени и денег. Давайте посмотрим на несколько преимуществ, по которым компании переходят в облако.



1. Гибкость:

Рост бизнеса никогда не бывает статичным. Облачные сервисы подходят для растущих и меняющихся бизнес-требований. Возможность увеличения и уменьшения масштаба развертывания в зависимости от требований делает его очень гибким.

2. Аварийное восстановление:

Каждый бизнес должен инвестировать в аварийное восстановление. Каждая богатая компания в конечном итоге вкладывает огромные средства в аварийное восстановление. Стартапам и малобюджетным компаниям не хватает денег и необходимых навыков для этого, и они не могут иметь надлежащую функциональную черту аварийного восстановления. Облако предоставляет клиентам решения аварийного восстановления для разработки надежных и экономичных планов.

3. Автоматические обновления программного обеспечения:

Как вы уже знаете, облако - это услуга, предоставляемая Интернетом, и, следовательно, все серверы недоступны или, скорее, не являются вашей головной болью. Поставщики заботятся о них, включая обновление по мере необходимости и регулярные проверки безопасности. Это снова приводит к экономии времени и денег.



4. Снижение затрат:

Создание центра обработки данных с нуля может обойтись дорого. Эксплуатация и обслуживание увеличивают расходы. Вам нужны подходящие технологии, подходящее оборудование, правильный персонал с нужными знаниями и опытом, что для меня звучит как большая работа. К тому же, что не очень многообещающе, есть миллион способов, которые могут пойти не так. Миграция в облако дает вам этот плюс.

5. Масштабируемость:

Традиционный способ планирования неожиданного роста - покупка и сохранение дополнительных серверов, хранилищ и лицензий. Прежде чем вы начнете их использовать, могут пройти годы. Облачные платформы позволяют масштабировать эти ресурсы по мере необходимости. Это динамическое масштабирование идеально подходит для непредсказуемого роста.

что такое хеш-карта и хеш-таблица в Java

6. Безопасность данных:

В большинстве случаев лучше хранить данные в облаке, а не на физическом устройстве, таком как ноутбуки или жесткие диски. Высокие шансы, что эти физические устройства будут украдены или разбиты. Облако позволяет удаленно либо удалить данные, либо передать их на другой сервер, убедившись, что данные остаются нетронутыми и безопасными.

7. Расширенное сотрудничество:

Использование облачных платформ позволяет команде открывать, редактировать и обмениваться документами в любое время и в любом месте. Они могут работать вместе, что увеличивает эффективность. Это также обеспечивает прозрачные обновления в реальном времени.

Возможности Ansible

Ansible обладает некоторыми уникальными функциями, и их совместная работа с Amazon Web Services оставляет след. Давайте посмотрим на эти невероятные функции:

  1. Ansible основан на безагентной архитектуре, в отличие от Chef и Puppet.
  2. Ansible получает доступ к своему хосту через SSH, что упрощает обмен данными между серверами и хостами.
  3. Никакой специальной инфраструктуры безопасности не требуется
  4. Настроить playbooks и модули очень просто, так как они соответствуют формату YAML
  5. Имеет широкий выбор модулей для своих клиентов
  6. Обеспечивает полное управление конфигурацией, оркестровку и возможность развертывания
  7. Ansible Vault хранит секреты в безопасности

Зачем использовать Ansible для AWS?

Теперь, когда мы узнали о преимуществах использования облачной платформы, такой как AWS, и уникальных функций Ansible, давайте посмотрим на волшебство, созданное объединением этих двух легенд.

1. Облако как группа услуг

Облако - это не просто группа серверов в чужом центре обработки данных, а нечто большее. Вы поймете это, как только развернете на нем свои сервисы. Доступно множество сервисов, которые позволяют быстро развертывать и масштабировать ваши приложения. Ansible Automation помогает управлять средой AWS как группой сервисов, а не использовать их как группу серверов.

2. Модули Ansible, поддерживающие AWS

Ansible используется для определения, развертывания и управления широким спектром сервисов. Самые сложные среды AWS можно очень легко подготовить с помощью playbook. Лучшая функция заключается в том, что вы создаете соединение сервер-хост, а затем запускаете playbook только на одной системе и предоставляете несколько других систем с возможностью увеличения и уменьшения в соответствии с требованиями.

В Ansible есть сотни модулей, поддерживающих AWS, и некоторые из них включают:

  • Группы автомасштабирования
  • CloudFormation
  • CloudTrail
  • CloudWatch
  • DynamoDB
  • ElastiCache
  • Эластичные облачные вычисления (EC2)
  • Диспетчер доступа к удостоверениям (IAM)
  • Лямбда
  • Служба реляционной базы данных (RDS)
  • Маршрут53
  • Группы безопасности
  • Простая служба хранения (S3)
  • Виртуальное частное облако (VPC)
  • И многое другое

3. Динамический инвентарь

В среде разработки хосты продолжают вращаться и выключаться из-за разнообразных бизнес-требований. В таком случае использования статической инвентаризации может быть недостаточно. В таких ситуациях необходимо использовать динамический инвентарь. Это позволяет отображать хосты на основе групп, предоставленных скриптами инвентаризации, в отличие от обычного инвентаризации, который заставляет вас вручную отображать хосты, что очень утомительно.

4. Безопасная автоматизация

Предположим, что у вас есть команда из 5 человек, и у каждого из них есть двое подчиненных, не обладающих достаточными навыками. Вы бы не хотели предоставлять им полный доступ ко всему процессу развертывания. Именно тогда вы понимаете, что необходимо ограничить авторизацию.

Ansible Tower предоставляет эту функцию для ограничения авторизации. По сути, вы выбираете, кто и что может делать, что упрощает модерацию.Кроме того, Ansible Tower шифрует учетные данные и другие конфиденциальные данные, и вы предоставляете подчиненным доступ только к соответствующим ресурсам, ограничивая их доступ к нерелевантным.

Демонстрация: автоматизация подготовки экземпляра EC2 с помощью Ansible

В этом демонстрационном разделе я собираюсь продемонстрировать, как Ansible поддерживает AWS, показав, как автоматизировать запуск и подготовку экземпляра EC2. Давайте начнем.

Шаг 1 :

Установите Ansible на свой серверный узел и установите SSH-соединение между вашим сервером и клиентскими узлами на AWS. В этом случае я создал два экземпляра EC2: один сервер, на котором установлен Ansible, а другой - клиент.

Шаг 2:

Теперь убедитесь, что у вас установлены все требования. Согласно документации это следующие требования:

  • Python> = 2.6
  • голос

Установите python, используя следующую команду:

$ sudo apt установить python

Установите boto с помощью следующей команды:

$ sudo apt установить python-pip
$ pip install boto

периодическая таблица инструментов DevOps

Boto - это интерфейс Python для использования веб-сервисов Amazon. Вам нужно будет импортировать его с помощью следующей команды:

$ питон
кнопка $ import
$ exit ()

голосование - Ansible For AWS - Edureka

Шаг 3:

Вам необходимо настроить AWS. Для этого используйте следующую команду:

$ aws настроить

И добавьте свой идентификатор ключа доступа AWS, секретный ключ и регион по умолчанию (что необязательно).

Шаг 4:

Напишите сценарий для запуска и подготовьте экземпляр EC2.

$ sudo vi /etc/ansible/launch.yml

--- - name: создать экземпляр ec2 hosts: web gather_facts: false vars: region: us-east-1 instance_type: t2.micro ami: ami-05ea7729e394412c8 keypair: priyajdm tasks: - name: создать экземпляр ec2 ec2: aws_access_key : '********************' aws_secret_key: '*********************** **************** 'key_name:' {{keypair}} 'group: launch-wizard-26 instance_type:' {{instance_type}} 'image:' {{ami}} 'wait: true region:' {{region}} 'count: 1 vpc_subnet_id: subnet-02f498e16fd56c277 assign_public_ip: yes register: ec2

Рекомендуется знать, что делает код, до его фактического выполнения. Позвольте мне объяснить этот сценарий для лучшего понимания.

Имя: Это может быть что угодно. Хорошая практика - сохранить имя, которое дает общее описание задачи, которую он выполняет.

Хост: Упоминает имя списка хостов, для которого необходимо выполнить playbook. В моем случае это Интернет .

gather_facts: Этот параметр сообщает Ansible о необходимости сбора всех соответствующих фактов, переменных и других данных для использования в будущем. В нашем случае мы установили значение false, потому что мы не используем сбор фактов (IP-адрес, имя хоста и т. Д.).

чья: В этом разделе определяются и инициализируются все переменные, которые мы будем использовать в этой инструкции. У нас есть четыре переменные:

  • область, край определяет регион, в котором должен появиться экземпляр EC2
  • instance_type определяет тип экземпляра, который мы пытаемся вызвать. В нашем случае мы используем t2.micro
  • который определяет AMI экземпляра, который мы пытаемся вызвать

  • пара ключей определяет пару ключей, которую мы собираемся использовать для вызова экземпляра

ec2: Это модуль, предоставляемый Ansible, используемый для запуска или завершения экземпляра EC2.

У этого модуля есть определенные параметры, которые мы будем использовать для определения других функций экземпляра EC2, который мы пытаемся запустить.

  • Начнем с упоминания идентификатора ключа доступа AWS и секретного ключа с помощью параметров aws_access_key и aws-secret_key .
  • key_name: передать переменную, которая определяет используемую здесь пару ключей
  • группа: упомяните название группы безопасности. Это определяет правила безопасности экземпляра EC2, который мы пытаемся вызвать.
  • instance_type: передать переменную, определяющую тип используемого здесь экземпляра
  • образ: передать переменную, которая определяет AMI изображения, которое мы пытаемся запустить
  • Подождите: Он имеет логическое значение true или false. Если true, он ожидает, пока экземпляр достигнет желаемого состояния, прежде чем вернуться.
  • область, край: передать переменную, определяющую регион, в котором необходимо создать экземпляр EC2.
  • количество: Этот параметр указывает количество экземпляров, которые необходимо создать. В данном случае я упомянул только один, но это зависит от ваших требований.
  • vpc_subnet_id: передайте идентификатор подсети, в которой вы хотите создать экземпляр
  • assign_public_ip: Этот параметр имеет логическое значение. Если это правда, как в нашем случае, публичный IP-адрес будет назначен экземпляру при инициализации в VPC.

Шаг 5:

Теперь, когда вы поняли каждую строчку в учебнике, давайте продолжим и выполним ее. Используйте следующую команду:

$ ansible-playbook /etc/ansible/launch.yml


круглый двойной в int java

После того, как вы запустите playbook, вы увидите, что создается экземпляр.


И ТАДА! Вы успешно автоматизировали подготовку экземпляра EC2. Таким же образом вы можете написать сценарий для остановки экземпляра EC2.

На этом мы подошли к концу блога Ansible For AWS. Если вы найдете эту статью полезной, ознакомьтесь с ' автор: Edureka. Он охватывает все инструменты, которые сделали ИТ-отрасль эффективной.