Нужно Ansible для создания нового экземпляра Ec2 Каждый раз - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть скрипт Ansible, который запускает скрипт Cloudformation.Проблема в том, что сценарий ansible должен запускаться снова и снова в течение определенного времени, чтобы создать неограниченное количество серверов в AWS, точно так же, как при запуске облачной атаки Cloudformation в AWS, но при запуске более одного раза он продолжает обновлять один и тот же созданный ресурс.Это просто меняет имя.Я пытался исправить это в течение 2 дней.Мне нужен способ создать НОВЫЙ сервер в aws, независимо от того, сколько раз я запускаю сценарий ansible.Я полагаю, что проблема - идентификатор экземпляра.Поскольку он видит, что он создан, он не пытается создать новый.Вот мой код Cloudformation, загруженный на s3.

Parameters:
  KeyPair:
    Type: AWS::EC2::KeyPair::KeyName
    Description: Connects to this
Resources:
  ec2:
    Type: AWS::EC2::Instance
    Properties:
  ImageId: ami-04681a1dbd79675a5
  InstanceType: t2.micro
  KeyName: !Ref KeyPair

И это мой код Ansible для запуска сервера ec2 в корзине s3.Бегал как ansible-playbook provision.yml

пожалуйста помогите.

- hosts: localhost
  tasks:
    - name: first Task Provision ec2
      cloudformation:
        stack_name: 'provisiong-ec2'
        state: present
        region: us-east-1
        disable_rollback: true
        template_url: https://s3.amazonaws.com/randombuckets/ansy2-cloudformation.template
        template_parameters:
          KeyPair: rabbit

1 Ответ

0 голосов
/ 19 сентября 2018

Он не создает новый экземпляр, потому что stack_name не изменился, и ваш CFT строит только один хост (который уже построен).

Ваши непосредственные варианты:

  1. Создайте свои экземпляры, используя AutoScalingGroups (ASG) в пределах CloudFormation.Вы можете указать минимальное количество хостов (MinSize) в качестве параметра, а ASG позаботится об остальном.Вам нужно будет встроить некоторую логику, чтобы увеличить счетчик на одну каждую итерацию.
  2. (не рекомендуется) Меняйте имя стека каждый раз, когда вы запускаете Ansible playbook
  3. (не рекомендуется) Добавитькаждый раз, когда вы хотите запустить Ansible, другой хост для вашего CFT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...