2016-10-31 7 views
0

저는 영사 (consul), 콩 (kong) 및 일부 ECS 작업과 같은 다양한 서비스를 위해 EC2 인스턴스를 제공 할 수있는 몇 가지 스크립트가 있습니다. vgcreate blah xvdd; lvcreate blah-volume blah; format : 저는 현재 추가 스토리지를 필요로하는 인스턴스를 수집하기 위해 ec2_remote_facts:를 사용 ec2_vol:.EBS 볼륨으로 EC2 인스턴스를 프로비저닝 할 때 Anabilities를 사용하면 어떻게 그 볼륨을 포맷해야합니까?

- name: Gather EC2 Facts 
    ec2_remote_facts: 
    region: "{{ region }}" 
    filters: 
     "things" 
    register: info 

- name: ec2-ebs 
    ec2_vol: 
    instance: "{{ item.id }}" 
    volume_size: 5 
    volume_type: gp2 
    device_name: xvdd 
    region: "{{ region }}" 
    name: "ebs-{{ environmentName }}-{{ item.id }}" 
    register: volumes 
    with_items: "{{ info.instances }}" 

- name: ecs-tag 
    ec2_tag: 
    resource: "{{ item.volume_id }}" 
    region: "{{ region }}" 
    state: present 
    tags: 
     Environment: "{{ environmentName }}" 
    with_items: "{{ volumes.results }}" 

내 솔루션 그냥 개별적으로 각 시스템에 SSH 및 금액 스크립트를 실행 shell:을 사용하는 것입니다 전진 사용하여 인스턴스를 필터링 할 수 있습니다 각 기계에. 그러나 많은 노력을 기울이지 않으면 멱등수를 만드는 법을 알지 못하며, 규모를 조정하면 커스텀 쉘 스크립트에서 유연성이 떨어진다.

나는 가능성이있는 lvol:을 찾았지만 새로운 ec2 컴퓨터에서 실행해야합니다. 우리는 hosts:localhost으로 실행하고 있습니다. 내 컴퓨터에서 무의식적으로 aws-cli를 사용하고 있는데 실제로는 ec2 인스턴스에 연결할 수 없다는 의미입니다.

답변

0

add_host을 사용하여 생성 된 호스트를 인벤토리에 동적으로 추가 할 수 있습니다.
새로운 인벤토리 호스트/그룹에 대한 게임 플레이를 실행하여 필요한 구성을 수행하십시오.

참고 : 파일 시스템을 포맷하는 모듈은 물론 디스크를 마운트하는 모듈도 있습니다.