Skip to content

Latest commit

 

History

History

rightsize_managed_sql_storage

Azure Rightsize SQL Managed Instance Storage

What It Does

This policy checks the storage usage for all Azure SQL Managed Instances and determines if a smaller maximum storage space would be viable. A report is created with these recommendations that can optionally be emailed, and overprovisioned resources can optionally be downsized.

Policy Savings Details

The policy includes the estimated monthly savings. The estimated monthly savings is recognized if the SQL Managed Instance is replaced with a new one using the recommended maximum storage space.

  • The Estimated Monthly Savings is calculated by subtracting the monthly cost of the recommended maximum storage space from the current maximum storage space.
  • Azure list price is used to determine the cost of the current and recommended maximum storage spaces. Pricing is converted from USD to local currency based on current exchange rates when applicable.
  • The incident message detail includes the sum of each resource Estimated Monthly Savings as Potential Monthly Savings.
  • Both Estimated Monthly Savings and Potential Monthly Savings will be reported in the currency of the Flexera organization the policy is applied in.

Input Parameters

  • Email Addresses - Email addresses of the recipients you wish to notify when new incidents are created.
  • Azure Endpoint - The endpoint to send Azure API requests to. Recommended to leave this at default unless using this policy with Azure China.
  • Minimum Savings Threshold - Minimum potential savings required to generate a recommendation.
  • Allow/Deny Subscriptions - Determines whether the Allow/Deny Subscriptions List parameter functions as an allow list (only providing results for the listed subscriptions) or a deny list (providing results for all subscriptions except for the listed subscriptions).
  • Allow/Deny Subscriptions List - A list of allowed or denied Subscription IDs/names. If empty, no filtering will occur and recommendations will be produced for all subscriptions.
  • Allow/Deny Regions - Whether to treat Allow/Deny Regions List parameter as allow or deny list. Has no effect if Allow/Deny Regions List is left empty.
  • Allow/Deny Regions List - Filter results by region, either only allowing this list or denying it depending on how the above parameter is set. Leave blank to consider all the regions.
  • Exclusion Tags - The policy will filter resources containing the specified tags from the results. The following formats are supported:
    • Key - Filter all resources with the specified tag key.
    • Key==Value - Filter all resources with the specified tag key:value pair.
    • Key!=Value - Filter all resources missing the specified tag key:value pair. This will also filter all resources missing the specified tag key.
    • Key=~/Regex/ - Filter all resources where the value for the specified key matches the specified regex string.
    • Key!~/Regex/ - Filter all resources where the value for the specified key does not match the specified regex string. This will also filter all resources missing the specified tag key.
  • Exclusion Tags: Any / All - Whether to filter instances containing any of the specified tags or only those that contain all of them. Only applicable if more than one value is entered in the Exclusion Tags field.
  • Storage Downgrade Threshold (%) - The percentage of free storage space that recommendations should always include. Recommendations will always be for a storage size that would result in at least this percentage of free space based on current usage.
  • Automatic Actions - When this value is set, this policy will automatically take the selected action(s).

Please note that the "Automatic Actions" parameter contains a list of action(s) that can be performed on the resources. When it is selected, the policy will automatically execute the corresponding action on the data that failed the checks, post incident generation. Please leave it blank for manual action. For example if a user selects the "Downsize SQL Managed Instances Storage" action while applying the policy, all the SQL Managed Instances that didn't satisfy the policy condition will have their storage reduced.

Policy Actions

  • Sends an email notification
  • Downsize Azure SQL Managed Instance storage (if overprovisioned) after approval

Prerequisites

This Policy Template uses Credentials for authenticating to datasources -- in order to apply this policy you must have a Credential registered in the system that is compatible with this policy. If there are no Credentials listed when you apply the policy, please contact your Flexera Org Admin and ask them to register a Credential that is compatible with this policy. The information below should be consulted when creating the credential(s).

Credential configuration

For administrators creating and managing credentials to use with this policy, the following information is needed:

  • Azure Resource Manager Credential (provider=azure_rm) which has the following permissions:

    • Microsoft.Sql/managedInstances/read
    • Microsoft.Sql/managedInstances/metrics/read
    • Microsoft.Sql/managedInstances/update*
    • Microsoft.Insights/metrics/read

    * Only required for taking action (deleting or downsizing); the policy will still function in a read-only capacity without these permissions.

  • Flexera Credential (provider=flexera) which has the following roles:

    • billing_center_viewer

The Provider-Specific Credentials page in the docs has detailed instructions for setting up Credentials for the most common providers.

Supported Clouds

  • Azure

Cost

This policy template does not incur any cloud costs.