This project is part of the Cloud Computing Term Project for the 2024 2nd Semester. The goal is to implement AWS EC2 instance management functionalities using AWS Java SDK and REST API. The project covers key concepts and tasks from Chapter 9.
The project supports the following commands:
- listinstance: Lists all running EC2 instances.
- availablezones: Retrieves the available availability zones in the selected region.
- startinstance: Starts a stopped EC2 instance.
- availableregions: Lists all available AWS regions.
- stopinstance: Stops a running EC2 instance.
- createinstance: Launches a new EC2 instance.
- rebootinstance: Reboots an existing EC2 instance.
- listimages: Retrieves a list of available AMIs (Amazon Machine Images).
- quit: Exits the application.
- Java: Primary programming language.
- AWS Java SDK: Interacts with AWS services.
- Spring Boot: Framework for building REST APIs.
- AWS EC2: Cloud service for managing virtual machines.
- CondorPool: Integrated for instance orchestration.
-
AWS Account:
- Create an IAM user with programmatic access.
- Attach the necessary permissions for EC2 management.
- Obtain the
awsAccessKeyIdandawsSecretAccessKey.
-
Development Environment:
- Java JDK 17 or higher.
- Maven or Gradle for dependency management.
- AWS CLI (optional, for additional manual testing).
- Clone the repository:
git clone https://github.com/your-username/aws-ec2-management.git cd aws-ec2-management