Building a cloud infrastructure server and keeping it updated with the latest security and mandatory requirement is a pain for any customer ourself faced this challenge in the project we are currently delivering.

What it does

The automation we built will create EC2 VMs and install Chef client software. The chef client will get initiated and the VM will get added automatically to chef server as a chef node. Once the VM get registered with Chef, the mandatory softwares, configurations listed in the PowerShell script will get executed in the VM and make the VM complaint to the organization requirement.

How we built it

We used terraform to built the base EC2 infrastructure. Leveraged Chef Infra Cloud to centrally manage the chef infrastructure. S3 has been used to save the configuration files like Chef client, client configuration file etc. We deployed Chef workstation in an aws t2.micro VM and uploaded the code to chef infra. The code has been written to install core softwares from internet and configure the VM to meet the mandatory requirement of customer.

Challenges we ran into

Terraform latest version doesn't support Chef provisioner, hence we have used aws ec2 user data to install chef client by fetching the Chef client and client configuration file saved in s3 bucket. Inorder to avoid public access to the s3 bucket, we have configured aws role to allow ec2 VM to access the s3 bucket securely.

Accomplishments that we're proud of

Able to integrate multiple tools like S3, Terraform, Chef and created a working code.

What we learned

Learned how Chef helps to maintain the infrastructure updated and complaint and how easy to do this orchestration.

What's next for Automate your AWS Infrastructure

We want to leverage more capabilities of Chef and build a zero touch automation solution which does end to end management of AWS Infrastructure

Built With

Share this project: