[PYTHON] Installer ansible à partir du code source

Dans la version stable d'ansible, même si j'ai défini le profil utilisé par awscli dans module ec2, cela a échoué. Au fait, module_ec2_group fonctionne très bien. J'ai essayé la version de développement et cela a fonctionné, mais cela a bien fonctionné, mais cela a bien fonctionné, mais c'était [hacking / env-setup](https: / /github.com/ansible/ansible/blob/devel/hacking/env-setup) ajoute autant que possible des variables d'environnement et c'est un peu difficile à gérer, j'ai donc créé un environnement virtualenv et l'ai installé en utilisant setup.py .. L'environnement d'exécution est OS X Yosemite + MacPorts. Vous pouvez remplacer la commande virtualenv-2.7 par virtualenv.

virtualenv-2.7 env
source env/bin/activate
pip install --upgrade pip
pip install paramiko PyYAML Jinja2 httplib2
pip install boto awscli
git clone git://github.com/ansible/ansible.git --recursive
python setup.py install
cd ..
rehash
which ansible

C'est juste un passe-temps de mettre awscli à ce moment. Si vous sortez sur virtualenv avec quel ansible, c'est OK

/Users/hoge/dev/unkoproject/server/infra/env/bin/ansible

Ensuite, créez un profil avec awscli.

aws configure --profile toilet

Après cela, faites une utilisation appropriée de local_action et exécutez-le.

echo "localhost ansible_python_interpreter=`which python`" > hosts
vi unko.yml
ansible-playbook -i hosts unko.yml

unko.yml a le contenu suivant.

- name: Unko
  hosts: 127.0.0.1
  connection: local
  tasks:
    - name: Create Security Group
      local_action:
        module: ec2_group
        name: unko_group
        description: Security Group for Unko
        region: ap-northeast-1
        profile: toilet
        rules:
          - proto: tcp
            from_port: 22
            to_port: 22
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 80
            to_port: 80
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 443
            to_port: 443
            cidr_ip: 0.0.0.0/0
          - proto: tcp
            from_port: 25
            to_port: 25
            cidr_ip: 0.0.0.0/0

    - name: Unko Web Server Instance
      local_action:
        module: ec2
        region: ap-northeast-1
        keypair: ToiletKey
        group: unko_group
        instance_type: t2.micro
        image: ami-936d9d93
        count: 1
        wait: yes
        profile: toilet
      register: ec2

    - name: Add Web Server instance to host group
      local_action: add_host hostname={{ item.public_ip }} groupname=unko
      with_items: ec2.instances

    - name: Add tag to instances
      local_action: ec2_tag resource={{ item.id }} region=ap-northeast-1 state=present profile=toilet
      with_items: ec2.instances
      args:
        tags:
          Name: Unko

    - name: Wait for SSH to become available
      pause: minutes=1

J'aurais aimé avoir un peu plus de sens pour nommer.

Recommended Posts

Installer ansible à partir du code source
Installez Python à partir des sources avec Ansible
Installer Python à partir de la source
Installez Apache 2.4.41 depuis la source
Installez PostgreSQL à partir du code source sur CentOS
Installation d'Apache Maven (à partir des sources)
Installation d'Ansible
Compilez et installez Git à partir des sources.
Installer depuis conda-forge
Flux du code source à la création du format d'exécution
Installez vim7.3 (+ python2.4) depuis la source (compatible avec Gundo.vim)
Construire PostgreSQL à partir des sources
Installez Ansible sur Mac
[Python] Lecture du code source Django Vue à partir de zéro ①
Supprimer les commentaires sur une ligne, y compris le japonais du code source en Python
Script de vérification de code de caractère de code source
Arrêtez Omxplayer à partir du code Python
Installez pyenv depuis Homebrew, installez Python depuis pyenv
pip install empêche l'installation du proxy
Mettre le suffixe 2.11 dans la source avec ansible
Code wars kata à partir de zéro
Exécuter du code Python à partir de l'interface graphique C #
Exécutez Ansible à partir de Python à l'aide de l'API
Migrer de VS Code vers PyCharm
[Python] Lire le code source de Flask
Playbook Ansible pour installer et configurer `pyenv`
Obtenir une adresse à partir d'un code postal
Installez python avec mac vs code
Formatage du code source Jinja2 avec atom-beautify
Compter les lignes de code source (SLOC)
Installez la dernière version d'Apache httpd 2.4 à partir des sources sur Cent OS 8