AWS Integration

VM Scaler integrates with your AWS account using Role Delegation, following AWS best practices.

  1. Navigate to your Organization Settings in VM Scaler by clicking your organization name. In the Organization Settings view, click the “Integrations” tab.
  2. Click the “Add Integration” button, input an Integration Name, and select AWS for the Source. integrations-aws-01
  3. Copy the External ID to your clipboard. You will use this in the next step.
  4. Open the AWS Console and navigate to the Create Role page. On the Create Role page, ensure the “Another AWS account” is selected for the type of trusted entity. For the Account ID, input Compute Software’s AWS account ID 734247230719. Check the box for “Require external ID” and paste the External ID you copied in step 3. Click “Next: Permissions”. integrations-aws-02
  5. Select an existing permissions policy or create a new one. The permissions policy you attach should give VM Scaler access to any service integrations you expect to use. See Permissions for Integrations to find the required permissions for each integration. Click “Next: Tags”. integrations-aws-03
  6. Nothing is required on the Add tags step. Click “Next: Review”. integrations-aws-04
  7. Input a role name (i.e. compute-software-aws-integration). Click “Create Role”. integrations-aws-05
  8. Navigate to your new role’s page in the AWS IAM console by clicking on the role name in the green box at the top of the console, or in the list of roles. integrations-aws-06
  9. Copy your Role ARN. Switch back to VM Scaler and paste your Role ARN in the text box. Click “Create”. integrations-aws-07

Permissions for Integrations

Below are the required permissions for each service from Step 5.

CloudWatch

  • cloudwatch:GetMetricData
  • cloudwatch:GetMetricStatistics
  • cloudwatch:ListMetrics

AWS Auto Scaling

  • autoscaling:DescribeAccountLimits
  • autoscaling:DescribeAutoScalingGroups
  • autoscaling:DescribeAutoScalingInstances
  • autoscaling:SetDesiredCapacity

AWS ECS or Fargate

  • ecs:DescribeClusters
  • ecs:DescribeContainerInstances
  • ecs:DescribeServices
  • ecs:ListClusters
  • ecs:ListServices
  • ecs:UpdateService