Book Image

AWS for System Administrators

By : Prashant Lakhera
Book Image

AWS for System Administrators

By: Prashant Lakhera

Overview of this book

Amazon Web Services (AWS) is one of the most popular and efficient cloud platforms for administering and deploying your applications to make them resilient and robust. AWS for System Administrators will help you to learn several advanced cloud administration concepts for deploying, managing, and operating highly available systems on AWS. Starting with the fundamentals of identity and access management (IAM) for securing your environment, this book will gradually take you through AWS networking and monitoring tools. As you make your way through the chapters, you’ll get to grips with VPC, EC2, load balancer, Auto Scaling, RDS database, and data management. The book will also show you how to initiate AWS automated backups and store and keep track of log files. Later, you’ll work with AWS APIs and understand how to use them along with CloudFormation, Python Boto3 Script, and Terraform to automate infrastructure. By the end of this AWS book, you’ll be ready to build your two-tier startup with all the necessary infrastructure, monitoring, and logging components in place.
Table of Contents (18 chapters)
1
Section 1: AWS Services and Tools
4
Section 2: Building the Infrastructure
7
Section 3: Adding Scalability and Elasticity to the Infrastructure
11
Section 4: The Monitoring, Metrics, and Backup Layers

Creating an Auto Scaling group using Terraform

So far, we have created Auto Scaling groups manually, but as we did in other chapters, we will also see how to automate the process of Auto Scaling group creation using Terraform. These are the steps that we need to follow:

  1. The first step is to create the launch configuration. For that purpose, we are going to use the aws_launch_configuration resource. This is going to specify how to configure each EC2 instance's parameters, such as the image ID (AMI), instance type, security group, and user data.
  2. The new parameter that is defined here is the life cycle (create_before_destroy). This is always going to involve creating a resource before destroying it. For example, in the case of an EC2 instance, before terminating any instance, it always creates a new one, waits for it to come up, and then removes the old EC2 instance:
    resource "aws_launch_configuration" "my-asg-launch-config" {
      image_id&...