{"id":35013688,"url":"https://github.com/ezhuk/aws-tools","last_synced_at":"2025-12-27T05:08:16.375Z","repository":{"id":12714129,"uuid":"15386716","full_name":"ezhuk/aws-tools","owner":"ezhuk","description":"A set of auxiliary tools for AWS.","archived":false,"fork":false,"pushed_at":"2014-09-27T23:53:41.000Z","size":2012,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-08-02T01:38:25.358Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ezhuk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-12-23T03:19:23.000Z","updated_at":"2019-04-10T18:29:09.000Z","dependencies_parsed_at":"2022-09-23T09:30:55.316Z","dependency_job_id":null,"html_url":"https://github.com/ezhuk/aws-tools","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"purl":"pkg:github/ezhuk/aws-tools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezhuk%2Faws-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezhuk%2Faws-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezhuk%2Faws-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezhuk%2Faws-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ezhuk","download_url":"https://codeload.github.com/ezhuk/aws-tools/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ezhuk%2Faws-tools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28072722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-27T05:08:16.077Z","updated_at":"2025-12-27T05:08:16.361Z","avatar_url":"https://github.com/ezhuk.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS Tools\n\nThis is a set of auxiliary tools for Amazon Web Services (AWS).\n\n## What's included\n\n### 1. Auto Scaling\n\n#### configure_auto_scaling.py\n\nConfigures AWS Auto Scaling to automatically manage system capacity based on\nan average CPU usage. It takes care of setting up a new launch configuration\nand an auto scaling group, scaling policies and metric alarms to automatically\nprovision or shutdown one or more EC2 instances if an average CPU utilization\nexceeds the maximum threshold or goes below the minimum threshold respectively.\n\n```bash\n./configure_auto_scaling.py \\\n    --name TEST \\\n    --image ami-a8d3d4ed \\\n    --type t1.micro \\\n    --key MyKeyPair \\\n    --group MySecurityGroup \\\n    --min 2 \\\n    --max 8 \\\n    --min-threshold 30 \\\n    --max-threshold 70 \\\n    --adjustment 1 \\\n    --zone us-west-1a \\\n    --load-balancer MyLoadBalancer\n```\n\n#### haproxy_autoscale.py\n\nKeeps track of EC2 instances behind [HAProxy](http://haproxy.1wt.eu/) that are\nassociated with one or more security groups and updates its configuration if\nthey change. This allows to automatically direct traffic to the currently\nrunning instances and remove the ones that are no longer used.\n\nThis tool is supposed to be run periodically (e.g., every minute or so) and\ncan be configured as a cron job as follows:\n\n```bash\n*/1 * * * * user /usr/sbin/haproxy_autoscale.py --group MySecurityGroup\n```\n\n#### shutdown_auto_scaling.py\n\nGracefully shuts down a previously created Auto Scaling configuration. This\nscript also deletes scaling policies, metric alarms and launch configuration\nassociated with the specified Auto Scaling group.\n\n```bash\n./shutdown_auto_scaling.py --name TEST\n```\n\n### 2. Billing\n\n#### check_usage.py\n\nRetrieves AWS usage information for the specified billing period and displays\nestimated total charges (including credits, if any). Note that for this to work,\nreceiving monthly billing reports must be enabled in account preferences.\n\n```bash\n./check_usage.py --bucket MyBucket\n```\n\n#### configure_billing_alert.py\n\nSets up a billing alert to keep track of monthly charges across AWS services so\nthat an email notification gets sent to the specified email address whenever the\nestimated monthly charges exceed the specified threshold. Note that metric data\nmonitoring must be enabled in billing preferences prior to configuring this alert.\n\n```bash\n./configure_billing_alert.py \\\n    --email name@example.com \\\n    --name BillingAlert-1000 \\\n    --threshold 1000\n```\n\n### 3. Elastic Compute Cloud\n\n#### check_image_status.py\n\nDisplays the current status of one or more AMIs.\n\n```bash\n./check_image_status.py --image ami-012345ab\n```\n\n#### check_snapshot_status.py\n\nChecks the current status of one or more existing AWS Elastic Block Store (EBS)\nsnapshots and displays progress bar(s) with percentage of completion.\n\n```bash\n./check_snapshot_status.py --snapshot snap-012345ab\n```\n\n#### check_volume_status.py\n\nShows the current status of one or more AWS Elastic Block Store (EBS) volumes.\n\n```bash\n./check_volume_status.py --volume vol-012345ab\n```\n\n### 4. Elastic Load Balancing\n\n#### configure_ssl_policy.py\n\nConfigures certain recommended server-side TLS settings for the default HTTPS\nlistener on an Elastic Load Balancer (ELB). Even though ELB supports latest\nTLS versions and recommended ciphers they are not enabled by default for some\nreasons.\n\nThis script enables the most recent and more secure TLS v1.2 and v1.1 versions,\nstrong ciphers, including ECDHE to enable forward secrecy, and order preferences.\n\n```bash\n./configure_ssl_policy.py --load-balancer MyLoadBalancer\n```\n\n### 5. Simple Storage Service\n\n#### compress_object.py\n\nCompresses one or more files stored on Amazon S3. The way it works is that the script\ndownloads the specified object onto a local filesystem, compresses it using gzip and\nthen uploads it back on S3. Note that a full path to an S3 object is required.\n\n```bash\n./compress_object.py s3://foo/bar\n```\n\n### 6. Simple Notification Service\n\n#### confirm_subscription.py\n\nConfirms an HTTP(S) endpoint subscription to an Amazon Simple Notification Service\n(SNS) topic by visiting the URL specified in the confirmation request from SNS.\nIt is supposed to run on the endpoint that is going to be subscribed.\n\n```bash\n./confirm_subscription.py --port 8080\n```\n\n### 7. Simple Queue Service\n\n#### delete_messages.py\n\nThis script allows to purge all outstanding messages from the specified Simple Queue\nService (SQS) queue.\n\n```bash\n./delete_messages.py --queue MyQueue\n```\n\n## License\n\nLicensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezhuk%2Faws-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fezhuk%2Faws-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fezhuk%2Faws-tools/lists"}