Unable to upgrade platform version on Elastic Beanstalk - amazon-web-services

Currently my workload is running on "Tomcat 8.5 with Java 8 running on 64bit Amazon Linux/3.3.9" and want to upgrade to Amazon Linux 2 and run my workload on "Tomcat 8.5 with Corretto 8 running on 64bit Amazon Linux 2/4.2.5". For testing was trying to clone the existing environment but don't see an option to upgrade the platform. The platform option is greyed out. Is this by design or am i doing something wrong ?

Is this by design or am i doing something wrong ?
Its by design and you have to do it manually. The reason is that EB platforms based on Amazon Linux (AL1) are incomtabile with those based on AL2. This means that there is no automated procedure for the upgrade. You have to follow the AWS docs to do manual upgrade:
Migrating your Elastic Beanstalk Linux application to Amazon Linux 2

Related

Can we upgrade Amazon linux to amazon linux 2

I have my existing servers on Amazon Linux, now we are planning to upgrade it to amazon linux2. How do we do that?
Do we have a set of steps to upgrade or do we need to launch a new Ec2 instance using Amazon Linux2 Image and re-install our apps on top of it?
From Amazon Linux 2 FAQs:
Can I perform an in-place upgrade from an existing version of Amazon Linux AMI to Amazon Linux 2?
No, an in-place upgrade from the existing Amazon Linux image to Amazon Linux 2 is not supported. We recommend that you test your application on a fresh installation of Amazon Linux 2 first before migrating.

How do I change the platform branch when cloning an environment?

I need help fixing a deprecated Elastic Beanstalk Environment running Python with Amazon Linux. Based on the information provided Amazon Linux is deprecated and I have to switch the platform to Amazon Linux 2. My Elastic Beanstalk status is severe and my web portal is not working.
See image insert.
I tried to clone the platform and simply change to the recommended supported platform Amazon Linux2 however the option to switch is not provided as seen in the screenshot below:
How do I get this done the easy way without having to do it from scratch?
Please help. Thank you.
How do I get this done the easy way without having to do it from scratch?
You can't. It must be done manually as EB platforms based on AL2 are much different then those based on AL1. AWS provides a guide how to do it:
Migrating your Elastic Beanstalk Linux application to Amazon Linux 2

How to update platform version in AWS ElasticBeanStalk?

We have a production ElasticBeanStalk on N.Virginia region. This environment uses a deprecated platform branch. Amazon recommended that we upgrade to a supported platform branch.
Platform branch - Node.js running on 64bit Amazon Linux
Current Platform version - 4.10.2
Current node js version - 10.16.3
Recommended Platform version - 4.17.9
I just tried to upgrade to a supported platform branch for Elastic Beanstalk. When I try to change the version in Platform, Amazon recommend us to clone the current environment, which creates a newer version of the platform, and then swap the CNAME of the environments.
After I cloned my environment, its Health status like "No Data".
When I try to change the Platform version in cloned environment, it doesn't allow me to update due to Health status is Invalid state.
Can any one please advice on this issue? Thanks in Advance.
Nodejs 4.17.9 is only available for 64bit Amazon Linux 2 v5.4.4 running Node.js 14 EB platform version. This EB is based on Amazon Linux 2 (AL2). Your current version uses AL1. They are incompatible with each other.
This means you have to manually migrate your current EB application to new environment based on AL2. The general steps for this are described in AWS docs:
Migrating your Elastic Beanstalk Linux application to Amazon Linux 2

Update deprecated php platform on Elastic Beanstalk

When I log in Elastic Beanstalk, I see that my platform is deprecated:
I guess it is because of the 7.2 PHP version that is now unsupported.
But when I click on change I don't see any higher version. In addition I can't find where in ElasticBeanstalk I can change the PHP version of my app.
The support for 64bit Amazon Linux 2018.03 v2.9.17 running PHP 7.2 finished on May 2, 2021. The only current versions of EB for PHP are based on Amazon Linux 2 (AL2).
Since AL1 is largely different then AL1 (what you have now), the only way to upgrade is to perform migration from AL1 to AL2 as explained in:
Migrating your Elastic Beanstalk Linux application to Amazon Linux 2

How to migrate EC2 isntance from aws to azure (ubuntu 16.04 instance)

I have AWES EC-2 instances with Ubuntu 16.04 , how to migrate them to Microsoft azure?
I have their image Amazon Machine Images (AMI) on amazon web services, is there a way I could migrate the images to azure ? or the instance configuration? I prefer copy the image I have create in amazon web services (with Ubuntu 16.04 base) to azure.
I have seen this documentation: https://learn.microsoft.com/en-us/azure/site-recovery/migrate-tutorial-aws-azure but it does not specify Ubuntu support and it copy the instance, can I copy the image? and can it be perform with ubuntu 16.04?
As you see, all the support OS version show there. So, unfortunately, it does not support Ubuntu to migrate from AWES to Azure. For Linux, it just supports a part of Red Hat and Centos versions.
For the image, it's possible to export the VM to a VHD file and upload the Azure, but it just shows the Windows VM. You can get the whole steps from Move a Windows VM from Amazon Web Services (AWS) to an Azure virtual machine. You can try for Linux, but I'm not sure about it.
If you have any more questions, please let me know. Or if you think it's OK you can accept it :-)
I suggest you strongly consider implementing the base instance configuration as a userdata or init script. This start up script would install all required software and configuration settings on the instance.
This way you can simply run the script on the Azure instance, and it will work exactly as it would on the AWS instance.
This approach is best practice for managing a baseline configuration of any instance. You can also consider configuration management tools like Ansible to do the same.