호스트를 요청하는 vpc를 생성할 수 있습니다.

호스트를 요청하는 vpc를 생성할 수 있습니다.

나는 ansible을 처음 접했고 내가하고있는 일을 읽으면 효과가 있을 것입니다. 다음 파일이 있습니다.aws.yml

---
- hosts: localhost
  connection: local
  gather_facts: no
  vars:
    aws_region: us-east-1
  tasks:
    - name: Main VPC
      ec2_vpc:
        state: present
        cidr_block: 10.5.0.0/16
        resource_tags: {"environment": "prod"}
        region: "{{ aws_region }}"
        dns_hostnames: no
        dns_support: yes
        instance_tenancy: default
        internet_gateway: yes
        subnets:
          - cidr: 10.5.151.96/27
            az:  "{{ aws_region }}a"
            resource_tags: {"Name": "private"}
          - cidr: 10.5.151.128/27
            az:  "{{ aws_region }}b"
            resource_tags: {"Name": "private"}
          - cidr: 10.5.151.160/27
            az:  "{{ aws_region }}c"
            resource_tags: {"Name": "private"}

Ansible-playbook을 실행하면 다음과 같은 결과가 나타납니다.

$ ansible-playbook aws.yml
ERROR: Unable to find an inventory file, specify one with -i ?

내가 이해한 바는 호스트입니다. localhost는 -i를 사용하는 대신 사용되어야 하며 여기서 VPC를 생성하려고 하기 때문에 이를 구축하기 위해 머신에 SSH로 연결하고 싶지 않습니다.

감사해요

답변1

플레이북은 플레이가 적용되는 호스트만 알려주고 그러한 목록을 정의하는 수단을 제공하지 않기 때문에 인벤토리 파일(비어 있는 파일이라도)을 가리켜야 합니다. 운 좋게도 localhost기본적으로 사용할 수 있습니다.

$ cat playbook.yml
---
- hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - shell: echo foo

$ ansible-playbook -i /dev/null playbook.yml
 [WARNING]: provided hosts list is empty, only localhost is available

PLAY [localhost] **************************************************************

TASK: [shell echo foo] ********************************************************
changed: [localhost]

PLAY RECAP ********************************************************************
localhost                  : ok=1    changed=1    unreachable=0    failed=0

관련 정보