AWS EC2 Manager is a Python-based GUI tool for managing AWS EC2 instances. With a user-friendly interface, it allows users to efficiently manage their EC2 instances by providing functionalities to start, stop, reboot instances, and copy their IP addresses. The tool supports multiple AWS accounts, making it ideal for users managing resources across different environments or clients.
- List EC2 Instances: Display details such as Name, Instance ID, State, IP Address, and Launch Time.
- Manage Instances: Start, Stop, and Reboot individual instances with easy-to-use buttons.
- Copy IP Address: Quickly copy the IP address of an instance to the clipboard.
- Bulk Actions: Start, Stop, and Refresh all instances with a single click.
- Multiple AWS Accounts: Seamlessly switch between different AWS accounts.
- Python 3.6+
- Boto3
- Tkinter
-
Clone the repository:
git clone https://github.com/yourusername/aws-ec2-manager.git cd aws-ec2-manager -
Create and activate a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Create the AWS accounts configuration file: Create a file named
aws_accounts.jsonin the root directory with the following structure:{ "accounts": [ { "name": "Account 1", "access_key": "YOUR_ACCESS_KEY", "secret_key": "YOUR_SECRET_KEY", "region": "YOUR_REGION" }, { "name": "Account 2", "access_key": "YOUR_ACCESS_KEY", "secret_key": "YOUR_SECRET_KEY", "region": "YOUR_REGION" } ] }
-
Run the application:
python aws.py
-
Select an AWS account from the dropdown menu.
-
Click "Refresh" to load the list of EC2 instances.
-
Use the provided buttons to Start, Stop, Reboot, or Copy IP of individual instances.
-
Use the "Start All", "Stop All", and "Refresh All" buttons to perform actions on all instances.
This project is licensed under the MIT License. See the LICENSE file for details.
