This tutorial covers importing Fargate-enabled ECS clusters into Spotinst Elastigroups. Spotinst Elastigroups provision, manage and scale the instances and clusters required to run your containers in the most cost-efficient way possible.
This makes Elastigroups an obvious choice for those looking to cut the costs of their AWS Fargate-enabled ECS clusters and still retain their focus on the applications without having to manage the underlying infrastructure.
To import a Fargate-enabled ECS cluster, Spotinst clones the selected Fargate services and runs them with the same VPC & Subnet settings on EC2 Spot Instances.
Elastigroup automatically and seamlessly predicts and replaces Spot Instances before they are interrupted, ensuring the uptime of the cluster and providing cost-savings of up to 90% over Fargate-enabled ECS clusters.
- Connected AWS account to Spotinst console
- Updated Spotinst policy. Learn more on update Spotinst policy.
- Make sure you have the ecsInstanceRole, if not create a new one.
Step 1: Use case screen
Select the “Existing Fargate/ECS” Use case from the use case screen.
Step 2: Select your ECS Fagrate Cluster & Services
Fill in your desired Elastigroup name, as well as the region and name of your ECS cluster running Fargate tasks.
You will be shown with a list of detected services, from which to select which Fargate services you would like to import into Elastigroup.
Last step before starting the import process will be to review your Elastigroup configuration and click the the “Create” button:
On completion you’ll see the success notice:
Step 3: Begin The Import Process
Once your Elastigroup is created, you can track the fargate service import process by clicking the ‘details’ link in the banner that appears in the elastigroup overview screen.
You will be able to see which services are currently being imported, and in what state they are currently in.
Step 4: Import Complete
Once elastigroup is finished importing all of your fargate services, the elastigroup auto-scaler will start spinning up spot instances according to the services imported, making sure that the instances being spun are optimal according to the service size definition.
You can gradually scale down your previous Fargate services, and switch to using the same containerized services using elastigroup.