Update AMIs to Ubuntu Focal 20.x

Summary

Current GitLab AMIs are based on Ubuntu 18.04 xenial, which is no longer the latest LTS Ubuntu release.

As a customer who deploys GitLab from your AMIs, we are keen to use the latest LTS.

Problem to solve

Ubuntu 18.04 will be out of support in ~30 months. Whilst this is still a fair way off, we are beginning to eradicate it from our infrastructure in favour of more recent releases.

Ubuntu do not backport all security fixes to previous releases.

Intended users

User experience goal

As someone deploying GitLab I should be able to easily select an AMI based on the version of Ubuntu which I consider standard in my environment.

Proposal

Publish a 20.04 AMI alongside the existing 18.04 one, tagged in such a way that existing users are unlikely to automatically select it unintentionally.

For example we currently select the image using the following Packer configuration

"source_ami_filter": {
  "filters": {
    "virtualization-type": "hvm"<
    "name": "GitLab EE {{version}}",
    "root-device-type": "ebs"
  },
  "owners": ["782774275127"],
  "most_recent": true
}

Further details

It would be helpful to extend the existing AMI tagging with a dedicated tag for the GitLab version as well as one for the edition (CE vs EE) and also the base OS (e.g. "Ubuntu 18.04").

Permissions and Security

N/A - the existing AMI pipeline should have everything it requires.

Documentation

The AWS installation instructions should be updated to describe how to select the appropriate AMI for your needs: https://docs.gitlab.com/ee/install/aws/

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Anyone who consumes the existing AMI.

Is this a cross-stage feature?

No

Links / references