AWS Copilot is an open source command line interface that makes it easy for developers to build, release, and operate production ready containerized microservices on Amazon ECS and AWS Fargate. AWS Copilot provides a simple declarative set of commands, including examples and guided experiences built in to help customers deploy quickly. After writing your application code, Copilot automates each step in the deployment lifecycle including pushing to a registry, creating a task definition, and creating a cluster.
Default application types are provided for new applications based upon AWS best practices to increase developer productivity and simplify running containers in the cloud. All you need to spin up production ready services is AWS Copilot, an AWS account, and your code.
You can install AWS Copilot on Linux, Mac OS and Windows 10. The detailed instructions for the installation is available here.
If you want to natively run AWS Copilot on Windows 10, there is an .exe file for installation in the above mentioned link. In this post, i will walkthrough on how to set up AWS Copilot on Windows Subsystem for Linux (WSL2.
Step1 – Install WSL2 on Windows 10.
Step 2 – Install Docker Desktop on Windows by leveraging WSL2 backend
Step 3 – Install build essential package on WSL2 distro
sudo apt install build-essential
Step 4 – Install and configure AWS CLI on WSL2 distro
sudo apt install awscli
Step 5 – Install Docker on WSL2 Distro
sudo apt install docker.io
Step 6 – Ensure Docker engine on Windows 10 host leverages WSL2 Distro
Step 7 – Install AWS Copilot on WSL2 distro
curl -Lo copilot https://github.com/aws/copilot-cli/releases/latest/download/copilot-linux && chmod +x copilot && sudo mv copilot /usr/local/bin/copilot && copilot --help
Step 8 – Containerize and run a sample micro-service
git clone https://github.com/aws-samples/aws-copilot-sample-service.git
Copilot would interact with you with guided questions to initialize the configuration for the micro-service.
copilot svc deploy
Copilot will set up the following resources in your AWS account.
- A VPC
- Subnets/Security Groups
- Application Load Balancer
- Amazon ECR Repositories
- ECS Cluster & Service running on AWS Fargate
Once the deployment is complete, you should see this public load balanced service up and running.
This completes the steps for setting up AWS Copilot on Windows Subsytem for Linux.