• Stars
    star
    182
  • Rank 211,154 (Top 5 %)
  • Language HCL
  • License
    MIT License
  • Created over 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Terraform automation for Cloud

terraform

Terraform automation for cloud

AWS

Before starting with Terraform you should have configured your credentials in the AWS folder in your system as shown below.

[default]
aws_access_key_id = 
aws_secret_access_key = 
[prod]
aws_access_key_id =
aws_secret_access_key =

The name for the accounts can be anything you want but make sure that in the "main.tf" file that your are using the appropriate name for the profile when configuring.

Three tier

Three tier is industry standard for modern web application where we have 3 tiers for following

  • Presentation tier (WebAPP tier): Prepares HTMLs by calling App tier
  • Application tier (App tier): Prepare data by calling DB or other third party services
  • Database tier (DB tier): Stores the data in database.

Creating three architecture in AWS requires lot of resources like VPC, Subnets, Gateways, Routing tables etc to be created and this has been automated using terraform, for details go here.

RDS MySQL Cross region & Cross account replication using DMS

Cross region replication helps to quickly recover from AWS region wide failures. Also it will help to serve the customer faster as we can use replica for read traffic and few of them might be closer to replica’s region.

Cross account replication helps to recover data from replication account when our master AWS account is compromised and we have lost access to the account completely. Such incidents happened in the past where one of the AWS customer account got hacked and the attacker deleted all the data. AWS provides several mechanisms to protect the data but having separate backup account with very limited access and tighter controls will help in unforeseen circumstances.

You can click on the following links to get a better understanding about DMS.

  1. Architecture
  2. Implementation

Please make sure to go through the readme files of each implementation so that the code wll give you the desired output. There is a "main.tf" file which configures the AWS environment while the "variables.tf" file is used to define the variables such as CIDR blocks, names, tags etc for the corresponding AWS resources. This is still a work in progress so feel free to reach out in case something is missing.

VPC Peering Connections

Creating peering connections between VPCs is a basic networking use-case, and helps reduce load on VPN connections, are reduces latency between the VPCs. here is a "main.tf" file which creates the peering connection requests and the route table entries, and the "variables.tf" file is used to define the variables. You can read the blog post to understand the code VPC Peering using Terraform

More Repositories

1

role-acl

Role based access control using actions, attributes and sync and async conditions
TypeScript
501
star
2

cloud-reports

Scans your AWS cloud resources and generates reports. Check out free hosted version:
TypeScript
272
star
3

aws-automation

AWS automation scripts and lambda functions
JavaScript
95
star
4

ngx-s3-upload

Angular 6: S3 uploads using Cognito authentication
TypeScript
93
star
5

mac-setup-playbooks

Ansible playbooks for setting up mac
Shell
31
star
6

ansible-automation

AWS automation using ansible
26
star
7

spring-batch-s3-sample-app

Sample Spring batch job for processing S3 objects one by one.
Java
18
star
8

medium-to-wordpress-migration

Script to export medium blogs to wordpress rss xml format
JavaScript
15
star
9

markojs-express-website

We are showing how to design highly customizable websites with MarkoJS.
JavaScript
12
star
10

Scout2-PDF-Reporter

Generates PDF report from Scout2 output. For support:
HTML
10
star
11

react-s3-upload

React AWS S3 upload using Amplify and Material UI
TypeScript
9
star
12

aws-lambda-express-app

This is a sample application for learning AWS DynamoDB, Elasticsearch, API Gateway, Lambda, and S3.
JavaScript
6
star
13

ansible-examples

examples about ansible
Shell
4
star
14

aws-lambda-examples

Examples of AWS lambda functions
JavaScript
4
star
15

ngx-cognito-login

AWS Cognito login Demo angular app
HTML
4
star
16

coding-guidelines

Coding standards, guidelines and code review policies
3
star
17

kubernetes

Kubernetes related configurations.
2
star
18

angular-examples

Demos and Examples of Angular codes
TypeScript
2
star
19

multidb-jdbc-driver

Helps connect to multiple databases and also supports query routing.
Java
2
star