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

Automating AWS RDS MySQL creation using Terraform

So far, we have created a MySQL database using the AWS console. In this section, we will learn how to automate the entire process using Terraform. The whole process is divided into four steps:

  1. We will start with the boilerplate syntax where we specify aws as provider, and the region where we want to create this database (for example, us-west-2, which is in Oregon):
    provider "aws" {
      region = "us-west-2"
    }
  2. In the next step, you need to specify the database subnet group. This is the subnet group that MySQL uses to create the database instance:

    - name: This is the name of the subnet group. For example, you could use rds-db-subnet. If you omit this, Terraform will randomly assign some unique name for you.

    - subnet_ids: Here you specify the list of subnet IDs (for example, subnet-07714eb09171b1f7e and subnet-0cca9fdeb1b95003c – these are the subnet IDs from prod-vpc):

    resource "aws_db_subnet_group...