# Running an Amazon Linux (AL2) VM in Proxmox
Author: i12bretro
Keywords: Home Lab,Home Lab Ideas,Hypervisor,Install Guide,Self-Hosted,How To Install Amazon Linux On Proxmox,How To Run Amazon Linux On Proxmox VE,Linux,Proxmox,Proxmox Host,Proxmox Step By Step,Proxmox Tutorial,Proxmox VE,VM,Virtual Machine,Virtualization,Amazon Linux,AL2,Amaonz Linux 2,How To,Tutorial,i12bretro

## What is Amazon Linux?

> Amazon Linux 2 is a Linux operating system from Amazon Web Services (AWS). It provides a security-focused, stable, and high-performance execution environment to develop and run cloud applications. -https://aws.amazon.com/amazon-linux-2

## Creating the VM

1. Open a web browser and navigate to the ProxMox web UI (ie https://ProxMoxDNSorIP:8006/)
2. Right click the Proxmox node name > Create VM
3. Give the VM a unique ID and Name > Next
4. On the OS tab, Select Do not use any media, leave the Type as Linux and the Version as 5.x - 2.6 Kernel > Next
5. On the System tab, leave the defaults and check the Qemu Agent box to enable it > Next
6. On the Hard Disk tab, delete the scsi0 disk > Next
7. On the CPU tab, set Cores to 1 or more and Type to host > Next
8. On the Memory tab, set the Memory to 512 or more > Next
9. Leave the defaults on the Network tab > Next
10. Verify the summary and click Finish
11. Click the Proxmox node in the left navigation menu > Shell
12. Run the following commands in the web shell
    # lookup the latest amazon linux file name
    regex='<td><a href="([^/]*\.qcow2)">[^/]*<\/a><\/td>' && response=$(curl -s -L https://cdn.amazonlinux.com/os-images/latest/kvm/) && [[ $response =~ $regex ]] && downloadURL="${BASH_REMATCH[1]}"
    # download the amazon linux virtual disk
    wget -O /tmp/al2.qcow2 https://cdn.amazonlinux.com/os-images/latest/kvm/$downloadURL
    # import the downloaded virtual disk
    # update the vmid and destination storage pool to match your environment
    # usage
    # qm importdisk <%target vmid%> <%path to source disk%> <%destination storage device%> [OPTIONS]
    qm importdisk 2000 /tmp/al2.qcow2 SSD_100GB
13. Once the import completes, select the newly created Amazon Linux VM from the left navigation panel
14. Select Hardware from the left sub-navigation menu
15. Double click the Unused Disk to edit it > Click the Add button
16. Click the Add dropdown > CloudInit Drive
17. Set the target storage for the CloudInit drive > Click the Add button
18. Select Cloud-Init from the left sub-navigation menu
19. Edit each of the Cloud-Init fields to set a username, password and DNS/network parameters
20. Select Options from the left sub-navigation menu
21. Double click Boot Order
22. Check the Enabled box next to the hard disk and drag it up in the boot order as needed, typically below the CD-ROM device
23. Click OK
24. Click the Start button in the top right of the screen
25. Select Console from the left sub-navigation menu to watch the boot process

## Setting Up Amazon Linux 2

1. Once the boot process completes, login with the username and password set in the Cloud-Init settings earlier
2. Run the following commands in the terminal
   # elavate to root
   sudo su
   # enable hostname preservation in cloud-init config
   echo -e "\npreserve_hostname: true" >> /etc/cloud/cloud.cfg
   # set the hostname
   hostnamectl set-hostname amazon-linux
   # output hostname details
   hostnamectl
   # update software repositories
   yum check-update
   # install available updates
   yum update
   # install qemu-guest-agent
   yum install qemu-guest-agent -y
   # shutdown
   shutdown now<vmid><storage></storage></vmid>
3. Once the VM has shutdown completely, power it back up on clicking the Start button at the top right of the screen
4. After the boot process completes, login back in
5. Continue with the following command in the terminal
   # verify hostname details were retained
   sudo hostnamectl
6. Welcome to Amazon Linux running in Proxmox