Day 59: Ansible Project🛠🚀

Day 59: Ansible Project🛠🚀

✨✨Welcome back to build a Ansible project using Ansible Playbooks. In this blog , we will delve into Ansible how to efficiently structure and organize automation workflows using Ansible Projects.

Ansible playbooks are amazing, as you learned yesterday. What if you deploy a simple web app using Ansible? Sounds like a good project, right?

Task 1

create 3 EC2 instances . make sure all three are created with same key pair

  • To create 3 EC2 instances, navigate to the EC2 service and launch them.

  • After you have created the 3 EC2 instances, designate one as the Ansible control node (ansible_master) and the other two as managed nodes (ansible_server).

  • Install Ansible only on Master node using following commands.

      # Add ansible repository to your instance
      sudo apt-add-repository ppa:ansible/ansible
      # Update the package
      sudo apt update
      # Install the Ansible
      sudo apt install ansible

  • Once the installation is complete, check the version of Ansible using the following command:

      Ansible --version

  • Access into .ssh directory ,there open private key (id_rsa)

  • Copy the Private Key and next, upload it from your local machine to the host server . Paste the private key into the host server's (.ssh directory), which is normally located at /home/ubuntu/.ssh.

  • Access Inventory file using /etc/ansible/hosts.

  • Modify the inventory file to include the IP addresses of the servers, a list of hosts or servers, and the location of the private key file to be used for authentication.

      host_1 ansible_host=
      host_2 ansible_host=

  • Create a Playbook to install Nginx .

sudo vim install_nginx.yml
- name: Install and Start Nginx
  hosts: servers
  become: yes
    - name: Update apt
         update_cache: yes
    - name: Install Nginx
        name: nginx
        state: latest
    - name: Start Nginx
         name: nginx
         state: started
         enabled: yes
  • Run the playbook using the following command ansible-playbook install_nginx.yml

    • Check the status of Nginx on all the servers.

      • For deploying a static website, Create a new file index.html and add the file path in the playbook directory, and add some sample content in the index file.

      • Create sample webpage index.html on masternode.

          <!DOCTYPE html>
              <title> chandana- DevOps Engineer</title>
                  body {
                      font-family: Arial, sans-serif;
                      background-color: yellow;
                      color: #333;
                      text-align: center;
                      margin: 0;
                      padding: 0;
                  h1 {
                      color: #007BFF;
                  p {
                      margin: 20px;
                  a {
                      color: #007BFF;
                      text-decoration: none;
                  a:hover {
                      text-decoration: underline;
              <h1>Chandana - DevOps Engineer</h1>
                 I am highly skilled DevOps Engineer with over 3 years of experience in the field. With a strong background in supporting, automating, and optimizing deployments on AWS, I have successfully streamlined software development and delivery processes for various organizations.
                  My expertise lies in leveraging configuration management tools, implementing CI/CD pipelines, and following DevOps best practices to ensure efficient and reliable software releases. I am well-versed in technologies such as Jenkins, Git, Linux, Ansible, and various AWS services, allowing me to design and implement robust DevOps solutions.
                  If you are looking for a DevOps Engineer who can drive process optimization, enhance system scalability, and ensure seamless software delivery, please feel free to reach out. I am always eager to contribute my skills and expertise to help organizations achieve their goals.
                  Let's connect and explore how we can work together to create efficient and robust DevOps solutions!
                  LinkedIn: <a href=" yantrapalli-54948a270/"> yantrapalli-54948a270</a>
        • Update the Ansible Playbook file , by adding index.html file path.

          • Once the playbook finishes executing, open a web browser and enter the public IP address of one of the running server.


            🔹In conclusion, the Ansible project is a versatile automation tool that has revolutionized the way infrastructure and application deployments are managed. Throughout the project, we have explored 🔎✨ various aspects of Ansible and its capabilities, highlighting its numerous benefits and practical applications.

          • 🔹Ansible's extensive 💡 module library is a major strength. It offers a wide range of modules that can interact with various systems and services, from managing servers and networks to configuring databases and ☁☁cloud resources.

          • 🔹Additionally, Ansible's support for orchestration and configuration management greatly simplifies scaling and managing large infrastructures. It enables the management of multiple servers or 🛠clusters in a coordinated and synchronized manner, reducing ⌛ manual effort and minimizing errors.

          • 🔹Throughout this project🚀, we've learned valuable lessons about Ansible best practices, 📖playbook optimization, and integration with existing systems.

          • 🔹Looking ahead, there are several areas we plan to explore🔎🔎 further. This includes expanding Ansible's role in managing additional infrastructure components, implementing more advanced 🛠automation workflows.

Thank you for 📖reading my blog, 👍Like it and share it 🔄 with your friends.

Happy learning😊😊