Difference between revisions of "Manage AWS infrastructure using Ansible"

From wikieduonline
Jump to navigation Jump to search
(Created page with "== Configuration ==<ref>https://en.wikiversity.org/wiki/DevOps/Ansible/manage_AWS_infrastructure_using_Ansible</ref> Configure your computer for use Ansible to manage your Ama...")
 
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Configuration ==<ref>https://en.wikiversity.org/wiki/DevOps/Ansible/manage_AWS_infrastructure_using_Ansible</ref>
+
== Configuration ==
Configure your computer for use Ansible to manage your Amazon [[AWS]] infrastructure.
+
Configure your computer for use Ansible to manage your Amazon [[AWS]] infrastructure.<ref>https://en.wikiversity.org/wiki/DevOps/Ansible/manage_AWS_infrastructure_using_Ansible</ref>
* 1) Install ''aws cli'', ''[[python]]'', ''apt-get install python-pip'' and ''python pip boto''
+
* 1) Install ''[[aws cli]]'', ''[[python]]'', ''apt-get install python-pip'' and ''python pip boto''
 
* 2) Install [[Ansible]], macOS: <code>brew install ansible</code>
 
* 2) Install [[Ansible]], macOS: <code>brew install ansible</code>
 
* 3) Configure your local ''aws cli'' installation to allow you to make operation on your AWS infrastructure.  
 
* 3) Configure your local ''aws cli'' installation to allow you to make operation on your AWS infrastructure.  
  
Installation one line: <code>apt-get install awscli python-pip ansible && pip install boto</code>
+
Installation one line: <code>apt-get install awscli python-pip ansible && pip install [[boto]]</code>
  
 
== Basic Operations ==
 
== Basic Operations ==
Line 51: Line 51:
 
   - debug: msg="{{ ec2_facts }}"
 
   - debug: msg="{{ ec2_facts }}"
 
</pre>
 
</pre>
 +
 +
 +
== Related terms ==
 +
* [[Create aws ec2 instance with ansible]]
  
 
== See also ==
 
== See also ==
* List of Debian9 Image Id (ami): https://wiki.debian.org/Cloud/AmazonEC2Image/Stretch
+
* List of [[Debian9]] Image Id ([[ami]]): https://wiki.debian.org/Cloud/AmazonEC2Image/Stretch
 
* List of Ubuntu Image Id (ami): https://cloud-images.ubuntu.com/locator/ec2/
 
* List of Ubuntu Image Id (ami): https://cloud-images.ubuntu.com/locator/ec2/
* [[Cloud computing/Amazon Web Services/AWS Command Line Tool (CLI)]]
+
* [[AWS Command Line Tool (CLI)]]
 +
* {{Ansible}}
 
* Ansible EC2 module documentation https://docs.ansible.com/ansible/2.6/modules/ec2_module.html
 
* Ansible EC2 module documentation https://docs.ansible.com/ansible/2.6/modules/ec2_module.html
 
* Ansible Cloud modules https://docs.ansible.com/ansible/2.6/modules/list_of_cloud_modules.html
 
* Ansible Cloud modules https://docs.ansible.com/ansible/2.6/modules/list_of_cloud_modules.html
  
 
[[Category:Server administration]]
 
[[Category:Server administration]]
{{subpage navbar}}
 

Latest revision as of 12:37, 5 August 2021

Configuration[edit]

Configure your computer for use Ansible to manage your Amazon AWS infrastructure.[1]

  • 1) Install aws cli, python, apt-get install python-pip and python pip boto
  • 2) Install Ansible, macOS: brew install ansible
  • 3) Configure your local aws cli installation to allow you to make operation on your AWS infrastructure.

Installation one line: apt-get install awscli python-pip ansible && pip install boto

Basic Operations[edit]

  • Start a AWS EC2 machine:

We will use ansible EC2 module[2]. Create a new file, for example aws_start_machine.yml. Put your instance_ids and region values, (execute aws ec2 describe-instances to obtain them or aws ec2 describe-instances | grep InstanceId to obtain only InstanceIds) and execute your newly created script,

chmod +x aws_start_machine.yml; ./aws_start_machine.yml


Example. Start and already created EC2 instance. aws_start_ec2server.yml file:

(Remember just to use spaces and not tabulator for your YML file)
#!/usr/bin/env ansible-playbook

- name: Starting AWS machine
  hosts: localhost
  gather_facts: false
  connection: local
  vars:
    instance_ids:
      - 'i-09999999999'     # you will have to modify this line with the InstanceId of your server
    region: us-east-2            # you will have to change this line to region where your machine was created
  tasks:
    - name: Starting AWS Machine. It Will take some time. 
      ec2:
        instance_ids: '{{ instance_ids }}'
        region: '{{ region }}'
        state: running
        wait: True

Getting information from a AWS machine:

Example aws_status_ec2server.yml file:

#!/usr/bin/env ansible-playbook

- name: Status ec2 instance
  hosts: localhost
  connection: local
  tasks:
   - ec2_instance_facts:
      instance_ids:
        - i-0bd3xx999999999
     register: ec2_facts
   - debug: msg="{{ ec2_facts }}"


Related terms[edit]

See also[edit]

  • https://en.wikiversity.org/wiki/DevOps/Ansible/manage_AWS_infrastructure_using_Ansible
  • https://docs.ansible.com/ansible/latest/modules/ec2_module.html
  • Advertising: