TF-001-EN Terraform Applied (AWS)
Duration: 1 day
This training proposed as a 1-day training, or 2 half-days, applies to the AWS Cloud the principles of Terraform already learnt in the “TF-000-EN Terraform Introduction (CORE)” 2-day training to resources.
This training will be oriented more toward hands-on than theory - it is not intended to teach about AWS, but to experience the application of Terraform to AWS resources
Note: Taking “TF-000-EN Terraform Introduction (CORE)” is a prerequisite for this cloud specific training.
Terraform allows to manage the deployment of different infrastructure types via the appropriate “Provider” plugin - this course uses the AWS provider allowing to manage many AWS cloud resources.
Students will appreciate the ease with which infrastructure resources are defined in a declarative manner allowing resources to be created, updated or destroyed in an idempotent manner.
Terraform uses HCL v2 - “HashiCorp Configuration Language” - to define resources to be created for 1 or more providers.
Note: the same course is available for other Providers|
Pre-requisites
Be at ease working at the command-line, editing files Basic notions of Cloud, Linux, Containers Use of an ssh Client, e.g. openssh on Linux, macOS or Windows (or Putty) |
Included
Course materials and labs: 50% hands-on, 50% presentation & demos Access to a temporary lab environment Access to an evolutive document covering various Terraform learning resources |
Objectives
Learn to use Terraform for standing up various AWS resources, in a declarative manner Learn to use AWS specific modules, data sources & tooling |
Note: the following AWS specific resources are proposed, but can be adapted to customer needs
Programme
Module: Review
- Infrastructure as Code principles
- Terraform & OpenTofu workflows
Module: Working with Containers
- Managing AWS ECS containers with Terraform
- Using Data Sources with AWS ECS
Module: Working with VMs
- Managing AWS EC2 virtual machines with Terraform
- Using Data Sources with AWS EC2
Module: Working with modules
- Terraform registry: Working with existing terraform modules for AWS
- Writing modules for AWS: Creating clusters of VMs
Module: Templates
- Creating useful templates (ssh_config, ansible inventory, reports)
Module: In Practice
- Variable validation
- Debugging
- 3rd-party tools
Module: State
- Local State
- Using AWS/S3+DynamoDB for “remote state”
Module: Importation of foreign ressources
- Importation of AWS resources
- Move of AWS resources
Module: Auto-scaling & Load-Balancing
- AWS EC2 ASG - Autoscaling Groups
- AWS EC2 ALB - Application Load Balancer
Module: Other AWS resources
- Lambda, VPC, EIP, S3, EBS, IAM, RDS
Module: In Production
- Provisioners (Local-exec, File, Remote-exec)
- Provider Aliases|
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.