Showing posts with label aws videos. Show all posts
Showing posts with label aws videos. Show all posts

Wednesday, December 22, 2021

AWS Automation using Terraform

What is Terraform?



HashiCorp Terraform is an open-source infrastructure as code (IaC) software tool that allows DevOps engineers to programmatically provision the physical resources an application requires to run. Infrastructure as code is an IT practice that manages an application's underlying IT infrastructure through programming.

What is AWS Automation?

Automation, a capability of AWS Systems Manager, simplifies common maintenance and deployment tasks of Amazon Elastic Compute Cloud (Amazon EC2) instances and other AWS resources. ... Build automations to configure and manage instances and AWS resources.



Here is a full tutorial video (Concept + Demo) based on "How we can do AWS Automation using Terraform"👇👇



Resource: aws_launch_configuration

Provides a resource to create a new launch configuration, used for autoscaling groups.

Example Usage

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical
}

resource "aws_launch_configuration" "as_conf" {
  name          = "web_config"
  image_id      = data.aws_ami.ubuntu.id
  instance_type = "t2.micro"
}

Using with AutoScaling Groups

Launch Configurations cannot be updated after creation with the Amazon Web Service API. In order to update a Launch Configuration, Terraform will destroy the existing resource and create a replacement. In order to effectively use a Launch Configuration resource with an AutoScaling Group resource, it's recommended to specify create_before_destroy in a lifecycle block. Either omit the Launch Configuration name attribute, or specify a partial name with name_prefix. Example:

data "aws_ami" "ubuntu" {
  most_recent = true

  filter {
    name   = "name"
    values = ["ubuntu/images/hvm-ssd/ubuntu-trusty-14.04-amd64-server-*"]
  }

  filter {
    name   = "virtualization-type"
    values = ["hvm"]
  }

  owners = ["099720109477"] # Canonical
}

resource "aws_launch_configuration" "as_conf" {
  name_prefix   = "terraform-lc-example-"
  image_id      = data.aws_ami.ubuntu.id
  instance_type = "t2.micro"

  lifecycle {
    create_before_destroy = true
  }
}

resource "aws_autoscaling_group" "bar" {
  name                 = "terraform-asg-example"
  launch_configuration = aws_launch_configuration.as_conf.name
  min_size             = 1
  max_size             = 2

  lifecycle {
    create_before_destroy = true
  }
}

With this setup Terraform generates a unique name for your Launch Configuration and can then update the AutoScaling Group without conflict before destroying the previous Launch Configuration.



Wednesday, December 15, 2021

What is the difference between Amazon RDS Read Replicas vs Multi AZ

What is Relational Database Service (RDS)


Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. 
It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching and backups. 
It frees you to focus on your applications so you can give them the fast performance, high availability, security, and compatibility they need.






Here is the full dedicated video on this topic👇👇



What is Amazon RDS Read Replicas?

The read replica operates as a DB instance that allows only read-only connections. Applications connect to a read replica the same way they do to any DB instance. Amazon RDS replicates all databases in the source DB instance. The Oracle DB engine supports replica databases in mounted mode.



What is Amazon RDS Multi AZ?

RDS Multi-AZ. Amazon RDS Multi-AZ deployments provide enhanced availability for database instances within a single AWS Region. With Multi-AZ, your data is synchronously replicated to a standby instance in a different AZ.

Tuesday, December 14, 2021

What is AWS RDS (Relational Database Services)

What is AWS?

Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully-featured services from data centers globally. Millions of customers—including the fastest-growing startups, largest enterprises, and leading government agencies—are using AWS to lower costs, become more agile, and innovate faster.


What is Amazon RDS?

Amazon Relational Database Service (RDS) is a managed SQL database service provided by Amazon Web Services (AWS). Amazon RDS supports an array of database engines to store and organize data. It also helps with relational database management tasks, such as data migration, backup, recovery, and patching.

Here is a fully dedicated video on AWS RDS (Relational Database Services)





Amazon RDS facilitates the deployment and maintenance of relational databases in the cloud. A cloud administrator uses Amazon RDS to set up, operate, manage and scale a relational instance of a cloud database. Amazon RDS is not itself a database; it is a service used to manage relational databases.

What are the benefits of AWS RDS?

The main benefit of Amazon RDS is that it helps organizations deal with the complexity of managing large relational databases. Other benefits include the following:

  • Ease of use. Admins don't need to learn specific database management tools. They also can manage multiple database instances using the management console. RDS is compatible with database engines that users may already be familiar with, such as MySQL and Oracle And it automates manual backup and recovery processes.
  • Cost-effectiveness. According to AWS, customers only pay for what they use. Also, the time spent maintaining instances is reduced, because maintenance tasks, such as backups and patching, are automated.
  • The use of read replicas routes read-heavy traffic away from the main database instance, reducing the workload on that one instance.
  • RDS splits up compute and storage so admins can scale them independently.

Wednesday, December 8, 2021

Why do you need to be AWS Certified?

What is AWS?

Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted cloud platform, offering over 200 fully-featured services from data centers globally. Millions of customers — including the fastest-growing startups, largest enterprises, and leading government agencies — are using AWS to lower costs, become more agile, and innovate faster.

HERE IS A FULLY DEDICATED VIDEO BASED ON "Why do you need to be AWS Certified"👇👇



Why AWS?

  • On the Go Pricing
  • The Free Tier
  • Performance
  • Deployment Speed
  • Security
  • Flexibility

Benefits of Getting an AWS Certification

Amazon Web Services (AWS) is the market leader among cloud service providers now. Why? It provides cost-effective services to organizations. The services of AWS are scalable and ideal for different business sizes.

Most important of all, AWS follows formidable security measures for safeguarding, monitoring, and maintenance of its data centers. As a result, AWS is staying at the top of the list of cloud service providers. So, the first reason to go for AWS certifications is the status of AWS. If you want to invest time and effort in learning about cloud technologies, then it’s better to choose the leader. 


Road Map of AWS Certification



Wednesday, December 1, 2021

How to Create and Restore RDS Snapshot in specific time ?

What is Amazon RDS?

Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity while automating time-consuming administration tasks such as hardware provisioning, database setup, patching, and backups. It frees you to focus on your applications so you can give them the fast performance, high availability, security and compatibility they need.

Wednesday, November 10, 2021

What is EKS and How we can create Kubernetes cluster on Amazon EKS ?

 What is EKS?

AWS EKS is a Managed Kubernetes Service from Amazon, which means AWS manages the Master Nodes for you. All the necessary applications/services are already pre-installed like the container runtime or master processes and in addition, it also takes care of scaling and backups. 👍
You only create the Worker Nodes.


If you want to learn in detail you can refer video below👇👇


How to use Cluster

To create a K8s cluster in EKS you need to do following steps: 1) Setup or preparation steps - create an AWS account - create a VPC - virtual private space - create an IAM role with Security Group (or in other words: create AWS user with list of permissions) 2) Create Cluster Control Plane - Master Nodes - choose basic information like cluster name and k8s version - choose region and VPC for your cluster - set security 3) Create Worker Nodes and connect to cluster The Worker Nodes are some EC2 instances with CPU and storage resources. - Create as a Node Group - Choose cluster it will attach to - Define Security Group, select instance type etc. With NodeGroup you have autoscaling, which means based on your needs depending on how much load the cluster has new Worker Nodes will automatically added or removed in the cluster. - For that you need to define max and minimum number of Nodes.



-------- Complex, but powerful and popular --------


You're right, that's a lot of effort for just creating a simple Kubernetes cluster. Compared to other managed Kubernetes services, like DigitalOcean or Linode it's more complex. So, how to do it, when you just want to create a cluster and start deploying your containers inside as fast as possible. Instead of doing all those steps manually, there is a faster and more efficient way.



Thursday, March 14, 2019

Aws video

What Are Resource Groups?

Note

This content describes legacy Resource Groups. For information about the new AWS Resource Groups service, see the AWS Resource Groups User Guide.

In AWS, a resource is an entity that you can work with. Examples include an Amazon EC2 instance, an AWS CloudFormation stack, and an Amazon S3 bucket. If you work with multiple resources, you might find it useful to manage them as a group rather than move from one AWS service to another for each task.

Resource Groups helps you do just that. By default, the AWS Management Console is organized by AWS service. But with the Resource Groups tool, you can create a custom console that organizes and consolidates information based on your project and the resources that you use. If you manage resources in multiple regions, you can create a resource group to view resources from different regions on the same page.

Resource Groups can display metrics, alarms, and configuration details. If you need more detailed information or you want to change a setting for a given resource, choosing a link takes you to the page you need.

For example, let's say you are developing a web application, and you are maintaining separate sets of resources for your alpha, beta, and release environments. Each version runs on Amazon EC2 with an Amazon Elastic Block Store storage volume. You use Elastic Load Balancing to manage traffic and Route 53 to manage your domain. Without the Resource Groups tool, you might have to access multiple consoles just to check the status of your services or modify the settings for one version of your application.

UpWith the Resource Groups tool, you use a single page to view and manage your resources. For example, let’s say you use the tool to create a resource group for each version—alpha, beta, and release—of your application. To check your resources for the alpha version of your application and see whether any CloudWatch alarms have been triggered, simply open your resource group. Then view the consolidated information on your resource group page. To modify a specific resource, choose the appropriate links on your resource group page to quickly access the service console with the settings that you need.

As other examples, you could also use the Resources Groups tool for the following types of projects:

A blog that has different phases, such as development, staging, and production

 

Projects managed by multiple departments or individuals

 

A set of AWS resources that you use together for a common project or that you want to manage or monitor as a group

How Resource Groups Work

A resource group is a collection of resources that share one or more tagsor portions of tags. To create a resource group, you simply identify the tags that contain the items that members of the group should have in common.

If you or your administrator uses the AWS Identity and Access Management (IAM) service to create multiple users in the same account, those users have their own individual resource groups. These groups are not visible to other users. However, each user can share a resource group with others in the same account by sharing a URL, which lets another user create a resource group with the same parameters. For information about creating IAM users, see Creating an IAM User in the IAM User Guide. For information about sharing resources, see Sharing a Resource Group.

The tags themselves function like properties of a resource, so they are shared across the entire account. That way, users in a department can draw from a common vocabulary (tags) within the department or account to create resource groups that are meaningful to their roles and responsibilities. Having a common pool of tags also means that when users share a resource group, they don't have to worry about missing or conflicting tag information.

How Tagging Works

Tags are words or phrases that act as metadata for organizing your AWS resources. With most AWS resources, you have the option of adding tags when you create the resource, whether it's an Amazon EC2 instance, an Amazon S3 bucket, or other resource. However, you can also add tags to multiple resources at once by using Tag Editor. You simply search for resources of various types and then add, remove, or replace tags for the resources in your search results.

https://youtu.be/7VMRplShhnI

Monday, March 4, 2019

Aws video

Jenkins is an open source, Java-based automation server that offers an easy way to set up a continuous integration and continuous delivery (CI/CD) pipeline.


Continuous integration (CI) is a DevOps practice in which team members regularly commit their code changes to the version control repository, after which automated builds and tests are run. Continuous delivery (CD) is a series of practices where code changes are automatically built, tested and deployed to production.


This tutorial, will walk you through the steps of installing Jenkins on a CentOS 7 system using the official Jenkins repository.



Before continuing with this tutorial, make sure you are logged in as a user with sudo privileges.



To install Jenkins on your CentOS system, follow the steps below:


Jenkins is a Java application, so the first step is to install Java. Run the following command to install the OpenJDK 8 package:

sudo yum install java-1.8.0-openjdk-develCopy

The current version of Jenkins does not support Java 10 (and Java 11) yet. If you have multiple versions of Java installed on your machine make sure Java 8 is the default Java version.


The next step is to enable the Jenkins repository. To do that, import the GPG key using the following curlcommand:

curl --silent --location http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repoCopy

And add the repository to your system with:

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.keyCopy


Once the repository is enabled, install the latest stable version of Jenkins by typing:

sudo yum install jenkinsCopy

After the installation process is completed, start the Jenkins service with:

sudo systemctl start jenkinsCopy

To check whether it started successfully run:

systemctl status jenkinsCopy

You should see something similar to this:

● jenkins.service - LSB: Jenkins Automation Server Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled) Active: active (running) since Thu 2018-09-20 14:58:21 UTC; 15s ago Docs: man:systemd-sysv-generator(8) Process: 2367 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS) CGroup: /system.slice/jenkins.serviceCopy

Finally enable the Jenkins service to start on system boot.

sudo systemctl enable jenkinsCopy

jenkins.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig jenkins onCopy



If you are installing Jenkins on a remote CentOS server that is protected by a firewall you need to port 8080.


Use the following commands to open the necessary port:

For more information please click this link..

https://youtu.be/7RIozgzYkX0

Friday, March 1, 2019

Aws videos

Jenkins Tutorial



Jenkins is a powerful application that allows continuous integration and continuous delivery of projects, regardless of the platform you are working on. It is a free source that can handle any kind of build or continuous integration. You can integrate Jenkins with a number of testing and deployment technologies. In this tutorial, we would explain how you can use Jenkins to build and test your software projects continuously.

Audience


This tutorial is going to help all those software testers who would like to learn how to build and test their projects continuously in order to help the developers to integrate the changes to the project as quickly as possible and obtain fresh builds.

Prerequisites


Jenkins is a popular tool for performing continuous integration of software projects. This is a preliminary tutorial that covers the most fundamental concepts of Jenkins. Any software professional having a good understanding of Software Development Life Cycle should benefit from this tutorial

For more information please click this link..

https://youtu.be/KJDo6YmjQhg

Top ChatGPT Prompts for DevOps Engineers

  As a DevOps engineer, your role involves juggling complex tasks such as automation, infrastructure management, CI/CD pipelines, and troubl...