Terraform with AWS
Amazon Web Services (AWS) provides the infrastructure for building applications in the cloud. Terraform is a tool for managing that infrastructure.
The combination of AWS and Terraform allows you to maximize and speed up the creation of a complex infrastructure. This training course is for both systems engineers and developers who want to use Terraform on AWS to plan and build cloud infrastructure.
- COD: DST101
- CATEGORY: HashiCorp
Teaching methodology
The course includes educational laboratories in which each student will be able to work in order to complete training exercises that will provide practical experience in using the instrument, for each of the topics covered during the course.
Prerequisites
- Knowledge of linux commands
- Knowledge of Linux operating system
- Knowledge of text editor on terminal (vi,vim,nano)
- Knowledge of AWS
At the end of the course the participants will be able to:
- Install and configure Terraform on AWS.
- Implement an infrastructure-as-code approach to managing AWS cloud environments.
- Create, launch and delete infrastructure from a single tool.
- Write declarative configuration files that will be handled like any other source code in a version control system.
- Quickly update configuration files to effectively respond to changing computing resource needs.
- Collaborate with other infrastructure engineers by sharing configuration files in a common code repository.
- Improve transparency in the infrastructure deployment process
- Providers
- Resources, Attributes, and Data Sources
- Writing Terraform Configuration
- Configuring Terraform and the provider version to use
- Manipulating variables
- Using local variables for custom functions
- Using outputs to expose Terraform provisioned data
- Provisioning infrastructure in multiple environments
- Obtaining external data with data sources
- Using external resources from other state files
- Querying external data with Terraform
- Calling Terraform built-in functions
- Writing conditional expressions
- Manipulating local files with Terraform
- Executing local programs with Terraform
- Generating passwords with Terraform
- Variables and Interpolation Syntax
- Conditionals and Loops
- Terraform Commands
- Working with Modules
- Implementing Terraform Remote State with S3
- Data Storage on AWS with Terraform: S3 and DynamoDB
- Implementing S3 Buckets
- Implementing S3 Bucket Lifecycle Policies
- Working with Bucket Policies and ACLs
- Implementing a Website with S3
- Implementing DynamoDB Table
- DynamoDB Global Table
- Implementing VPC Networking and EC2 with Terraform
- Creating a Virtual Private Cloud (VPC)
- Creating Public Subnets
- Creating Private Subnets
- Creating a Route Table for Public Routes
- Creating a Route Table for Private Routes
- Associating Route Tables with Subnets
- Advanced Implementation of VPC Networking and EC2 with Terraform
- Creating an Elastic IP for NAT Gateway
- Creating a NAT Gateway and Adding to the Route Table
- Creating an Internet Gateway and Adding to the Route Table
- Implementing an EC2 Instance
- Providing Variables and Executing Terraform
- Validating Our Infrastructure
- Final Challenge (1 day)
- Student will build an HA AWS Infrastructure with EC2 Instances, Autoscaling and and Application Load Balancer.
- Creation of Modules for permit interoperability with users.
- Code Sharing with an online Git Repository. (GitHub or GitLab)
Duration – 3 days
Delivery – in Classroom, On Site, Remote
PC and SW requirements:
- Internet connection
- Web browser, Google Chrome
- Zoom
Language
Instructor: English
Workshops: English
Slides: English