← All projects

Cloud foundations

AWS Infrastructure as Code

Repeatable AWS environments provisioned with Terraform and configured with Ansible, replacing fragile manual setup.

RoleDevOps Engineer
Year2023
StatusCompleted

Context

Cloud environments were time-consuming to reproduce and depended on manual configuration. That increased the chance of drift and made reviews difficult.

Approach

I separated infrastructure provisioning from operating-system configuration. Terraform defines AWS resources and relationships, while Ansible applies repeatable host and service configuration after provisioning.

The workflow runs through CI so changes can be formatted, validated, planned, reviewed, and applied through a controlled process.

Controls

  • Remote state and locking protect concurrent infrastructure changes.
  • Modules establish reusable network and compute patterns.
  • Plans are reviewed before application.
  • Ansible roles keep configuration idempotent.
  • Sensitive values stay outside source control.

Result

The project reduced provisioning errors, improved consistency between environments, and replaced undocumented manual steps with reviewable automation.