Manage an Upcoming EOL for AWS
AWS maintains End of Life calendars for RDS, Lambda and Elasticache. Risks of not upgrading and running an unsupported version include forced upgrades, frozen configurations (no changes possible), and ineligibility for technical support and security patches.
You can use a Cortex Scorecard to define and track the progress of your entities migrating to newer versions of RDS, Lambda, and Elasticache. When implemented, the Scorecard in this guide helps you identify services that have or have not yet upgraded.
You can create Scorecards via API, GitOps, or the Cortex UI.
Create AWS EOL Scorecard via API or GitOps
When following a GitOps approach, you can add a Scorecard YAML file to your .cortex/scorecards directory in your version control repository. Note that GitOps must be enabled for Scorecards in your GitOps settings.
You could also use the Cortex API, where you can submit a Scorecard definition in YAML.
Create AWS EOL Scorecard in the Cortex UI
Step 1: Create the Scorecard and configure its basic details
- In Cortex, navigate to Scorecards and click +Create Scorecard. Start with a blank Scorecard. 
- Configure the basic details. - Include a name that helps your users understand the purpose of the Scorecard (e.g., - Upcoming EOL for AWS) and a description.
- Learn more about configuring basic fields for Scorecards in Create a Scorecard. 
 
- Under "Apply to specific entities," narrow the scope of your Scorecard by choosing - RDS,- Lamba, and- AWS Elasticache for Redisentity types. 
Step 2: Add levels and rules
- Under Define evaluation rules, add two levels: - EOL Upgrade Required 
- No Pending EOL Upgrade 
 
- In the "No Pending EOL Upgrade" level, add a rule called - PostgreSQL EOL Version Upgrade Completed. Include a CQL expression that verifies the entities are not on EOL versions. The following rule passes when Aurora PostgreSQL is 13.x or when Aurora MySQL is 8.x:
(jq(aws.details(), ".resources[0].engine") == "aurora-postgresql" AND jq(aws.details(), ".resources[0].engineVersion | startswith(\"13.\")") == true)
OR
(jq(aws.details(), ".resources[0].engine") == "aurora-mysql" AND jq(aws.details(), ".resources[0].engineVersion | startswith(\"8.\")") == true)- Add another rule called - Elasticache EOL Version Upgrade Completed. Include a CQL expression that verifies the entities are not on EOL versions. The following rule passes when Redis is 7.x or newer, Memcached is 1.6 or newer, or if no Elasticache exists for the entity:
(jq(aws.details(), ".resources[0].metadata.engine") == "redis" AND jq(aws.details(), ".resources[0].metadata.engineVersion | split(\".\")[0] | tonumber") >= 7)
OR
(jq(aws.details(), ".resources[0].metadata.engine") == "memcached" AND jq(aws.details(), ".resources[0].metadata.engineVersion | split(\".\")[0] | tonumber") >= 1 AND jq(aws.details(), ".resources[0].metadata.engineVersion | split(\".\")[1] | tonumber") >= 6)- At the bottom of the page, click Save Scorecard. 
Last updated
Was this helpful?