Overview
Alibaba Cloud Function Compute deprecates runtimes when the underlying language or runtime environment is no longer maintained. Deprecated runtimes no longer receive technical support or security updates, and Alibaba Cloud can block new function creation or updates for those runtimes.
Upgrade functions that still use deprecated runtimes so the serverless runtime receives security maintenance and remains deployable.
Remediation guidance
Remediation
Update the Function Compute runtime to a supported version. Keep the existing handler, trigger, environment, and deployment package settings unless the runtime migration requires code changes.
Alibaba Cloud CLI / OpenAPI
Use the Function Compute UpdateFunction operation to set the new runtime. Replace {{manual.serviceName}} and {{manual.targetRuntime}} with the owning service and approved runtime, such as nodejs20, python3.10, java11, or another runtime supported in your Region.
aliyun fc-open UpdateFunction \
--region {{asset.region}} \
--serviceName {{manual.serviceName}} \
--functionName {{asset.name}} \
--body '{"runtime":"{{manual.targetRuntime}}"}'
Validate the runtime after the update:
aliyun fc-open GetFunction \
--region {{asset.region}} \
--serviceName {{manual.serviceName}} \
--functionName {{asset.name}}
Rollout guidance
- Test the migrated function with the same triggers and event payloads before production rollout.
- Rebuild native dependencies for the new runtime environment.
- Update IaC and deployment templates so deprecated runtime identifiers cannot be reintroduced.
- Prioritize public HTTP functions and functions with privileged RAM roles.
References
- https://www.alibabacloud.com/help/en/functioncompute/fc/user-guide/runtime-overview-3
- https://www.alibabacloud.com/help/en/functioncompute/fc-2-0/developer-reference/api-fc-open-2021-04-06-updatefunction
Query logic
These are the stored checks tied to this control.
Alibaba Cloud Function Compute functions using deprecated runtimes
Connectors
Covered asset types
Expected check: eq []
{
functions(
where: {
cloudProvider: { eq: "alibaba" }
runtime_IN: [
"nodejs10"
"nodejs8"
"nodejs6"
"nodejs4.4"
"python2.7"
"dotnetcore2.1"
]
}
) {
...AssetFragment
}
}
Alibaba Cloud