Get list of official Debian images with awscli

AWS owner ID of AMI images can be checked here: Cloud/AmazonEC2Image/Marketplace.

awscli package have to be installed and AWS credentials configured before to run commands below.

Get list of all official Debian 13 Trixie images:

aws ec2 describe-images --region eu-north-1 --owners 136693071363 --filters 'Name=name,Values=debian-13-*' --query 'reverse(sort_by(Images, &CreationDate))[].[CreationDate,Name,ImageId]' --output table

Output example:

--------------------------------------------------------------------------------------------------
|                                         DescribeImages                                         |
+--------------------------+-------------------------------------------+-------------------------+
|  2025-11-29T15:59:26.000Z|  debian-13-backports-amd64-20251129-2311  |  ami-0b4fad506323747d4  |
|  2025-11-29T15:59:22.000Z|  debian-13-backports-arm64-20251129-2311  |  ami-0c7de8b03968e7b0d  |
|  2025-11-25T14:28:27.000Z|  debian-13-backports-arm64-20251124-2306  |  ami-080cc10bd5016c7de  |
|  2025-11-25T14:28:23.000Z|  debian-13-backports-amd64-20251124-2306  |  ami-014be79bce6b315af  |
|  2025-11-20T14:24:17.000Z|  debian-13-backports-arm64-20251119-2301  |  ami-002e33b624c79c83c  |
|  2025-11-20T14:19:18.000Z|  debian-13-backports-amd64-20251119-2301  |  ami-09468459bef0f7c94  |
|  2025-11-17T19:21:24.000Z|  debian-13-arm64-20251117-2299            |  ami-0e048b1bd45fb6dd0  |
|  2025-11-17T19:20:56.000Z|  debian-13-amd64-20251117-2299            |  ami-04d31621d6b368b6b  |
|  2025-10-06T12:42:23.000Z|  debian-13-arm64-20251006-2257            |  ami-00d10b968cb6e8bf5  |
|  2025-10-06T12:41:19.000Z|  debian-13-amd64-20251006-2257            |  ami-0e63a5a9c1c7e5563  |
|  2025-09-24T23:25:26.000Z|  debian-13-amd64-20250924-2245            |  ami-051c96b67a192ca8c  |
|  2025-09-24T23:25:10.000Z|  debian-13-arm64-20250924-2245            |  ami-0564ccab15f5a5ec7  |
|  2025-09-11T14:09:24.000Z|  debian-13-amd64-20250911-2232            |  ami-0f1459e6b092c1604  |
|  2025-09-11T14:09:23.000Z|  debian-13-arm64-20250911-2232            |  ami-08ccb2a8f52e261b0  |
|  2025-08-14T14:41:02.000Z|  debian-13-arm64-20250814-2204            |  ami-0c866af6bd9a240d4  |
|  2025-08-14T14:40:18.000Z|  debian-13-amd64-20250814-2204            |  ami-0955d1e82085ce3e8  |
|  2025-08-11T13:51:15.000Z|  debian-13-amd64-20250811-2201            |  ami-06bb96ad55a7354eb  |
|  2025-08-11T13:50:40.000Z|  debian-13-arm64-20250811-2201            |  ami-023005e7adc4dd591  |
|  2025-08-06T07:39:53.000Z|  debian-13-arm64-20250806-2196            |  ami-0c21ce422a96d6d51  |
|  2025-08-06T07:39:17.000Z|  debian-13-amd64-20250806-2196            |  ami-0d6a14db9f697e41e  |
+--------------------------+-------------------------------------------+-------------------------+

Get list of all official Debian 13 Trixie images for x86_64 architecture:

aws ec2 describe-images --region eu-north-1 --owners 136693071363 --filters 'Name=architecture,Values=x86_64' 'Name=name,Values=debian-13-*' --query 'sort_by(Images, &CreationDate)[].[CreationDate,Name,ImageId]' --output table

Get only one latest AMI ID of Debian 13 Trixie image for x86_64 architecture:

aws ec2 describe-images --region eu-north-1 --owners 136693071363 --filters 'Name=architecture,Values=x86_64' 'Name=name,Values=debian-13-*' --query 'sort_by(Images, &CreationDate)[-1].[ImageId]' --output text

Old images till Debian 9 Stretch

Images were published from owner 379101102735 and are absent in AWS at 2025.

Create ec2 instance with Debian 13 Trixie

Example: how to create ec2 instance and how to use "cloud-config" parameters (cloud-init).

Next information have to be collected before to execute the script:

Replace all the "XXXXX" before to run the script.

   1 #!/usr/bin/env bash
   2 set -o nounset
   3 set -o errexit
   4 set -o pipefail
   5 
   6 export AWS_DEFAULT_REGION="eu-north-1"
   7 export AWS_PROFILE="default"
   8 NAME="my-srv01"
   9 TAGS="{Key=Temporary,Value=Yes},{Key=Environment,Value=Sandbox},{Key=Name,Value=$NAME}"
  10 AMI="$(aws ec2 describe-images --owners 136693071363 --filters 'Name=architecture,Values=arm64' 'Name=name,Values=debian-13*' --query 'sort_by(Images, &CreationDate)[-1].[ImageId]' --output text)"
  11 # The root disk device name can be vary of guest OS/AMI (for example, /dev/xvda or /dev/sda1), so it is better to get the exact value:
  12 EBS_ROOT_DISK="$(aws ec2 describe-images --image-ids "$AMI" --query 'Images[0].BlockDeviceMappings[0].DeviceName' --output text)"
  13 aws ec2 run-instances --image-id "$AMI" --count 1 --instance-type t4g.micro \
  14  --key-name "XXXXX" \
  15  --security-group-ids sg-XXXXX sg-XXXXX \
  16  --subnet-id subnet-XXXXX \
  17  --no-associate-public-ip-address \
  18  --credit-specification CpuCredits=standard \
  19  --instance-initiated-shutdown-behavior terminate \
  20  --tag-specifications "ResourceType=instance,Tags=[$TAGS]" "ResourceType=volume,Tags=[$TAGS,{Key=MountPoint,Value=/}]" \
  21  --block-device-mapping "DeviceName=${EBS_ROOT_DISK},Ebs={VolumeSize=8,VolumeType=standard,Encrypted=true}" \
  22  --user-data "#cloud-config
  23 hostname: $NAME
  24 swap:
  25   filename: /swapfile01
  26   size: 209715200 # 200 MiB
  27 packages:
  28   - zsh
  29   - mc
  30   - awscli
  31 package_update: true
  32 package_upgrade: true
  33 package_reboot_if_required: true
  34 users:
  35   - default
  36   - name: my-username
  37     groups: [ adm, sudo ]
  38     sudo: [ 'ALL=(ALL) NOPASSWD:ALL' ]
  39     shell: /bin/zsh
  40     ssh-authorized-keys:
  41     - 'ssh-ed25519 AAAAXXXXX my-username@desktop'
  42     - 'ssh-rsa AAAAXXXXX my-username@laptop'
  43 write_files:
  44 - path: /ec2_tags.json
  45   permissions: '0644'
  46   owner: root:root
  47   content: |
  48     $TAGS
  49 "

Output example:

   1 {
   2     "ReservationId": "r-0edfcebb5ab52a155",
   3     "OwnerId": "YYYYY",
   4     "Groups": [],
   5     "Instances": [
   6         {
   7             "Architecture": "arm64",
   8             "BlockDeviceMappings": [],
   9             "ClientToken": "YYYYY",
  10             "EbsOptimized": false,
  11             "EnaSupport": true,
  12             "Hypervisor": "xen",
  13             "NetworkInterfaces": [
  14                 {
  15                     "Attachment": {
  16                         "AttachTime": "2025-12-18T21:42:49+00:00",
  17                         "AttachmentId": "eni-attach-0e0633c2e54fa801f",
  18                         "DeleteOnTermination": true,
  19                         "DeviceIndex": 0,
  20                         "Status": "attaching",
  21                         "NetworkCardIndex": 0
  22                     },
  23                     "Description": "",
  24                     "Groups": [
  25                         {
  26                             "GroupId": "sg-0a4b39a410436f27f",
  27                             "GroupName": "With SSH access"
  28                         }
  29                     ],
  30                     "Ipv6Addresses": [],
  31                     "MacAddress": "0e:ba:3e:c0:87:eb",
  32                     "NetworkInterfaceId": "eni-0d5626a596ed9e247",
  33                     "OwnerId": "YYYYY",
  34                     "PrivateDnsName": "ip-172-31-3-0.eu-north-1.compute.internal",
  35                     "PrivateIpAddress": "172.31.3.0",
  36                     "PrivateIpAddresses": [
  37                         {
  38                             "Primary": true,
  39                             "PrivateDnsName": "ip-172-31-3-0.eu-north-1.compute.internal",
  40                             "PrivateIpAddress": "172.31.3.0"
  41                         }
  42                     ],
  43                     "SourceDestCheck": true,
  44                     "Status": "in-use",
  45                     "SubnetId": "subnet-0ab41b9543e625dd0",
  46                     "VpcId": "vpc-02dd6b32ee1356679",
  47                     "InterfaceType": "interface",
  48                     "Operator": {
  49                         "Managed": false
  50                     }
  51                 }
  52             ],
  53             "RootDeviceName": "/dev/xvda",
  54             "RootDeviceType": "ebs",
  55             "SecurityGroups": [
  56                 {
  57                     "GroupId": "sg-0a4b39a410436f27f",
  58                     "GroupName": "With SSH access"
  59                 }
  60             ],
  61             "SourceDestCheck": true,
  62             "StateReason": {
  63                 "Code": "pending",
  64                 "Message": "pending"
  65             },
  66             "Tags": [
  67                 {
  68                     "Key": "Environment",
  69                     "Value": "Dev"
  70                 },
  71                 {
  72                     "Key": "Temporary",
  73                     "Value": "Yes"
  74                 },
  75                 {
  76                     "Key": "Name",
  77                     "Value": "my-srv01"
  78                 }
  79             ],
  80             "VirtualizationType": "hvm",
  81             "CpuOptions": {
  82                 "CoreCount": 2,
  83                 "ThreadsPerCore": 1
  84             },
  85             "CapacityReservationSpecification": {
  86                 "CapacityReservationPreference": "open"
  87             },
  88             "MetadataOptions": {
  89                 "State": "pending",
  90                 "HttpTokens": "optional",
  91                 "HttpPutResponseHopLimit": 1,
  92                 "HttpEndpoint": "enabled",
  93                 "HttpProtocolIpv6": "disabled",
  94                 "InstanceMetadataTags": "disabled"
  95             },
  96             "EnclaveOptions": {
  97                 "Enabled": false
  98             },
  99             "BootMode": "uefi",
 100             "PrivateDnsNameOptions": {
 101                 "HostnameType": "ip-name",
 102                 "EnableResourceNameDnsARecord": false,
 103                 "EnableResourceNameDnsAAAARecord": false
 104             },
 105             "MaintenanceOptions": {
 106                 "AutoRecovery": "default"
 107             },
 108             "CurrentInstanceBootMode": "uefi",
 109             "Operator": {
 110                 "Managed": false
 111             },
 112             "InstanceId": "i-0a5d5a4a49bb5d537",
 113             "ImageId": "ami-0c7de8b03968e7b0d",
 114             "State": {
 115                 "Code": 0,
 116                 "Name": "pending"
 117             },
 118             "PrivateDnsName": "ip-172-31-3-0.eu-north-1.compute.internal",
 119             "PublicDnsName": "",
 120             "StateTransitionReason": "",
 121             "KeyName": "YYYYY laptop",
 122             "AmiLaunchIndex": 0,
 123             "ProductCodes": [],
 124             "InstanceType": "t4g.micro",
 125             "LaunchTime": "2025-12-18T21:42:49+00:00",
 126             "Placement": {
 127                 "GroupName": "",
 128                 "Tenancy": "default",
 129                 "AvailabilityZone": "eu-north-1c"
 130             },
 131             "Monitoring": {
 132                 "State": "disabled"
 133             },
 134             "SubnetId": "subnet-0ab41b9543e625dd0",
 135             "VpcId": "vpc-02dd6b32ee1356679",
 136             "PrivateIpAddress": "172.31.3.0"
 137         }
 138     ]
 139 }

Inside ec2 virtual machine, after login by SSH:

   1 my-username@my-srv01 ~ % free -mw
   2                total        used        free      shared     buffers       cache   available
   3 Mem:             925         200         264           0          21         519         725
   4 Swap:            199           0         199
   5 my-username@my-srv01 ~ %
   6 my-username@my-srv01 ~ % df -h
   7 Filesystem       Size  Used Avail Use% Mounted on
   8 udev             421M     0  421M   0% /dev
   9 tmpfs             93M  472K   93M   1% /run
  10 /dev/nvme0n1p1   7.7G  1.4G  5.9G  19% /
  11 tmpfs            463M     0  463M   0% /dev/shm
  12 efivarfs         128K  2.8K  126K   3% /sys/firmware/efi/efivars
  13 tmpfs            1.0M     0  1.0M   0% /run/credentials/systemd-journald.service
  14 tmpfs            5.0M     0  5.0M   0% /run/lock
  15 tmpfs            463M     0  463M   0% /tmp
  16 tmpfs            1.0M     0  1.0M   0% /run/credentials/systemd-resolved.service
  17 /dev/nvme0n1p15  127M  9.2M  118M   8% /boot/efi
  18 tmpfs            1.0M     0  1.0M   0% /run/credentials/systemd-networkd.service
  19 tmpfs            1.0M     0  1.0M   0% /run/credentials/getty@tty1.service
  20 tmpfs            1.0M     0  1.0M   0% /run/credentials/serial-getty@ttyS0.service
  21 tmpfs             93M  4.0K   93M   1% /run/user/1000
  22 my-username@my-srv01 ~ %
  23 my-username@my-srv01 ~ % cat /etc/os-release
  24 PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
  25 NAME="Debian GNU/Linux"
  26 VERSION_ID="13"
  27 VERSION="13 (trixie)"
  28 VERSION_CODENAME=trixie
  29 DEBIAN_VERSION_FULL=13.2
  30 ID=debian
  31 HOME_URL="https://www.debian.org/"
  32 SUPPORT_URL="https://www.debian.org/support"
  33 BUG_REPORT_URL="https://bugs.debian.org/"
  34 my-username@my-srv01 ~ %
  35 my-username@my-srv01 ~ % cat /etc/apt/sources.list
  36 # See /etc/apt/sources.list.d/debian.sources
  37 my-username@my-srv01 ~ %
  38 my-username@my-srv01 ~ % cat /etc/apt/sources.list.d/debian.sources
  39 Types: deb deb-src
  40 URIs: mirror+file:///etc/apt/mirrors/debian.list
  41 Suites: trixie trixie-updates trixie-backports
  42 Components: main
  43 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
  44 
  45 Types: deb deb-src
  46 URIs: mirror+file:///etc/apt/mirrors/debian-security.list
  47 Suites: trixie-security
  48 Components: main
  49 Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
  50 my-username@my-srv01 ~ %
  51 my-username@my-srv01 ~ % cat /etc/apt/mirrors/debian.list
  52 https://cdn-aws.deb.debian.org/debian
  53 my-username@my-srv01 ~ %
  54 my-username@my-srv01 ~ % lscpu
  55 Architecture:                aarch64
  56   CPU op-mode(s):            32-bit, 64-bit
  57   Byte Order:                Little Endian
  58 CPU(s):                      2
  59   On-line CPU(s) list:       0,1
  60 Vendor ID:                   ARM
  61   Model name:                Neoverse-N1
  62     Model:                   1
  63     Thread(s) per core:      1
  64     Core(s) per socket:      2
  65     Socket(s):               1
  66     Stepping:                r3p1
  67     BogoMIPS:                243.75
  68     Flags:                   fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
  69 Caches (sum of all):
  70   L1d:                       128 KiB (2 instances)
  71   L1i:                       128 KiB (2 instances)
  72   L2:                        2 MiB (2 instances)
  73   L3:                        32 MiB (1 instance)
  74 NUMA:
  75   NUMA node(s):              1
  76   NUMA node0 CPU(s):         0,1
  77 Vulnerabilities:
  78   Gather data sampling:      Not affected
  79   Ghostwrite:                Not affected
  80   Indirect target selection: Not affected
  81   Itlb multihit:             Not affected
  82   L1tf:                      Not affected
  83   Mds:                       Not affected
  84   Meltdown:                  Not affected
  85   Mmio stale data:           Not affected
  86   Old microcode:             Not affected
  87   Reg file data sampling:    Not affected
  88   Retbleed:                  Not affected
  89   Spec rstack overflow:      Not affected
  90   Spec store bypass:         Mitigation; Speculative Store Bypass disabled via prctl
  91   Spectre v1:                Mitigation; __user pointer sanitization
  92   Spectre v2:                Mitigation; CSV2, BHB
  93   Srbds:                     Not affected
  94   Tsa:                       Not affected
  95   Tsx async abort:           Not affected
  96   Vmscape:                   Not affected
  97 my-username@my-srv01 ~ %
  98 my-username@my-srv01 ~ % lsblk
  99 NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
 100 nvme0n1      259:0    0    8G  0 disk
 101 ├─nvme0n1p1  259:1    0  7.9G  0 part /
 102 └─nvme0n1p15 259:2    0  127M  0 part /boot/efi
 103 my-username@my-srv01 ~ %
 104 my-username@my-srv01 ~ % sudo blkid | sort
 105 /dev/nvme0n1p15: SEC_TYPE="msdos" UUID="50D6-7CC0" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="68d340d7-19f3-4d85-a1b6-b24e7a2a5fc8"
 106 /dev/nvme0n1p1: UUID="fc10d457-d978-4ec5-929f-6f4bbb91a10f" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="2545fbc3-232c-4af4-80ab-b1fd7fd5c47c"
 107 

See also