Migrating EC2 RHEL instance to Amazon Linux 2 - amazon-web-services

I am planning to migrate EC2 RHEL 7.1 instance to Amazon Linux 2.
I believe Server Migration Connector is used for migrating on-premises servers to AWS. Is it possible to use Server Migration Connector for migrating EC2 RHEL instance to Amazon Linux.

Server Migration Connector (SMC) is for lift-and-shift migrations, so your RHEL will be just migrated to the EC2 instance. SMC does not change your operating system from RHEL to AL2.
If you want to migrate from RHEL to AL2, you have to do it yourself, manually.

Related

How to deploy application from Jenkins in Linux Ec2 instance to Windows Ec2 Instance?

I have a requirement to deploy applications from Jenkins in Linux to Windows Ec2 instance. I'm able to deploy it in Linux instances using SSH and SCP but to deploy it in windows, I don't know how to approach it, any help would be very helpful.

ElastiCache on aws EC2

I have implemented the Elastic Search by installing it into the EC2 as well as consuming the Managed service from aws.
Is there any similar way to install the ElastiCache into the EC2 rather than using managed service from AWS. If there is, how it will be installed in EC2?
Redis and Memcached both are very popular software for caching the data. You can install these on any platform including the EC2 server. You can follow memcached installation and Redis installation to install them on Ubuntu EC2 instance. AWS also offers the managed version of these as ElastiCache, wherein you have to choose which one you want to use ie Redis or Memcached.
As mentioned in the home page of elastiCache :
Managed, Redis or Memcached-compatible in-memory data store.
Benefits of having a self-managed (wherein you have to install/manage Redis or elasticsearh) is nicly explained here.

Creation of VMS within AWS Ec2

I am trying to design and making architecture of cloud application deployment resources in AWS cloud using EC2, S3, and RDS. Here I have a little bit of confusion about AWS infrastructure, which I am describing here.
I already have a AWS EC2 machine - Ubuntu 16.04 LTS. Is possible to create another VMs within my Ubuntu? I mean, can I use Linux or CentOS within my EC2 Ubuntu machine?
I am a beginner in cloud and AWS world, still exploring about AWS infrastructure.
When you instantiate your EC2 instance you are required to select an AMI. the AMI is an amazon machine image. This essentially describes what OS (CentOS, Ubuntu, RedHat, etc) will be installed on your EC2 instance. Most likely you selected the Amazon Linux AMI which installs amazon's own flavor of CentOS. Once the instance is up, you will not be able to install a different OS on it. You will have to terminate your existing instance and spin up a new EC2 instance with the AMI that you want.
That being said, you can also use a tool such as Docker https://www.docker.com/. This allows you to spin up docker containers. Each docker container acts like a VM and will allow you to spin up multiple different docker containers with whatever OS you want within your single EC2 instance.

Deployment using AWS Elastic BeanStalk in details

I am trying to deploy my Spring Boot microservices on using Elastic Beanstalk from AWS. It provides preconfigured environment for deployment. I have one Ubuntu machine with EBS with 80 GB(free tier option). I have some doubts. I am adding as points
When I am deploying using Elastic Beanstalk, where it actually deploying? In my EBS storage ? Or any other space which belongs to AWS ?
Is it possible to deploy anything without creating an EC2 instance? If possible, then where will it actually physical space occupy?
When I deploy my microservices, I choose Tomcat option. So under the box there is a sentence that Java Tomcat server environment is in Amazon Linux or something like that. I have Ubuntu machine; if Beanstalk using my EC2 instance, then why it showing message related to Amazon Linux 2017? Since my machine is Ubuntu?
And I found docs saying BeanStalk is not charging payments. Payment is going according to the AWS resources that we choose. So how I can relate this point with my 3rd point?
I'll start with #4 Elastic Beanstalk is a service you are NOT charged for, just the resources you consume, so EC2, EBS, ELB's.
When you deploy an Elastic Beanstalk application you select what version of Tomcat you want and with it the version of Linux
64bit Amazon Linux 2017.09 v2.7.2 running Tomcat 8 Java 8
64bit Amazon Linux 2017.09 v2.7.2 running Tomcat 7 Java 7
64bit Amazon Linux 2017.09 v2.7.2 running Tomcat 7 Java 6
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html#concepts.platforms.java
#1 - It is deploying to an environment on EC2, which is why there is an AMI in the platform you provision.
When you launch an environment, you choose a platform configuration.
We update platform configurations periodically to provide performance
improvements and new features. You can update your environment to the
latest platform configuration at any time.
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.managing.ec2.html
#2 You can deploy your application on Docker, but that still needs EC2 hosts to run, you can manage them or you can use Multi Container platform, which provisions them to ECS .
https://docs.aws.amazon.com/elasticbeanstalk/latest
/dg/create_deploy_docker.html
#3 Elastic Beanstalk likes to keep resource under it's control, When you provision an Environment, it will provision the resources needed, no need to provision a machine outside of Elastic beanstalk.
You can create a custom platform if you want too based on Ubuntu.
Note
Modify the resources in your environment only by using Elastic Beanstalk. If you modify resources using another service's console,
CLI commands, or SDKs, Elastic Beanstalk won't be able to accurately
monitor the state of those resources, and you won't be able to save
the configuration or reliably recreate the environment. Out-of
band-changes can also cause issues when terminating an environment.
Some other points about Elastic Beanstalk from a great answer on Stack Overlfow

Script to update EC2 instances with new version of application remotely

I want to write a script to update my ubuntu machines with new applications remotely. My machines are in private subnet under Elastic load balancer.
Take a look at http://www.ansible.com/home. The only thing it needs on a remote linux computer is ssh and python.