def METHOD_NAME(
    self, volume_size: int, tags: Optional[List[Dict[str, str]]], description: str
) -> EBSSnapshot:
    zone_name = f"{self.region_name}a"
    vol = self.ec2_backend.create_volume(size=volume_size, zone_name=zone_name)
    snapshot = self.ec2_backend.create_snapshot(
        volume_id=vol.id, description=description
    )
    if tags:
        snapshot.add_tags({tag["Key"]: tag["Value"] for tag in tags})
    ebs_snapshot = EBSSnapshot(account_id=self.account_id, snapshot=snapshot)
    self.snapshots[ebs_snapshot.snapshot_id] = ebs_snapshot
    return ebs_snapshot