Monday, April 4, 2022

Module 21: How to Terminate EC2 using Ansible Playbook

Terminate EC2 instances Ansible Playbook Example | How to terminate EC2 instances using Ansible playbook?

Please find a simple Ansible playbook for terminating EC2 instance in AWS using instance id.

Pre-requistes:
Make sure you create an IAM role with AmazonEC2FullAccess policy and attach the role to EC2 instance.

Watch the steps in YouTube channel:


Login to EC2 instance using Git bash or ITerm/putty where you installed Ansible. Execute the below command to edit Ansible hosts or inventory file

sudo vi /etc/ansible/hosts 

Add the below two lines in the end of the file:
[localhost]
local

save the file and come out of it.

Create the playbook by executing below command:

sudo vi terminate.yml 
---
 - name: ec2 provisioning using Ansible
   hosts: local
   connection: local
   gather_facts: False

 - hosts: local
   gather_facts: False
   connection: local
   vars:
     - region: 'us-east-2'
     - ec2_id: 'i-05f39cfb80c97df38'
   tasks:
     - name: Terminate instances
       local_action: ec2
         state='absent'
         instance_ids='{{ ec2_id }}'
         region='{{ region }}'
         wait=True

This playbook can be executed by two ways. Either mention instance ID in the ansible playbook or pass as an argument. Intstance Id can be taken from AWS mgmt console.



ansible-playbook terminate.yml -e ec2_id=i-xxxx
PLAY [ec2 provisioning using Ansible] *********************************************************************
PLAY [local] **********************************************************************************************
TASK [Terminate instances] ********************************************************************************
ok: [local -> localhost]

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

No comments:

Post a Comment

Module 34: Understanding Terraform

  Terraform is a platform-agnostic tool that allows you to build, change, and version infrastructure securely and efficiently. Terraform is ...