2017-02-09 5 views
1

私はタグ付きでN個のec2インスタンスを起動しようとしている:N個のインスタンスに応じて "nginx1、nginx2"のような名前方法はありますが、私は方法が分かりません可能性ec2タグをインクリメンタルな数字で生成する

- name: Nginx Nodes 
    ec2: 
    key_name: "{{ key_name }}" 
    region: "{{ region }}" 
    instance_type: t2.nano 
    image: "{{ nginx_ami }}" 
    group: nginxsg 
    exact_count: 2 
    count_tag: 
     Name: "{{ nginx_name }}" 
    instance_tags: 
     Name: "{{ nginx_name }}" 
     Environment: "{{ env }}" 
    monitoring: no 
    vpc_subnet_id: "{{ AWS.db_subnets | random }}" 
    assign_public_ip: yes 
    register: nignx_instance 

答えて

0

あなたの要件に応じてこの例を調整してください。

- name: Nginx Nodes 
    ec2: 
    key_name: "{{ key_name }}" 
    region: "{{ region }}" 
    instance_type: t2.nano 
    image: "{{ nginx_ami }}" 
    group: nginxsg 
    instance_tags: 
     Name: "{{ nginx_name }}-{{ item.0 + 1 }}" 
     Environment: "{{ env }}" 
    monitoring: no 
    vpc_subnet_id: "{{ item.1 }}" 
    assign_public_ip: yes 
    with_indexed_items: "{{ AWS.db_subnets }}" 
    register: nignx_instance 

完全なリファレンスについては、このlink

+0

は 'exact_count'を削除するために忘れにご相談ください。 –

+0

@ ConstantinSuvorovありがとう –

+0

@ArbabNazarこのアプローチの問題は、私が持っているサブネットの量に依存していることです。サブネットの数より多くのマシンを必要とする場合はどうなりますか?おそらく最初に必要なec2の量と同じサイズの配列を作成し、with_indexed_itemsを使用します。 –

関連する問題