2016-05-14 3 views
0

私の目標は、実行中のものに応じて最大8個のec2インスタンスを起動することです。情報を見つけるのが難しい部分は、順番にインスタンスに名前を付ける/タグ付けすることです。 tag_Nameには1から8までの間の有能なテストになる方法はありますか?ここで連続したタグ名を複数のec2のインスタンスを可能なプレイブックに設定する

は、私が持っているものです。

- name: Provision EC2 instances 
     ec2: 
     key_name: "{{ aws_public_key }}" 
     instance_type: t2.small 
     image: "{{ aws_ubuntu_ami }}" 
     wait: true 
     vpc_subnet_id: "{{ dev_subnet_public }}" 
     group_id: "{{ aws_group }}" 
     assign_public_ip: yes 
     instance_tags: 
      Name: ansible-test 
      environment: qa 
     exact_count: 8 
     count_tag: 
      Name: ansible-test* 
     region: "{{ aws_region }}" 
     volumes: 
      - device_name: /dev/sda1 
      volume_size: 300 
     register: ec2 

答えて

0

はこれを試してみてください。それを行うの

- name: Provision EC2 instances 
     ec2: 
     key_name: "{{ aws_public_key }}" 
     instance_type: t2.small 
     image: "{{ aws_ubuntu_ami }}" 
     wait: true 
     vpc_subnet_id: "{{ dev_subnet_public }}" 
     group_id: "{{ aws_group }}" 
     assign_public_ip: yes 
     instance_tags: 
      Name: ansible-test-{{item}} 
      environment: qa 
     count: 1 
     region: "{{ aws_region }}" 
     volumes: 
      - device_name: /dev/sda1 
      volume_size: 300 
     register: ec2 
     with_items: 
     - 1 
     - 2 
     ..... 
     - 8 

もう一つの方法は、ec2_tag

0

使用with_sequenceを使用して次のタスクでは、インスタンスの作成後にタグを修正することになります

例:

- name: Provision EC2 instances 
    ec2: 
    key_name: "{{ aws_public_key }}" 
    instance_type: t2.small 
    image: "{{ aws_ubuntu_ami }}" 
    wait: true 
    vpc_subnet_id: "{{ dev_subnet_public }}" 
    group_id: "{{ aws_group }}" 
    assign_public_ip: yes 
    instance_tags: 
     Name: ansible-test-{{item}} 
     environment: qa 
    with_sequence: 
     count: 8 
    exact_count: 8 
    count_tag: 
     Name: ansible-test* 
    region: "{{ aws_region }}" 
    volumes: 
     - device_name: /dev/sda1 
     volume_size: 300 
    register: ec2 
関連する問題