Skip to main content

Triage and Remediation

Remediation

Using Console

To remediate “Redshift clusters should allow version upgrade” in the AWS Console, you need to enable “Allow version upgrade” on each cluster.

Step-by-step in AWS Console

  1. Sign in to AWS Console
  2. Open Amazon Redshift
    • In the services search bar, type “Redshift” and select Amazon Redshift.
  3. Go to Clusters
    • In the left navigation pane, click “Provisioned clusters” (or “Clusters” if that’s what you see).
    • You’ll see a list of existing Redshift clusters.
  4. Select the Cluster
    • Click the name of the cluster you want to fix.
    • This opens the cluster details page.
  5. Edit Cluster Settings
    • On the cluster details page, look for the “Actions” button or an “Edit” button (UI varies slightly by console version).
    • Choose “Edit” (or “Modify”).
  6. Enable Allow Version Upgrade
    • In the edit/modify form, scroll to the “Maintenance” or “Cluster configuration” section.
    • Find the checkbox or toggle named “Allow version upgrade”.
    • Set it to enabled/checked.
  7. Save Changes
    • Scroll to the bottom and click “Save changes” or “Modify cluster”.
    • Confirm if a confirmation dialog appears.
  8. Repeat for Other Clusters
    • Repeat steps 4–7 for each Redshift cluster that needs this setting enabled.
After this, during Redshift maintenance windows, the cluster will be able to upgrade to newer engine versions automatically.
To fix “Redshift Clusters Should Allow Version Upgrade” using AWS CLI, you need to set --allow-version-upgrade to true on each cluster.Below are concise, step-by-step instructions.

1. List all Redshift clusters

This returns cluster identifiers (space-separated).

2. Check current AllowVersionUpgrade setting (optional)

For a specific cluster:

3. Enable version upgrade for a single cluster

--allow-version-upgrade without a value means true.

4. Enable version upgrade for all clusters (bash loop)


5. Verify remediation

All clusters should show AllowVersionUpgrade as True.
To remediate “Redshift Clusters Should Allow Version Upgrade” using Python (boto3), you need to set AllowVersionUpgrade=True on the cluster(s).Below is a concise step‑by‑step.

1. Prerequisites

  • AWS credentials configured (via environment variables, AWS profile, or IAM role).
  • boto3 installed:

2. Identify Redshift clusters where AllowVersionUpgrade is False


3. Enable version upgrade on those clusters


4. Verify remediation


If you want this to run automatically (e.g., as part of a Lambda remediation), the core logic is the remediate_all() function; you just need to adapt it into a Lambda handler and configure appropriate IAM permissions (redshift:DescribeClusters and redshift:ModifyCluster).
Substitute:
  • YOUR_CLUSTER_IDENTIFIER with the Redshift cluster identifier,
  • YOUR_NODE_TYPE with the desired node type (e.g., dc2.large),
  • YOUR_MASTER_USERNAME / YOUR_MASTER_PASSWORD with your credentials.
This change updates the existing cluster in place (no forced replacement), though Redshift may perform version upgrades during maintenance windows.To verify, terraform plan should show an in-place update with:
  • allow_version_upgrade: "false" => "true" (or from its previous value to true) and no -/+ replacement indicator on the cluster.