The answer about setting up the EBS Snapshot management is great, but if you have a one-time need to get rid of a bunch of old snapshots with little effort, you can use an AWS CLI command.
I had a big AWS EC2 Snapshot cleanup job to do, with tens of thousands of old snapshots to delete. Here is a script I used on a linux vbox. The values you may want to change are called out in "TODO".
# AWS Snapshot cleanup
# Delete all snapshots before 2021 that include "SNAPSHOT OF my-env" in the beginning of the description
# Fortified with aws profile, region, and output parameters for scripts that run more than 12 hours so it can be run again even if the cached credentials are stale.
# This fixes the error "an error occurred (requestexpired) when calling the describesnapshots operation: request has expired."
# If your organization uses multi-factor authentication (MFA) be sure you have an active authenticated session when running this script.
#
# TODO: replace the description, StartTime, profile, and region with values appropriate to your situation
# You can add --dry-run to the delete-snapshot command if you want to do a trial run
#
aws --profile prod --region us-east-1 --output text ec2 describe-snapshots --filters Name=description,Values='SNAPSHOT OF my-env*' --query "Snapshots[?(StartTime<='2021-01-01')].[SnapshotId]" | awk \
'{snapid=$0; \
print "Delete snapshot: " snapid; \
system("aws --profile prod --region us-east-1 ec2 delete-snapshot --snapshot-id "snapid)\
count++; \
} \
END { \
print "Finished at:"; system("date"); \
print "Total snapshots deleted: " count \
}'